1. Performance Analysis of Ivshmem for High-Performance Computing in Virtual Machines
- Author
-
Harald Richter and Pavle Ivanovic
- Subjects
History ,MPICH ,Computer science ,Supercomputer ,Virtualization ,computer.software_genre ,Computer Science Applications ,Education ,Shared memory ,Virtual machine ,Synchronization (computer science) ,Operating system ,Performance improvement ,computer ,Block (data storage) - Abstract
High-Performance computing (HPC) is rarely accomplished via virtual machines (VMs). In this paper, we present a remake of ivshmem which can change this. Ivshmem was a shared memory (SHM) between virtual machines on the same server, with SHM-access synchronization included, until about 5 years ago when newer versions of Linux and its virtualization library libvirt evolved. We restored that SHM-access synchronization feature because it is indispensable for HPC and made ivshmem runnable with contemporary versions of Linux, libvirt, KVM, QEMU and especially MPICH, which is an implementation of MPI - the standard HPC communication library. Additionally, MPICH was transparently modified by us to get ivshmem included, resulting in a three to ten times performance improvement compared to TCP/IP. Furthermore, we have transparently replaced MPI_PUT, a single-side MPICH communication mechanism, by an own MPI_PUT wrapper. As a result, our ivshmem even surpasses non-virtualized SHM data transfers for block lengths greater than 512 KBytes, showing the benefits of virtualization. All improvements were possible without using SR-IOV.
- Published
- 2018
- Full Text
- View/download PDF