Newsletter

Are you leveraging multicore processors effectively?

Decrease cost, add new features, and preserve intellectual property.

Page 1 of 2

Courtesy of Embedded.com

Today's latest microprocessors, and the standard for the future, contain multiple processor cores. The number of cores available are expected to grow steadily, despite the fear of Amdahl's Law regarding a limit on speedup from parallelizing a process or the euphoria associated with Gustafson's Law, which suggests that the overall amount of work that can be done can continue to increase as the number of processor cores increases.

With this in mind, the transition to multicore processors is shifting the burden of innovation to developers who are compelled to produce software that can exploit the parallel multicore architecture. Industrial OEMs are left with the quandary as to whether they need to throw out their old product designs--around which they and their customers have made significant investments, and start fresh--or whether they should compromise on features and price by continuing to support legacy hardware platforms.

Parallelization is only part of the problem. When it comes to embedded systems, a bigger issue is segmentation of the system. The laws put forth by Amdahl, Gustafson, and others address only the raw performance metrics for a homogeneous mix of tasks. Embedded systems are typically composed of elements that have very different, hardware-related tasks to perform. Consequently, in addition to performance, real-time embedded systems developers need to consider more mundane metrics like: availability of hardware, system cost, footprint, power consumption, determinism, and development effort.

Operating-system and tools providers are rising to the challenge of supporting multicore chips, but most are viewing the multicore processors as a pool of resources that can be deployed interchangeably to perform general purpose tasks. By ignoring Amdahl and Gustafson and taking a different look at how multiple cores can be used, embedded system designers don't need to compromise or start over. An alternate approach for many embedded systems is to dedicate processor cores to specific system functions. OEMs can run their legacy code, with little or no modification, on a dedicated processor core that runs independently of those cores that support new application features.

The segmentation of tasks in many embedded systems is typically associated with multiple operating environments. General-purpose operating systems (OSes) excel at supporting database structures such as one would find in recipe management or process monitoring, whereas real-time OSes excel at responding to machine-directed inputs with minimal delay. The traditional way to serve these diverse computing needs has been to incorporate multiple separate computing environments in a system--for example a discrete imaging subsystem, a stand-alone motion-control subsystem, and a human-machine interface.



Page 2: next page  

Page 1 | 2







Related Content

WEBINAR
1. Mutexes vs. Semaphores: How to Use Each Properly

TECH PAPER
2. An Introduction to Intel QuickPath Interconnect

COURSE
3. Getting Started with Android Development for Embedded Devices

COURSE
4. Fundamentals of x86 Architecture

 


 Featured Jobs
Boeing seeking Senior Software Engineer in Annapolis Junction, MD

Emulex seeking Senior Program Manager in Costa Mesa, CA

Accenture seeking Data Center Technology in Reston, VA

Eurotech seeking Sales Executive in Amaro, Italy

NYU Langone Medical Center seeking IS Manager in New York, NY

More jobs on EETimesCareers
 Sponsor
 CAREER CENTER
Ready to take that job and shove it?
SEARCH JOBS:

 SPONSOR

 RECENT JOB POSTINGS
For more great jobs, career related news, features and services, please visit EETimes' Career Center.