HPDC '15
A Case for Transforming Parallel Runtimes Into Operating System Kernels
Proceedings of the 24th ACM Symposium on High-performance Parallel and Distributed Computing (HPDC 2015), June 2015.
Abstract
The needs of parallel runtime systems and the increasingly sophisticated languages and compilers they support do not line up with the services provided by general-purpose OSes. Furthermore, the semantics available to the runtime are lost at the system-call boundary in such OSes. Finally, because a runtime executes at user-level in such an environment, it cannot leverage hardware features that require kernel-mode privileges—a large portion of the functionality of the machine is lost to it. These limitations warp the design, implementation, functionality, and performance of parallel runtimes. We summarize the case for eliminating these compromises by transforming parallel runtimes into OS kernels. We also demonstrate that it is feasible to do so. Our evidence comes from Nautilus, a prototype kernel framework that we built to support such transformations. After describing Nautilus, we report on our experiences using it to transform three very different runtimes into kernels.
BibTeX
@inproceedings{HALE:2015:NAUTILUS,
author = {Hale, Kyle C. and Dinda, Peter A.},
title = {A Case for Transforming Parallel Runtimes Into Operating System Kernels},
booktitle = {Proceedings of the 24th ACM Symposium on High-performance Parallel and Distributed Computing (HPDC 2015)},
series = {HPDC '15},
year = {2015},
month = {June},
pages = {27–32},
numpages = {6},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
location = {Portland, Oregon, USA},
isbn = {9781450335508},
doi = {10.1145/2749246.2749264},
url = {https://doi.org/10.1145/2749246.2749264},
keywords = {hrts, hybrid runtimes, nautilus, parallel runtimes}
}