Multicore technology will no doubt be a boon to the data center in that it will lead to a steady stream of hardware efficiency gains that will improve both processing power and the bottom line. But the developer community is still contending with a number of architectural issues in the transition from old software models to new multi-threaded designs.
Indeed, it's still a question as to whether it's even possible to design for a multi-threaded environment without reverting to very basic forms of code and all the cost and error potential that comes with that.
That's basically the impetus behind Intel's new "exoskeleton," the latest design innovation in the company's drive to produce chips with 80 cores or more. The design is an attempt to resolve many of the traffic, heat and latency issues that so many cores would generate by allowing software to view multicores as plain-old singles.
The two key technologies in the exoskeleton are the Accelerator Exoskeleton that is transparent to the OS but identifiable to the application, and a series of binary "opcodes" that are inserted into binary executable files to coordinate between the Accelerator Exoskeleton and external acceleration resources. Working together, they allow parallel resources to be viewed as simple extensions of the CPU, rather than as complex layers of specialized functions.
A chip-level solution that allows software to view multicores as a single entity would be a giant improvement over the current state-of-the-art. A particularly tricky environment is non-uniform memory architectures (NUMAs), in which each core has its own memory space. Data must be transferred to the core before it is actually needed, leading to a raft of double-buffering and pipeline techniques that take a big chunk out of latency.
Even DSP vendors, who have been working with multicores for many years now (yes, there is a world of development outside the x86), are having to contend with increasingly complex workload partitioning schemes that are lessening the ease-of-use advantages that gave the chips a competitive edge in the first place.
The technology gurus at Intel admit that the exoskeleton is still in development, with a number of issues to be resolved before a commercial product can be finalized. And they should know more than anyone that, with design architectures already as small as they can get, there's no real way to extend Moore's Law without multicore.