CS 595: Advanced Topics in Serverless and Edge Computing

Past Iterations: Fall ‘21

Coalescent Computing

As computational infrastructure extends to the edge, it will increasingly offer the same fine-grained resource provisioning mechanisms used in large-scale cloud datacenters, and advances in low-latency, wireless networking technology will allow service providers to blur the distinction between local and remote resources for commodity computing.

Virtines: Isolated Execution at Function Call Granularity

We are exploring the limits of hardware virtualization by running individual functions in lightweight, virtualized execution environments called virtines. Programmers create virtines by annotating existing functions in C or Rust, and our runtime system (Wasp) manages virtual machines automatically.

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.

The Interweaving Project

Nautilus Aerokernel

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

CS 562: Virtual Machines

Past Iterations: Spring ‘22 Fall ‘19 Fall ‘18 Fall ‘17

Prospects for Functional Address Translation

Towards a Practical Ecosystem of Specialized OS Kernels

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).