spacer

spacer
Contact Us Subscribe to Newsletters
spacer
  • Navigation
    • Development
    • Essentials & Education
    • Community
    • Archives
    • About Us
  • Home
  • Development
    • All Articles
    • Configurable Systems
    • Connectivity
    • Debug & Optimization
    • MCUs, Processors & SoCs
    • Operating Systems
    • Power Optimization
    • Programming Languages & Tools
    • Prototyping & Development
    • Real-time & Performance
    • Real-world Applications
    • Safety & Security
    • System Integration
  • Essentials & Education
    • Products
    • News
    • Source Code Library
    • Webinars
    • Courses
    • Tech Papers
  • Community
    • Insights
    • Forums
    • Events
  • Archives
    • ESP / ESD Magazine
    • Newsletters
    • Videos
    • Collections
  • About Us
    • About Embedded
    • Contact Us
    • Newsletters
    • Advertising
    • Editorial Contributions
    • Site Map
  • Home
  • >
  • Insights
  • >
  • >
  • The Cole /bin

Tooling up for multicore software challenges

Bernard Cole

March 16, 2013

Tweet
spacer Save to My Library Follow Comments spacer spacer

Bernard Cole-March 16, 2013

For many years, Embedded.com columnist Jack Ganssle has voiced his skepticism about some of the advantages claimed for multicore architectures in embedded apps in such blogs as “The Nulticore effect,” “Nulticore continued,” "Multicore madness,” and ”Multicore: hype or reality.”

In his most recent blog on “Will Moore’s Law doom multicore?” he drills even deeper and provides an analysis of a pessimistic report from researchers at Sandia National Laboratories. Their conclusion: multicore just does not scale very well when more than just a few cores per device are used, especially as it relates to power-efficiency.

But while he has some questions about the researchers’ underlying methodologies and their choice of target processor architectures, he nevertheless agrees with their pessimistic conclusions. Despite that however, he remains upbeat and concludes by writing: “I for one am optimistic that some cool and unexpected inventions will continue to drive computer performance on its historical upward trajectory.

In a similar and more detailed analysis of the various hardware approaches to multicore SoC design in “Overcoming the CPU performance wall,“ Julio Diez Ruiz also remains optimistic. But he places his hopes on current software development approaches, rather than future inventions.

Some of these approaches are discussed in some of the design articles included in this week’s Embedded Tech Focus Newsletter on “Multicore programming challenges.” And as noted in “DESIGN West: Update your multicore software skills,” additional up to date information is available in a number of classes at the Spring 2013 Embedded Systems Conference at DESIGN West, April 22-25 in San Jose, Ca.


[Click here to register for DESIGN West 2013, April 22-25 at the San Jose McEnery Convention Center. Options range from an All-Access Pass -- which includes Black Hat (security) Conference Session to Free Expo Admission].

Most of the methods described in these articles and classes do not require that embedded developers totally abandon the use of the sequential and procedural languages that have become second nature to them. But they will all require much greater attention to detail and their use within a number of programmatic limits.

Introduction to the Multicore Programming Practices Guide” describes an approach to multicore programming that uses sequential C, but only within very carefully defined parameters which they describe in their guide. In “A portable OpenMP runtime library based on MCAPI/MRAPI “ the authors describe how the high performance computing OpenMP C-language extensions can be used in embedded apps, but within the limits of the Multicore Association’s MCAPI and MTAPI. And in “Using Java to deal with multicore programming complexity,” Atego’s Kelvin Nilsen describes how to use the C and Java languages together to do parallel code development without straying too far from traditional C methodologies.

Other in depth articles on such topics are contained in Embedded.com’s Multicore Collection, a ten year archive of articles on multicore hardware and software development. Of these, there are several that I recommend:

Retargeting embedded software stacks for many-core systems,” by Dr. Sumant Tambe, RTI, and Dr. James Anderson, University of North Carolina.

Use OpenMP for programming parallel threads in multicore apps,” by Shameem Akhter and Jason Roberts, Intel Corp.

Optimization Techniques for Multicore Processors, “ by Max Domeika, Intel Corp.

Transitioning to multicore processing,” by Rob Oshana and Shuai Wang, Freescale Semiconductor

Multicore’s fourth semaphore: the multiple reader/writer lock,” by David Kalinsky, Kalinsky Associates

A number of the authors mentioned here will be attending or teaching classes at the Spring 2013 DESIGN West, so be sure to register to attend. Maybe you will get a chance to talk with them directly about such issues.

Embedded.com Site Editor Bernard Cole is also editor of the twice-a-week Embedded.com newsletters as well as a partner in the TechRite Associates editorial services consultancy. He welcomes your feedback. Send an email to bccole@acm.org, or call 928-525-9087.

See more articles and column like this one on Embedded.com. Sign up for the Embedded.com newsletters. Copyright © 2013 UBM--All rights reserved.

Tweet
spacer Save to My Library Follow Comments Follow Author spacer spacer

Loading comments... Write a comment

Most Read

  • 11.06.2013

    Screens everywhere make a GUI dilemma

  • 03.15.2001

    References vs. Pointers

  • 09.05.2013

    Learning Linux for embedded systems

Embedded TV   spacer video library

Most Commented

  • 05.06.2015

    Caveman Conundrum -- Does ESC Have the Solution?

  • 05.12.2015

    Combining power and data wires, Part 2

  • 05.11.2015

    The engineer's lament

Parts Search Datasheets.com

KNOWLEDGE CENTER

gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.