Moving to Multicore
Multi-chip, multi-processing, multi-execution path technologies have been available for decades and have been used to solve complex problems and improve performance. Since single-core technology could address the vast majority of compute needs with constantly increasing performance, the tools and buzz was centered on single-core processors.
The computer world is changing as should be the case. Three factors continue to be the key drivers:
- Power: Increasing the MHz for a single core is approaching the physical limits. Whether the product is battery-operated or tethered by a power cord, developers are seeking to improve the performance/watt ratio.
- Performance: Application features and functionality will continue to expand, which fuels increasing compute performance.
- Consolidation: The progression of more capabilities on a single chip. Applications currently running on multiple processors will move to multicore, and applications currently running on multicore will move to denser multicore chips.
The programming model chosen for multicore applications must have the flexibility to address all three factors. While addressing power has been the focus of many single-core applications moving to multicore, the discussion presented addresses the latter two factors – consolidation and performance.