Wasp: Pushing Serverless Computing to the Limit

Current serverless and micro-service architectures rely on existing system software to preserve compatibility and minimize development effort. However, they also inherit the latencies and overheads that existing systems carry with them.

Exploring Julia at the Large Scale

Practitioners of high-performance parallel computing have long sought better programming models and languages to ease the task of writing programs for large-scale systems. However, there is an undeniable tension that exists between extreme performance and developer friendliness.

Coordinated Resource Management for Cloud-based Specialized Operating Systems

Containerization has recently gained significant interest among cloud providers and users due to its ease of deployment and lightweight virtualization capabilities. The key feature of these approaches is the sharing of a single Linux OS instance among each active container environment.

Nautilus Aerokernel

Nautilus is a custom, lightweight operating system kernel designed for being fused with high-performance, parallel runtime systems. See more here.

Modeling Speedup in Multi-OS Environments

Towards a Practical Ecosystem of Specialized OS Kernels

An Evaluation of Asynchronous Software Events on Modern Hardware

REU Site: Collaborative Research: BigDataX: From theory to practice in Big Data computing at eXtreme scales

NSF Award CCF-1757964; $333,106; February 2018 through January 2021. This project is in collaboration with Ioan Raicu at IIT as well as Kyle Chard and Aaron Elmore at the University of Chicago.

CSR: Small: Collaborative Research: Flexible Resource Management and Coordination Schemes for Lightweight, Rapidly Deployable OS/Rs

CNS Award CNS-1718252; $249,771 (Collaborative total: $499,735); August 2017 through July 2020. This project is a collaborative effort with Jack Lange at the University of Pittsburgh. Also see here. Current cloud systems leverage either heavy-weight virtualization (running applications inside full-fledged virtual machines (VMs) with their own operating systems) or containers (light-weight software environments that share a single underlying operating system).

Multiverse: Easy Conversion of Runtime Systems Into OS Kernels via Automatic Hybridization