I think that it is possible. I don't know much about the 'Cell' architecture, but it seems to be of a similar design - parallel groups of execution resource units operating in parallel. As for compilier support and reliance on a "smart" compilier - don't hold your breath. Intel has been going that approach with IA-64, and it hasn't really gotten them that far. There's only so much information that can be known statically at compile time. HP proved that with their 'Dynamo' project research, which can dynamically optimize running code through dynamic binary translation, based on what it "learns" about the code during runtime. Similarly, hardware decoders and caches/predictors, can obtain more information about the behavior of the code than can any particular compilier. Plus, you end up with the "brittleness" problem, which I feel is going to be an issue with IA-64, much moreso than IA-32. If the code in question is effectively "statically scheduled", and very tightly coupled to one specific CPU implementation of the IA-64 architecture, then those binaries will likely either not run at all, or run very in-efficiently on other upcoming members of the family. The answer of course is to re-compile the code, but lack of straight binary-compatibility between different members of the same CPU architecture family tends to dissuade customers from upgrading their software. That is one of the major reasons why IA-64 will never see widespread commercial adoption, IMHO. The only places that will use it are places doing scientific research, etc., who have the don't purchase commercial applications, but rather write their own, and have the source code to re-compile them if necessary.