Overclock.net › Forums › Industry News › Hardware News › [ARS] New API could bring multicore mastery to embedded devices
New Posts  All Forums:Forum Nav:

[ARS] New API could bring multicore mastery to embedded devices

post #1 of 2
Thread Starter 
By Peter Bright | Published: May 23, 2008 - 09:12AM CT

Quote:
The multicore revolution hasn't just changed the game on the desktop; the embedded world is going multicore, too. An industry association with members including Intel and Freescale is currently developing new standards for multicore development on embedded devices. The Multicore Association has now completed work on an API (to be released sometime this month) and a best practices guide to help developers create high-performance (and reliable) multicore software.

The embedded world has long had to deal with homogeneous multicore processors. Standard processor cores coupled with specialized DSP hardware are quite commonplace in a wide variety of embedded systems, with applications ranging from telecoms hardware to portable media players. Skyrocketing power consumption has forced desktop processor manufacturers to go multicore in an attempt to improve performance, and that same power pressure is even more acute for embedded processors. High-performance embedded processors with multiple general-purpose cores are going to become increasingly common as the industry struggles to add more computing power while keeping a lid on power drain.

Traditionally, the programming of multicore embedded systems, both homogeneous and heterogeneous, has been dependent on proprietary tools and software interfaces. Combined with the general difficulties with writing reliable multithreaded software, the result is software that is expensive to develop and tightly coupled to the hardware it was designed for.

The Multicore Association's Multicore Communication API (MCAPI) is designed to address these issues. This API provides standard facilities for passing messages between cores (whether heterogeneous or homogeneous). Message-passing is a widely-used technique for writing distributed parallel programs; the standard API used in cluster computing is Message Passing Interface, which uses messages sent between cluster nodes to transport data and synchronize different parts of a computation.

But for a number of reasons, MPI is poorly suited to the embedded market. For example, MPI often uses TCP connections between cluster nodes to provide reliable message delivery. In a closely distributed system (where cores may reside on the same die or are plugged into the same mainboard) this is unnecessarily resource intensive. MPI is also principally targeted at machines which do not share memory (where each cluster node has its own private memory); this need not be the case in a multicore embedded system. MCAPI is hoped to be more appropriate to embedded workloads, providing simpler, lower overhead facilities tailored to the more restricted environments it will be used in.

The tack the Multicore Association is taking is different from that of Stanford and Berkeley. The Multicore Association seeks to provide best practices using existing programming models (message-passing) and common languages (C and C++) to provide something that's useful for all the multitudinous uses of embedded processors; Stanford and Berkeley are attempting to develop new models and languages, with solutions that are limited to far more specific problem domains.

With the MCAPI documentation available any day, the industry may soon gain another tool in its arsenal to help make parallel programming practical.
[SOURCE]


Edited by MasterKromm - 5/23/08 at 8:17am
Calculon Ω
(13 items)
 
  
CPUMotherboardGraphicsRAM
Q6700 @ 3.7Ghz 1.37V DFI LT X48-T2R vNB 1.24 EVGA 460GTX 4x2GB Patriot 1000mhz CL5 
Hard DriveOSMonitorPower
2x x-25m Vista x64 24" BenQ G2400WD Corsair VX550W 
Case
CM Cosmos 1000 
  hide details  
Reply
Calculon Ω
(13 items)
 
  
CPUMotherboardGraphicsRAM
Q6700 @ 3.7Ghz 1.37V DFI LT X48-T2R vNB 1.24 EVGA 460GTX 4x2GB Patriot 1000mhz CL5 
Hard DriveOSMonitorPower
2x x-25m Vista x64 24" BenQ G2400WD Corsair VX550W 
Case
CM Cosmos 1000 
  hide details  
Reply
post #2 of 2
Interesting read.
My System
(13 items)
 
  
CPUMotherboardGraphicsRAM
AMD Phenom II x4 955 GIGABYTE GA-970A-D3 Sapphire 6850 1gb 8 Gigs GSkill 
Hard DriveOSMonitorKeyboard
Seagate 640gb Windows Home Premium x86 Acer P244W 24' G15 
PowerCaseMouse
SILVERSTONE ST70F 700W Lian-Li Rocketfish G5 
  hide details  
Reply
My System
(13 items)
 
  
CPUMotherboardGraphicsRAM
AMD Phenom II x4 955 GIGABYTE GA-970A-D3 Sapphire 6850 1gb 8 Gigs GSkill 
Hard DriveOSMonitorKeyboard
Seagate 640gb Windows Home Premium x86 Acer P244W 24' G15 
PowerCaseMouse
SILVERSTONE ST70F 700W Lian-Li Rocketfish G5 
  hide details  
Reply
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Hardware News
Overclock.net › Forums › Industry News › Hardware News › [ARS] New API could bring multicore mastery to embedded devices