Nautilus is the first example of an AeroKernel that is available for public use and development. AeroKernels are extermely
lightweight OS kernels that are intended to support the Hybrid Runtime (HRT) model,
in which a parallel runtime enjoys full access to the entire machine. An AeroKernel like Nautilus provides a minimal set of functionality to the runtime. Nautilus currently runs
on modern x64 HPC-class hardware and on the Intel Xeon Phi accelerator. Some features of Nautilus include the following:
- Support for large-scale, many-core architectures
- NUMA-aware memory subsystem
- Multiboot2 compliant
- Minimal ACPI and SFI support
- Fast, lightweight synchronization and threading facilities (see the publications below)
- Configurable to run in x64, Xeon Phi (KNC/KNL), and HVM/HRT environments
- An extremely light-weight event subsystem called Nemo
Nautilus is part of the Interweaving project, the V3VEE project, and the Hobbes project.
Contributors
- Kyle Hale (IIT)
- Peter Dinda (NU)
- Conor Hetland (NU)
- Conghao Liu (IIT)
- Brian Richard Tauro (IIT)
- Panitan Wongse-Ammat (NU)
- James Whang (NU)
- Yang Wu (NU)
- Christopher Beauchene (NU)
- Brady Lee (NU)
- Yingyi Luo (NU)
- Guixing Lin (NU)
- Jinghang Wang (NU)
- William Wallace (NU)
- Scott Renshaw (NU)
- Matt George (NU)
- Goutham Kannan (IIT)
- Imran Ali Usmani (IIT)
- Xioyang Wang (NU)
- Nathan Lindquist (NU)
- Gino Wang (NU)
- Jin Han (NU)
- Qingtong Guo (NU)
- Vyas Alwar (NU)
- Hangjie Mo (NU)
- Weizheng Xu (NU)
- Michael Leonard (NU)
- John Albers (NU)
Publications
- K. Hale and P. Dinda. "An Evaluation of Asynchronous Software Events on
Modern Hardware," Proceedings of the 26th IEEE International
Symposium on the Modeling, Analysis, and Simulation of Computer and
Telecommunication Systems (MASCOTS '18), September, 2018.
[pdf]
-
P. Dinda, X. Wang, J. Wang, C. Beauchene, C. Hetland. "Hard Real-time Scheduling
for Parallel Run-time Systems," Proceedings of the 27th ACM Symposium on
High-performance Parallel and Distributed Computing (HPDC '18), June, 2018.
[pdf]
-
K. Hale, C. Hetland, and P. Dinda. "Multiverse: Easy Conversion of Runtime
Systems Into OS Kernels via Automatic Hybridization," Proceedings of the
14th IEEE International Conference on Autonomic Computing (ICAC
'17), July, 2017. [pdf]
-
K. Hale, C. Hetland, and P. Dinda. "Automatic Hybridization of Runtime Systems," Proceedings of the 25th ACM International Symposium on High Performance
Parallel and Distributed Computing (HPDC '16), June, 2016. [pdf]
- K. Hale and P. Dinda. "Enabling Hybrid Parallel Runtimes Through Kernel and Virtualization Support," Proceedings of the 12th ACM SIGPLAN/SIGOPS International
Conference on Virtual Execution Envrionments (VEE '16), April, 2016. [pdf] [slides]
- K. Hale and P. Dinda. "Pushing Software Events to the Hardware Limit," Technical Report NU-EECS-16-02, March, 2016. [pdf]
- K. Hale and P. Dinda. "Automatic Hybridization of Runtime Systems," Technical Report NU-EECS-16-03, March, 2016. [pdf]
- K. Hale and P. Dinda. "A Case for Transforming Parallel Runtimes into Operating System Kernels," Proceedings of the 24th ACM International Symposium
on High-performance Parallel and Distributed Computing (HPDC '15), June, 2015. [pdf] [slides]
- K. Hale and P. Dinda. "Details of the Case for Transforming Parallel Runtimes into Operating System Kernels," Technical Report NU-EECS-15-01, April, 2014. [pdf]
Software
You can view the up-to-date source code for Nautilus and download it at our public git repository.
You can also clone Nautilus directly:
git clone https://github.com/HExSA-Lab/nautilus
For instructions on how to configure, compile, and use Nautilus, please see the README in the top-level directory of the source tree.
philix
Philix is a command-line tool for booting custom, 3rd party OSes on the Intel Xeon Phi. We developed it during our work with Nautilus. Find out more here.
Nautilus was made possible by support from the United States National Science
Foundation (NSF) via grants CCF-1533560, CRI-1730689, REU-1757964, CNS-1718252,
CNS-0709168, CNS-1763743, and CNS-1763612, the Department of Energy (DOE) via
grant DE-SC0005343, and Sandia National Laboratories through the Hobbes
Project, which is funded by the 2013 Exascale Operating and Runtime Systems
Program under the Office of Advanced Scientific Computing Research in the DOE
Office of Science. Sandia National Laboratories is a multi-program laboratory
managed and operated by Sandia Corporation, a wholly owned subsidiary of
Lockheed Martin Corporation, for the U.S. Department of Energy’s National
Nuclear Security Administration under contract DE-AC04-94AL85000.