Industrial Control Designline Blog

The state of multicore software

Sathyan Iyengar

8/24/2009 3:28 PM EDT

The promise of multicore processors is extremely compelling, providing a viable path toward higher performance and lower power for a broad range of markets and applications. In recent years, we've seen tremendous innovation at the chip design level, resulting in a new generation of embedded multicore processors that truly set new standards of excellence. But as early adopters of embedded multicore chips well understand, advanced multicore processors are only as valuable as the developer's ability to create software that leverages the benefits of these multicore CPUs.

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



Please sign in to post comment

Navigate to related information

Datasheets.com Parts Search

185 million searchable parts
(please enter a part number or hit search to begin)
Jobs sponsored by

Feedback Form