Only few High-Performance Computing (HPC) applications exploit the whole computing power of current supercomputers. This trend is not likely to change in the near future since the performance increase is expected to stem from explicit parallelism adding to the burden of the application programmers to write efficient code. Co-scheduling is expected to be one means to cope with this issue by a revocation of the exclusive assignment of jobs to nodes and vice versa. This approach demands for dynamic schedules as jobs come and go influencing the optimal distribution of the processes across the cluster. Therefore, we consider virtualization techniques valuable for future supercomputers. On the one hand, they facilitate a strong isolation between applications running on the same nodes and enable the seamless migration thereof. On the other hand, recent hardware developments diminish the performance gap that is introduced by the virtualization layer to native execution.
In this chapter we present a comprehensive study of virtualization applied to HPC. In doing so, we do not only focus on quantitative aspects estimating the performance impact on common workloads but also discuss qualitative arguments for and against the deployment of virtualization in this context. Our results reveal that well configured Virtual Machines (VMs) can achieve close to native performance. However, the current HPC software stack requires adaptions for the support of transparent migrations and locality-aware communication.
IOS Press, Inc.
6751 Tepper Drive
Clifton, VA 20124
Tel.: +1 703 830 6300
Fax: +1 703 830 2300 firstname.lastname@example.org
(Corporate matters and books only) IOS Press c/o Accucoms US, Inc.
For North America Sales and Customer Service
West Point Commons
Lansdale PA 19446
Tel.: +1 866 855 8967
Fax: +1 215 660 5042 email@example.com