Tokyo, Japan. November 14, 2012 - eSOL, a leading developer of real-time embedded software solutions, today announced that eSOL has completed prototype development of a real-time OS (RTOS) for many-core processors, tentatively called Many-Core real-time OS (MCOS). eSOL believes that MCOS will be the world’s first commercial RTOS for embedded many-core processors.
eSOL will demonstrate MCOS at the Embedded Technology 2012 Conference and Exhibition November 14-16 in Yokohama, Japan.
eSOL poured its recognized RTOS expertise and know-how—as represented by eSOL's proven eT-Kernel Multi-Core Edition real-time OS—into developing MCOS, a completely new OS architecture different from any previous multi-core real-time OSes. MCOS's unique scheduling algorithm brings real-time processing capability and high throughput to the management of advanced many-core embedded systems. Many-core processors can achieve optimal energy efficiency and performance scalability by increasing or decreasing the number of cores in use according to processing requirements. MCOS brings out the best performance from many-core processors used in real-time embedded applications such as cyber-physical systems, image recognition systems, networking, automotive, transportation, energy systems, and robots.
eSOL's MCOS is currently in use on the Renesas Electronics RH850-based MPU implemented on FPGAs with 16 hardware threads in 4 CPU cores—the virtual equivalent of 16 CPUs. eSOL is continuing its proactive RTOS research and development for many-core processors as they begin to enter the market.
"The high electrical efficiency of many-core processors will greatly benefit embedded systems requiring reduced power consumption. Many-core processors and associated peripheral technologies are the subject of active research and development, and are considered to be close to practical use," said Hideki Sugimoto, Department Manager of 3rd CPU Development Department, Renesas Electronics Corporation. "Renesas has collaborated with eSOL on a real-time OS for our multi-core processors and we have high expectations for eSOL's new OS for many-core processors. We welcome the successful development of the MCOS prototype."
MCOS is designed to support any of the various many-core processor architectures or instruction sets. eSOL will refine MCOS to support additional processors, improve operating system functions, and add development tools. eSOL plans to distribute the evaluation version of MCOS in the fourth quarter of 2013.
MCOS employs a distributed microkernel architecture that is unlike any existing single-core or multi-core RTOS architecture. It can support any processor—no matter how many cores are implemented—from single-core processors to homogeneous and heterogeneous many-core processors with hundreds of cores. With MCOS, cache coherency mechanisms are not necessary.
Each MCOS microkernel consists of only minimal functions, including inter-core message passing, local thread scheduling, and thread management. A microkernel is allocated to every core. Other services such as device drivers, middleware components, and applications are distributed as thread servers and run on multiple cores. Threads running on different kinds of cores can communicate with each other through the microkernel's message-passing function. Client-server model APIs are also used by middleware components and applications other than OS services. MCOS can also group cores into clusters and divide resources and server functions.
"The number of cores on a processor continues to increase in both enterprise and embedded systems," said Masaki Gondo, Software Chief Technology Officer and General Manager of Technology Headquarters at eSOL. "Currently, popular OS architectures are based on the premise that a processor should have a cache coherency mechanism, and therefore only cover about four cores at most. Many previous studies pointed out that a new and different OS architecture could support more cores."
Experimental results show that eSOL's unique MCOS semi-priority-based algorithm significantly outperforms other scheduling methods when many-core systems are processing multiple threads with different workloads. The algorithm uses two types of schedulers that work concurrently to ensure both real-time response and high throughput.
One scheduler ensures real-time reliability by allocating threads to specific cores according to the importance of the threads' priorities: a withdrawn thread occupies a certain core and is executed on it until processing is completed. Real-time performance is assured: because core migration and execution interruption from other threads do not occur, developers can calculate the time each thread takes to complete its processing. The second load-sharing scheduler executes threads with lower priorities on rest cores according to the threads' relative throughput and priorities.
MCOS uses the Symmetric Multi-Processing (SMP) programming method for applications that do not depend on particular cores to be executed. Because of this, developers can easily reuse software on processors with different numbers of cores. MCOS will be implemented with POSIX, ITRON, and AUTOSAR APIs so that developers can reuse software assets with those APIs.
Masaki Gondo underlines eSOL's commitment to creating innovative RTOS solutions for many-core systems. "We believe that many-core technology is one of the most promising future technologies for embedded systems, which have more stringent power consumption and cost constraints than enterprise systems. We are committed to continuous MCOS research and development to contribute to the evolution of embedded systems for the many-core market."