HExSA Lab

|

Laboratory for High-performance Experimental Systems and Architecture

PhD Student Positions: Currently recruiting PhD students. If you're interested in doing research in systems, specifically in operating systems, high-performance computing, computer architecture, and programming languages, please see this page.

About

We are interested in the design of systems software for high-performance and parallel computing. As we see hardware scale up--both in terms of the number of interconnected machines and in terms of the number of computing elements on a single chip--We believe it is time to reconsider some of the design decisions that have sustained the popularity of the Linux/x86 software stack for general-purpose computing. Particularly, how should we organize/structure systems software stacks for future massive-scale machines?

People

Faculty

Ph.D. Students

Masters Students

Undergraduates

Alumni

Masters Students

Publications

Selected Publications

Refereed Conference and Workshop Publications

Non-Overlapping Technical Reports

Projects

Hybrid Runtimes

Hybrid Runtimes are a combination of a parallel runtime and a traditional OS kernel layer called an Aerokernel, which is similar to a library OS, but fully implemented in kernel-mode. This mash-up of the runtime and OS kernel allows the runtime to choose its own abstractions and access privileged hardware which is typically only accessed at ring 0. Hybrid runtimes are a good match for high-performance systems where performance is critical. Take a look at the case paper here.

Nautilus Aerokernel

Nautilus is an Aerokernel that we built to support the Legion runtime and other home-grown parallel runtimes. It is designed for the hybrid runtime model and supports large many-core chips with complex memory hierarchies. It boots on commodity x86-64 hardware and the Intel Xeon Phi. You can find out more at the Nautilus website.

Multiverse Runtime System

Multiverse is a runtime system that enables legacy applications to run in the context of a Hybrid Runtime (HRT) environment without any porting effort. The runtime (with the application) is automatically split into two parts. One part provides a legacy general-purpose OS and library environment. The other part constitutes an accelerated environment wherein the runtime enjoys direct hardware access and the light-weight, high-performance mechanisms provided by an Aerokernel.

Nemo Event System

Nemo is an accelerated, asynchronous software event system designed for the Hybrid Runtime (HRT) model. Nemo events leverage Inter-processor Interrupt (IPI) hardware and the privileged execution model of HRTs to speed up software events by several orders of magnitude.