Multicore and massively parallel chips are gaining momentum in embedded applications, and their increasing market acceptance is likely to have some interesting consequences. One of these, I believe, may be that companies that make massively parallel chips and tools—and their customers—will have to grapple with “stickier” software.
In general, each multicore processor vendor has a different approach to supporting multicore software development. For example, Tilera and picoChip both offer massively parallel chips, but their development environments are quite different. PicoChip users partition applications into sub-blocks, then create a VHDL-like description of the blocks’ input/output bandwidth, data types, and bus connections. The functionality of each block is implemented using C and assembly. Tilera users also partition the workload across cores, but then go directly to C/C++ with intrinsics, using a programming paradigm that is more similar to that of traditional single-core processors.
Balancing workloads across multiple processor cores is often a challenging process. The effort invested in partitioning an application on one multicore chip isn’t likely to be transferrable to another chip.
As a result of all of these factors, it is typically harder to move software from one multicore processor to another, vs. moving from one single-core processor to another. This raises the stakes on processor selection, and may make it less likely that customers will switch processors, even if their original choice turns out to be less than optimal.
“Software stickiness” may affect chip vendors’ business strategies as well. For example, many big companies are accustomed to letting smaller competitors develop processors that are on the “bleeding edge” of a technology or application space. Then, once the technologies have matured and stabilized a bit, the big companies swoop in and dominate the fledgling market. But if multicore software is stickier, it may be harder for a big company to horn in, since their prospective customers are already “stuck” with a smaller companies’ solution.
I believe that the industry’s shift towards multicore processors will change many paradigms, both technical and strategic. Companies that give some thought to the more subtle consequences of this shift may come out ahead in the long run. Jennifer Eyre White of BDTI contributed to this column.