Industrial Control Designline Blog
The state of multicore software
Sathyan Iyengar
8/24/2009 3:28 PM EDT
What is the current state of embedded multicore software? Clearly, there are a number of highly innovative companies offering advanced tools, operating systems, virtualized development environments, and application level software that can benefit developers, systems integrators, and the OEMs they work for. But no one has come up with the "magic button" that can automatically rewrite and parallelize your valuable legacy code to run on multicore chips. And alternate programming models are, at best, many years away.
The best way to close the embedded multicore software/hardware gap is to build comprehensive solutions that combine multicore processors with software—from low-level code all the way to vertical/market-specific application software—that's production-ready, pre-parallelized, and optimized for the target silicon. Such solutions can dramatically shorten design and development cycles because they reduce the time required to test and optimize application software for multicore processors.
Who will write this software? No one can do it alone, and comprehensive ecosystems are as important to success as ever. But when it comes to application level software, silicon vendors are best able to craft applications specifically designed to optimize each and every feature of the target silicon. Of course, this requires silicon providers to offer a larger portion of the solution than in the past. But faster adoption of embedded multicore is key to maintaining the consistent progress that the semiconductor business has delivered for decades. In the embedded multicore era, suppliers who just create great chips and expect their customers to figure out the rest will fall behind. Those with the vision, market segment focus, and resources to help their customers harness multicore technology will win.
About the author
Sathyan Iyengar is the vice-president of software products for Freescale's networking and multimedia group. He has over 15 years of management, operations, business development, and engineering experience in the networking, embedded systems and computer industry. Iyengar holds an MS degree in computer science from the Indian Institute of Technology in New Delhi, India, and a BE degree in mechanical engineering from the SJ College of Engineering, Mysore, India. He can be reached at sathyan@freescale.com.





Lundin
9/1/2009 2:44 AM EDT
Well, I certainly wouldn't trust the silicon manufacturers to write multicore programs. Just look at the debugger provided by one well-known silicon manufacturer from Austin, to be used for all their microcontrollers. It is still single-threaded 14 years after the introduction of multi-threaded Windows. The chips are great, however...
Sign in to Reply
robert.berger
9/21/2009 12:14 PM EDT
Hi,
Unfortunately it's very hard for humans to comprehend concurrency (No matter on a single or a multiprocessor).
Here is some interesting talk:
http://content.digitalwell.washington.edu/msr/external_release_talks_12_05_2005/14068/lecture.htm
Also this looks interesting: http://theappleblog.com/2009/09/14/apple-open-sources-grand-central-dispatch/
I hope the license does not keep others than Apple from using it (although it does not deal with the problem mentioned above)
Regards,
Robert
--
Robert Berger
Embedded Software Specialist
Reliable Embedded Systems
Consulting Training Engineering
Tel.: (+30) 697 593 3428
Fax.:(+30) 210 684 7881
URL: http://www.reliableembeddedsystems.com
Sign in to Reply
Ray Keefe
9/21/2009 8:51 PM EDT
Hi Sathyan,
this is still the biggest issue facing symmetric multiprocessor systems. Double the processing power isn't twice the data throughput and in some cases, a 4 processor system can actually run slower than a single processor system because of the inter-processor communications required and the hardware and software architecture bottlenecks.
I'm still looking forward to the breakthrough paradigm that starts to make this viable.
In the meantime, I'm still promoting the asymmetric multiprocessor concept since that is something our existing tools and design / architecturs concepts can deliver results from.
Jack Ganssle covers this is 2 separate articles:
http://www.embedded.com/columns/technicalinsights/212300032?_requestid=88211
http://www.embedded.com/columns/technicalinsights/161600589?_requestid=89220
I'm looking forward to the article that begins to show how this can be leveraged so twice as many processors creates more than twice the throughput. The exponential rather than linear boost.
Ray Keefe
http://www.successful.com.au
Sign in to Reply