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?

Follow @HExSA-Lab

People

Faculty

Ph.D. Students

Masters Students

Undergraduates

Alumni

Undergraduates

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.

Sponsors


Our primary funding currently comes from the National Science Foundation via the following awards:

Some ongoing FPGA work is enabled through access to the HARPv2 testbed, courtesy of Intel.