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 V3VEE project and the Hobbes project.
- 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 2018), September, 2018.
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.
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]
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 email@example.com:kchale/nautilus.git
For instructions on how to configure, compile, and use Nautilus, please see the README in the top-level directory of the source tree.
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, CNS-1718252, and CNS-0709168, 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.