TY - GEN
T1 - A case for transforming parallel runtimes into operating system kernels
AU - Hale, Kyle C.
AU - Dinda, Peter A
N1 - Publisher Copyright:
© 2015 ACM.
PY - 2015/6/15
Y1 - 2015/6/15
N2 - 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 ma-chine is lost to it. These limitations warp the design, imple-mentation, functionality, and performance of parallel run-times. We summarize the case for eliminating these com-promises by transforming parallel runtimes into OS kernels. We also demonstrate that it is feasible to do so. Our evi-dence comes from Nautilus, a prototype kernel framework that we built to support such transformations. After de-scribing Nautilus, we report on our experiences using it to transform three very difierent runtimes into kernels.
AB - 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 ma-chine is lost to it. These limitations warp the design, imple-mentation, functionality, and performance of parallel run-times. We summarize the case for eliminating these com-promises by transforming parallel runtimes into OS kernels. We also demonstrate that it is feasible to do so. Our evi-dence comes from Nautilus, a prototype kernel framework that we built to support such transformations. After de-scribing Nautilus, we report on our experiences using it to transform three very difierent runtimes into kernels.
KW - HRTs
KW - Hybrid runtimes
KW - Nautilus
KW - Parallel runtimes
UR - http://www.scopus.com/inward/record.url?scp=84987725237&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84987725237&partnerID=8YFLogxK
U2 - 10.1145/2749246.2749264
DO - 10.1145/2749246.2749264
M3 - Conference contribution
AN - SCOPUS:84987725237
T3 - HPDC 2015 - Proceedings of the 24th International Symposium on High-Performance Parallel and Distributed Computing
SP - 27
EP - 32
BT - HPDC 2015 - Proceedings of the 24th International Symposium on High-Performance Parallel and Distributed Computing
PB - Association for Computing Machinery, Inc
T2 - 24th ACM Symposium on High-Performance Parallel and Distributed Computing, HPDC 2015
Y2 - 15 June 2015 through 19 June 2015
ER -