vme and critical systems,multicore          Other topics:   OpenVPX, RTOS, multicore, VPX, AdvancedTCA, microcontroller, FPGAs, analog-to-digital
VME and Critical Systems
home
articles & topics
product search
White Papers
newswire
E-letter
E-cast Schedule
articles >
VITA News
vme and critical systems,multicore
RSS Link
Industry News:
vme and critical s...
  • Live Webcast Announced: Multicore Migration: The Challenges of migrating to a multicore design
    2 years ago
  • Technical Overview of TI Multicore Solutions for High-Density Applications Live Event: November 5, 11:00 AM EDT
    1 year ago
  • Webcast: Multicore Migration: The Challenges of Migrating to a Multicore Design. May 20th
    2 years ago
  • More Industry News headlines...
Technology Partnerships:
vme and critical s...
  • Texas Instruments and PolyCore Software collaborate to ease application deployment for multicore systems
    3 months ago
  • MontaVista Continues Strong Support for Freescale Multicore Processors and New VortiQa Software Products
    1 year ago
  • US Technologies Offers Testing and Repair of VME, MVME, VMEbus Products
    1 year ago
  • More Technology Partnerships headlines...
Contracts:
vme and critical s...
  • Enea Signs Multicore and Hypervisor Deal Worth 2 MEUR
    2 weeks ago
  • Enea Signs 110 MYEN Multicore deal in Japan
    4 months ago
  • Tundra Semiconductor's Serial RapidIO Switch Selected by VMETRO
    2 years ago
  • More Contracts headlines...
New Products:
vme and critical s...
  • Release of The NAG Library for SMP and Multicore
    3 months ago
  • Elma Bustronic has Over 30 Standard Slot Sizes for 6U and 7U VME64x Backplanes
    10 months ago
  • Wind River Extends Virtualization Support With New Release of Wind River Hypervisor
    5 months ago
  • More New Products headlines...
People:
vme and critical s...
  • BittWare Expands Technical Management Team
    2 years ago
  • USMC 234th Birthday Tribute Video
    8 months ago
  • VMETRO Bolsters Leadership Team
    5 years ago
  • More People headlines...
Mergers and Acquisitions:
vme and critical s...
  • CriticalBlue raises $4M, adds Investors Toshiba Corporation and Scottish Venture Fund
    1 year ago
  • Freescale signs definitive agreement to purchase Intoto, Inc.
    1 year ago
  • From the Blog: Former Motorola Manager Sounds off on Emerson's Acquisition
    2 years ago
  • More Mergers and Acquisitions headlines...
Conferences and Awards:
vme and critical s...
  • Multicore Expo Unveils All-Star Presentation Line-Up
    3 years ago
  • ESC Silicon Valley Joins Forces With the Fifth Multicore Expo in San Jose
    8 months ago
  • Texas Instruments to Share the latest Multicore Design Challenges and Technology Trends at Multicore Expo
    3 months ago
  • More Conferences and Awards headlines...
Media and Education:
vme and critical s...
  • OpenSystems Publishing Renames VMEbus Systems Magazine to 'VME and Critical Systems' Magazine
    3 years ago
  • OpenSystems Publishing Launches New VME E-site
    3 years ago
  • Why hardware designers should switch to Eclipse
    4 months ago
  • More Media and Education headlines...
Standard Certifications and References:
vme and critical s...
  • Certification to IRIS
    1 year ago
  • PICMG adds Ethernet Fabric to Advanced Mezzanine Card
    3 years ago
  • BittWare Commits to Long Term VITA 41 VXS Roadmap
    4 years ago
  • More Standard Certifications and References headlines...
Browse topics
Search Articles
Browse Articles
See Also:
Military Articles
Embedded Computing Articles
CompactPCI Articles
Magazine >

About the Magazine
Editorial Topics
Free Subscription
Reader Service Card
Search Articles
Search Products
Contact Information
Columns

Editor's Foreword
VITA News
VITA Standards
Technology in Europe
Military Technology Insider
Guest Editorial
Defining Standards
Departments

Editor's Choice Products
by Chris A. Ciufo
VMEnow Blog
What is VME?
VME: Then & NOW
Webcasts

Upcoming E-casts
Archived E-casts
Submissions

Submit a Press Release
Submit a New Product
Submit an Abstract for Review
Vendors/Sponsors

Do an E-cast
Preferred Vendors
Upcoming Issue
Advertise
Editorial Calendar
Media Kits










Multicore vs. multiprocessing vs. multicore multiprocessing

By
Ray Alderman
VITA

It might seem that multicore and multiprocessing are the same thing. Well, they are not from my perspective. When you mix multicore processors with multiprocessing fabrics, you get aberrations to handle in the software, even if you implement them on VME/VXS/VPX or any other architectures. These strange behaviors appeared in all the work done with VME over the years. This includes dual and quad processor cards, multiprocessing on VME, RACEway, SKYchannel, and so on. So, we at VITA have an understanding of these behaviors.

When doing multiprocessing with serial fabrics and individual processors, the processor boards are connected with some kind of InterProcessor Communications (IPC) mechanism. The specific serial fabric used for IPC will define the latency and determinism characteristics. Here are my definitions of basic multiprocessing architectures:

  • Tightly Coupled/Shared-Everything (TCSE) - This is where every processor has direct access to every resource in the system. It operates with an intimate protocol that allows peer-to-peer connections without much overhead. RapidIO, as an IPC mechanism, is the only fabric available that can implement a TCSE multiprocessing architecture. VME is the only bus that can do TCSE architectures. TCSEs are very deterministic and real time.
  • Snugly Coupled/Shared-Something (SCSS) - All of the processors must share a mechanism to exchange messages with each other and stay synchronized. Typically, that is a section of memory, though it could also be a segment of a disk. This shared memory can also be made cache coherent so that two or more processors using the same data do not retrieve outdated (stale) data. Cache coherency eliminates the need for semaphores (a flag that tells you if the data is used by another CPU) and guarantees that when the data is accessed, that CPU gets the latest copy of the data. SCSS architectures use a friendly protocol, not an intimate protocol: They cannot access every resource in the system directly. So, that adds back some overhead and latency. InfiniBand and Ethernet with Remote Direct Memory Access (RDMA) are both examples of an SCSS multiprocessing architecture.
  • Loosely Coupled/Shared-Nothing (LCSN) - Regular Ethernet with Carrier-Sense Multiple-Access/Collision Detect (CSMA/CD) is an example of an LCSN architecture. It operates with a stranger protocol (that is, every message received is treated as if it came from a stranger, hence the large packet headers for Ethernet messages). This massive protocol overhead adds huge latencies to a multiprocessing architecture. LCSNs are as far away as you can get from any deterministic or real-time behavior in a computer.

As I see it, multicore processing comes in basically two flavors:

  • Homogeneous multicore - Multicore chips coming to market all have the same instruction sets/data structures. Depending on how they are coupled (that is, how the IPC works), they have all the same problems the multiprocessing architectures have. The present multicore chips use memory (for message passing) as the IPC mechanism, so they are all SCSS multiprocessing architectures.
  • Heterogeneous multicore - Each processor in a heterogeneous multicore architecture is different. Each has different instruction sets/data structures. It has a common CPU core for applications, a DSP core for math, a graphics core for graphics work, an I/O processor core to handle specific I/O interfaces, and a communications core to handle Ethernet or TCP/IP protocols. Depending on how the IPC mechanism is implemented, it inherits all the same problems in multiprocessing. (See Table 1 for a description of the architectures.)

Table1
Table 1
(click graphic to zoom by 1.7x)

When we hook multicore processors (with their IPC mechanisms) to multiprocessing fabrics (with their IPC mechanisms), we get a set of stacked latency and determinism problems. We know this from the work done by Sequent, with their Non-Uniform Memory Architecture-Quad (NUMA-Q) architecture. Sequent hooked together four independent homogeneous CPU chips with a cache-coherent memory block shared between them on a single card (a quad). Then they hooked the quad cards together with a high-speed serial fabric with the cache-coherent memory block. Everything works fine until it's time to access some data that is not in the cache-coherent memory. Then the machine slows to a crawl as the data is retrieved, and all real-time behavior is lost.

As described, we will be building the same NUMA-Q architectures when we use homogeneous multicore processors and multiprocessing fabrics on VXS or VPX. I am not a big fan of homogeneous multicore processors in embedded applications. The embedded market would benefit tremendously from heterogeneous multicore machines. There are VME-based multiprocessing systems installed using a generic CPU for the main application, a graphics processor for the display, a DSP processor for handling the streaming I/O and math, and a communications processor for handling the COMM functions. Hopefully, we will see some heterogeneous multicore processors come to market, and that will tremendously increase the demand for VXS and VPX systems. In the meantime, we will use homogeneous multicore processors and multiprocessing fabric architectures and live with the aberrant behaviors.

The objective of a homogeneous multicore processor is to capitalize on any parallelism in the software, split out that code, and run those segments in parallel on different cores. As for finding parallelism in some chunk of embedded code and running it on a homogeneous multicore machine, forget it.

For more information, contact Ray at exec@vita.com.




©MMIX VME and Critical Systems. An OpenSystems Media, LLC publication.
About this Magazine and Website | Contact Us | VME and Critical Systems Media Kit