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