THREADX® RTOS Adds Real-Time SMP Support for ARM MPCore™
San Diego, CA (October 25, 2011)
Express Logic, Inc., the worldwide leader in royalty-free, real-time operating systems (RTOS) with over 1 billion units deployed, today announced the availability of its popular THREADX® RTOS for ARM’s MPCore™ multicore processor architecture. Working cooperatively with ARM, Express Logic has adapted THREADX/SMP, an enhanced version of THREADX providing synchronous multicore support that preserves real-time responsiveness, to target ARM’s MPCore. THREADX/SMP achieves a significant performance boost by sharing the processing load over the multiple processor cores of the MPCore, while maintaining the real-time responsiveness critical to demanding embedded applications.
THREADX/SMP offers developers of MPCore-based products:
- Incremental processing resources
- Automatic load-balancing across all cores
- Ease of application programming
- Use of common code for single and multicore versions
- Increased performance without increased programming complexity
THREADX/SMP is based on Express Logic’s popular THREADX RTOS, a small, highly efficient embedded OS that minimizes system overhead and provides lightning-fast, real-time response. With a memory footprint as small as 10KB and sub-microsecond interrupt response and context switch, THREADX/SMP complements the multicore architecture of the MPCore with the ease of SMP, while retaining hard real-time responsiveness. THREADX/SMP is the ideal RTOS for demanding real-time applications where high-efficiency and high-performance are needed. Together, THREADX/SMP and ARM’s MPCore provide the system developer with a combination of performance and ease of use that speeds time to market.
The ARM MPCore offers up to four processors, with a unified shared memory accessible by all. Express Logic uses this shared memory to design a symmetric multiprocessor version of the THREADX RTOS that runs concurrently on all processors from a single copy in shared memory. Application processing is automatically distributed across the processors as processing demands dictate, based on available processor cores, without the developer needing to be concerned about managing multiple processors. Because of this, programming MPCore is as straightforward as developing an embedded application for a single-core processor with the benefit of multicore performance.
“ARM’s MPCore is gaining popularity with customers looking for greater performance and ease of programming,” commented William E. Lamie, President of Express Logic. “As opposed to Linux/SMP, THREADX/SMP delivers deterministic real-time responsiveness in a small memory footprint and is fully supported by Express Logic. It delivers the benefits of SMP programming without the overhead of a large OS.”
THREADX/SMP achieves a high degree of ease of use by enabling multicore applications to be developed without needing to know the details of the MPCore architecture. THREADX/SMP efficiently allocates and manages powerful hardware resources to maximize application thread efficiency. THREADX/SMP transparently maps application threads to individual cores within the MPCore, providing automatic load balancing. Optionally, the developer can directly manage the use of cores for individual application threads. The low overhead of THREADX produces an efficient thread-to-core allocation and assignment—a feat that can be difficult for larger RTOSes and OSes to achieve.
Real-Time SMP enables an application to apply the resources of multiple processors to serve its threads, without tailoring the program logic to manage and arbitrate among the processors. In a single processor system, once a top-priority thread begins execution, other threads must wait. With Real-Time SMP, threads of equal priority can run in parallel on the other processors, effectively balancing overload situations where one processor could not handle the volume of data requiring processing. Using Real-Time SMP, the application can launch a second, third, and fourth thread to help with the processing. The additional threads can be defined at initialization and automatically run on any available processor as needed, or created dynamically as the executing thread identifies processing demand beyond its capabilities.
THREADX/SMP is supported by Express Logic’s TRACEX® /MC graphical real-time event analysis tool that shows multicore activity across a timeline. TraceX/MC identifies thread activity by core, enabling visual determination of load balancing and processor utilization.