Multicore Real-Time Operating System (RTOS)
What is a multicore real-time operating system (RTOS) and what separates it from the real-time operating systems we have seen in the past? Both DSPnano RTOS and the Unison DSP RTOS offer multicore capabilties; however, there is several views of what multicore means and here we will present the various alternatives to ensure that users understand the differences between these alternative views.
- shared memory communication
- integrated I/O support (on the chip)
- intelligent cashe utilization strategies
- intercore interrupts
- multithreading
- multiprocessing – that is seamless system calls across all processors
- symetric multiprocessing
- optional asymetric multiprocessing
First, a multicore processor might be like the Sun Niagara processor which uses many cores and shared memory between these processors. It is completely homogeneous and offers load balancing through dynamic thread scheduling. A multicore RTOS in this environment would have to support:
A scaled down version of this would look like an Intel or AMD multicore device with two or four cores. It might also be a Freescale PowerPC 8641 or the PA Semi 8641 chip. Other PowerPC alterntiaves include other vendors including AMCC. The requirements for these smaller multicore devices are very similar.
Another completely separate view and extreme view would be solutions offered by vendors like PicoChip. Here all algorithms run as one signal processing block per core and there is no operating system at all. Is the communication fabric the equivalent of a multicore RTOS implemented in hardware?
There is a range of solutions in between with the most prominent being the Cavium Networks sixteen core solution. This monster chip offers great performance for network applications. Various RTOS solutions are being developed for it.
In the longer run, the multicore operating systems might look much more like a system that offers both multiprocessing on multiple cores but also supports distributed operation. The reason for this is that they will have to support heterogeneous processor collections for application specific optimization, and replication of core blocks connected by fast serial is a more cost effective solution as processor core numbers grow.
Both DSPnano RTOS and the Unison DSP RTOS offer multicore RTOS capabilities for subsets of the architectural flavors discussed above.
