Most users (and I have to include myself here) are not overly interested in underlying architectures, only in running the game, office and browsing applications that are the consumers of 99.99% of the CPU cycles out there. These applications are built on top of a large pile of software layers virtualizing the CPU, memory, storage devices and network architectures. These layers also provide familiar (POSIX for instance) interfaces for the application designers to use.
Here lies the basic problem with new low level architectures: The applications will not be produced for these architectures because those middle layers do not exist - and vice versa. Radicaly different architectures (and massively parallel CPUs such as the yours fall into this category) have even larger problems because not only do the lower layers do not exist, but the theoretical work to properly exploit them are not well developed, and competence to use (for instance) highly multiple threading at those and the application level do not exist in the developer community.
This makes the already huge barrier to entry to new processors into a mountain range insofar as large market penetration (which can only be acheived by supplying those end user applications).
So...while I believe that the hardware is deeply cool, my questions are:
1) Raw CPU power is well and good, but it is just 'revving the engine' without the (large) software virtualization layers needed to exploit it. Where do expect that software to come from?
2) How many people to you expect to purchase/use these CPUs without application software? Without even hardware virtualization?
3) Do you have in mind any 'killer application' that would enable this design to survive perhaps in some niches?
Now, this might sound that I am being very negative here - and in a sense I am - but not because I do not believe the future of massively parallel processing (MPP) (because I DO believe!), but because there have been no shortage of similar approaches in the past (transputer for instance) that have hit the same barrrier reef and foundered, either sinking out of site immediately or surviving in undeserved exile in some tiny niche applications.
It seems to me that to enable this sort of MPP entrant to succeed needs a concerted effort to
a) Enable affordable access to motherboards
b) 'Conventional' language support (gcc?)
c) Software virtualization for the hardware etc. i.e. an operating system
d) Drivers
e) Training in multii-threading development.
If this seems to be a lot of work that is because it is!
I buy around 50 books a year, and I would happily get them in the eversion instead of dead trees if they were no priced as or MORE expensive than hard cover versions.
That really hurts when you begin to think about production and distribution costs. Damned if I will up their profit margins by 200-300%
You should try what I call the big Bs
Lois Bujold
David Brin
Greg Bear
This sounds ok with me as long as it doesn't interfere with my orbital mind control lasers.
Most users (and I have to include myself here) are not overly interested in underlying architectures, only in running the game, office and browsing applications that are the consumers of 99.99% of the CPU cycles out there. These applications are built on top of a large pile of software layers virtualizing the CPU, memory, storage devices and network architectures. These layers also provide familiar (POSIX for instance) interfaces for the application designers to use.
Here lies the basic problem with new low level architectures: The applications will not be produced for these architectures because those middle layers do not exist - and vice versa. Radicaly different architectures (and massively parallel CPUs such as the yours fall into this category) have even larger problems because not only do the lower layers do not exist, but the theoretical work to properly exploit them are not well developed, and competence to use (for instance) highly multiple threading at those and the application level do not exist in the developer community.
This makes the already huge barrier to entry to new processors into a mountain range insofar as large market penetration (which can only be acheived by supplying those end user applications).
So...while I believe that the hardware is deeply cool, my questions are:
1) Raw CPU power is well and good, but it is just 'revving the engine' without the (large) software virtualization layers needed to exploit it. Where do expect that software to come from?
2) How many people to you expect to purchase/use these CPUs without application software? Without even hardware virtualization?
3) Do you have in mind any 'killer application' that would enable this design to survive perhaps in some niches?
Now, this might sound that I am being very negative here - and in a sense I am - but not because I do not believe the future of massively parallel processing (MPP) (because I DO believe!), but because there have been no shortage of similar approaches in the past (transputer for instance) that have hit the same barrrier reef and foundered, either sinking out of site immediately or surviving in undeserved exile in some tiny niche applications.
It seems to me that to enable this sort of MPP entrant to succeed needs a concerted effort to
a) Enable affordable access to motherboards
b) 'Conventional' language support (gcc?)
c) Software virtualization for the hardware etc. i.e. an operating system
d) Drivers
e) Training in multii-threading development.
If this seems to be a lot of work that is because it is!
I buy around 50 books a year, and I would happily get them in the eversion instead of dead trees if they were no priced as or MORE expensive than hard cover versions. That really hurts when you begin to think about production and distribution costs. Damned if I will up their profit margins by 200-300%