[Technology Report]
Multicore Projects Mean Multiple Choices
Multicore solutions may be finding their way into more projects, but opinions vary on the best architecture to use.
Part of this fundamental shift by systems engineers must be to rethink their design approach. If it’s a bottom-up approach in which the processing requirements are determined based on performance, memory, and other system-related parameters, it could spell disaster downstream.
“If you are thinking about business application software, you think from the top down, from the software to the hardware. In the embedded space, we still think from the bottom up, which creates slow development processes and missed opportunity because the product gets out too late,” says Michel Genard, vice president of marketing for Virtutech.
According to Genard, around 50% of embedded designs never see the light of day because of this flawed way of thinking, and designs are driven based on performance parameters and not business requirements. “Instead, we need iterative hardware and software development that speeds overall timeto- market,” says Genard.
To improve your chances, consider a system-level virtualizing approach to the software rather than a componentlevel approach (see the figure). When done right, Genard notes, this approach “provides the speed, scalability, and control necessary for successful concurrent software/hardware development.”
HERE TO STAY • As more silicon is delivered with multicore architectures, marketing departments for companies large and small will continue to find uses for them. Therefore, we must embrace multicore and continue to research the ideal architecture/ software mix to stay on the leading edge.
To that end, it would appear all paths for multicore lead to parallel programming, along with more sophisticated architecture solutions for intra-processor communications and the promise of software transactional memory. According to Agarwal, we must change how cores are connected and determine the ideal size of resources, arguing that distributed meshes and smaller cache sizes are the wave of the future.
With so many problems plaguing multicore, there’s a huge potential for startups to take the lead and maybe one day find a job for all of those unemployed threads and cores.