SMP vs. AMP: How Homogenous Is Your Embedded System?
Multiprocessing system architectures come in all shapes and sizes, so it is dangerous to make any generalizations. But perhaps there's agreement that most systems can be classified as either symmetric multiprocessing (SMP) or asymmetric multiprocessing (AMP).
With SMP, identical cores are assigned portions of an aggregate workload under the control of a single SMP-enabled OS. This is common in many compute-oriented applications, like medical imaging, running on a general purpose OS like Linux. AMP involves the use of interprocessor communication to combine the efforts of multiple processors, each with its own local operating system and hardware resources. AMP differs from SMP in allowing the use of heterogeneous processors and operating systems as well as the homogeneous environment supported by SMP. Also, AMP involves less OS overhead for each individual processor and a more traditional execution environment for applications. An example is a data-plane/control-plane application that requires both I/O- and compute-oriented cores running an RTOS and a general purpose OS, respectively.
SMP has more inherent code dependencies than AMP because the cores are more likely to contend for the same data as they execute similar code. However, AMP has its own issues with different cores sharing information, using interprocessor communication (IPC) and requiring semaphores. Sharing data can lead to data corruption and other parallel code challenges.
Since both SMP and AMP systems execute tasks simultaneously; and therefore, must manage shared resources and timing interactions, developers will depend on visual tools for multi-core processing in either case.
Wind River Workbench, based on the Eclipse platform, is a collection of visually-oriented tools that supports both SMP and AMP system architectures. This includes a) Linux running in both SMP and AMP configurations, b) VxWorks, Wind River's popular RTOS, supporting AMP, and c) Linux and VxWorks in a mixed AMP configuration. VxWorks SMP support is currently under development.
Top Stories
INSIDERManned Systems
Turkey's KAAN Combat Aircraft Completes First Flight - Mobility Engineering...
INSIDERMaterials
FAA Expands Boeing 737 Investigation to Manufacturing and Production Lines -...
INSIDERImaging
New Video Card Enables Supersonic Vision System for NASA's X-59 Demonstrator -...
INSIDERManned Systems
Stratolaunch Approaches Hypersonic Speed in First Powered TA-1 Test Flight -...
INSIDERUnmanned Systems
Army Ends Future Attack and Reconnaissance Helicopter Development Program -...
ArticlesEnergy
Can Solid-State Batteries Commercialize by 2030? - Mobility Engineering...
Webcasts
AR/AI
From Data to Decision: How AI Enhances Warfighter Readiness
Energy
April Battery & Electrification Summit
Manufacturing & Prototyping
Tech Update: 3D Printing for Transportation in 2024
Test & Measurement
Building an Automotive EMC Test Plan
Manufacturing & Prototyping
The Moon and Beyond from a Thermal Perspective
Software
Mastering Software Complexity in Automotive: Is Release Possible...