In systems with high-grade multiprocessing, we have identified two bottlenecks: in the accessing of the memory bus and in the shared resources. To deal with these issues, we propose a dedicated kernel named TORO that is optimized to run a single multi-threading application. TORO is demonstrating an innovative operating system by integrating at the same ring level both kernel and the user application server. In addition, the accessing to resources (e.g., Filesystem, Networking, Memory) is dedicated to specific processor. Then, only the CPU where is dedicated the resource is allowed to access to the instance
of the resource. As a result of this design, the kernel provides direct access to all resources without any overhead, and therefore maximizes
performance for the overall system. To sum-up the approach, in TORO, the threads of the user application server are distributed evenly on all CPUs and running independently in parallel. The memory model chosen is NUMA without pagination. During the initialization, the memory is divided proportionally for each processor installed on the system. When a thread needs memory, the memory allocator returns a free block of memory depending on which CPU the thread is running. In the same way, TORO can dedicate resources to specific processor, i.e., a FileSystem. This only CPU then can access to
this instance of FileSystem. The scheduler is based on the cooperative threading model, therefore due to this design, TORO can migrate threads
between CPUs and send messages between threads without using any lock instruction.
I am Matias Vara (http://www-sop.inria.fr/members/Matias.Vara_Larsen/), founder and main developer of TORO (http://sourceforge.net/projects/toro/, http://torokerneleng.blogspot.com/) since 2006. Currently, I am doing a PhD in Computer Science at INRIA, Nice, France.
FOSDEM is a very good place to discuss general purpose operating systems vs. dedicated operative systems. This discussion can be motivated by showing the characteristics of TORO by highlighting the main differences with a general purpose OS. The talk will take around 25 minutes.