Express Logic’s THREADX® RTOS Solves Multicore SMP and AMP Programming Challenges
Design West, ESC Summit, San Jose, CA (March 23, 2012)
Express Logic, Inc., the worldwide leader in royalty-free real-time operating systems (RTOS), today announced that the THREADX® RTOS now is available for multicore systems in both Symmetric Multiprocessing (SMP) or Asymmetric Multiprocessing (AMP) modes. With multicore processors becoming more and more common in consumer, medical, and industrial applications, Express Logic is taking the steps necessary to ensure that THREADX is optimized to deliver ultimate performance for these architectures.
Multicore architectures offer increased performance without the power consumption of a system based on a single processor of comparable performance. Despite these power savings, the programming complexity continues to thwart the widespread adoption of multicore architecture unless it’s absolutely necessary. By offering RTOS solutions geared to make multicore application development simpler, Express Logic offers developers a way to benefit from multicore performance without struggling with platform complexity.
By making THREADX available for both SMP and AMP modes, Express Logic gives developers ultimate flexibility for using THREADX in both homogeneous or heterogeneous systems. With homogeneous processors, such as ARM’s MPCore, Xilinx Zynq, and MIPS 34K and 1004K, each processor runs the same code from a single copy in memory. Homogeneous processors also can be used in an AMP mode, where each processor is more independent, and can run different code from its own local memory. Heterogeneous processors, such as TI’s OMAP series, and ARM’s new big.LITTLE architecture, do not use SMP mode since their processors generally cannot run identical instructions from the same copy in memory and they almost always run in AMP mode.
THREADX/SMP optimizes processor efficiency with automatic load balancing and/or program-directed, thread-processor affinity. Developers can exploit this functionality to run applications virtually without regard to the multiple processors in the system or to explicitly control the use of each processor. THREADX/SMP automatically runs application threads on any available processor, transparently mapping a multithreaded, real-time system onto a multicore architecture.
In AMP mode, on homogeneous or heterogeneous multicore systems, THREADX runs on one or more processors, generally from a processor’s local memory, with separate copies for each processor. If the system is made up of heterogeneous processors, then each copy of THREADX is different, built for operation on a particular processor architecture. For example, TI’s OMAP combines an ARM core and a TI DSP core in a heterogeneous multicore system that could run THREADX on each processor, or on just one with a different RTOS on the other. Similarly, the new Xilinx Zynq (a two-processor, homogeneous FPGA) could run THREADX on one processor, while running Linux on the other. Interprocessor coordination is provided by the application using a shared memory mailbox and/or using the PolyCore Software’s MCAPI-compliant Poly-Messenger communications system. This provides the benefits of both operating systems, rather than trying to stretch either one to handle all system functions.
“Multicore systems can be intimidating,” commented William E. Lamie, president of Express Logic, “but Express Logic has tailored THREADX to make it much easier for developers to use regardless of their configuration. Whether an application demands AMP or SMP, THREADX is optimized to address either need, giving developers ultimate flexibility in meeting multicore programming challenges.”
In SMP mode, THREADX/SMP supports ARM’s MPCore, MIPS’ 34K and 1004K, and Analog Devices’ Blackfin BF561. In AMP mode, THREADX supports the Xilinx Zynq dual-Cortex-A8 architecture, as well as virtually any heterogeneous architecture.