Brussels / 3 & 4 February 2024


Is Toro unikernel faster for MPI?

MPI applications are parallel applications that require CPU, memory and high-throughput channels to communicate. These applications are usually deployed on top of a general purpose operating system that provides services like memory allocation, process creation, inter-process communication and networking. The resources like memory or CPU are shared with other processes in the system and with the OS itself. The MPI application competes for host's resources thus limiting its scalability. In this talk, we present the recent effort to build an implementation of the MPI standard on top of the Toro unikernel. In this deployment, we provide a minimalist implementation of the MPI standard as a library that compiles with the application and the kernel thus resulting in a single binary that can be deployed as microVM. Such a library leverages the parallelism that Toro proposes to effectively deploy a MPI application. Some of the benefits of using Toro are one instance per core, cooperative scheduler without preemption and local resources. To benchmark our implementation, we port some the OSU Micro-Benchmarks and run them in the Intel Xeon Gold platform. We report the benefits of our architecture when comparing it with existing MPI implementation on Linux.


Photo of Matias Vara Larsen Matias Vara Larsen