Table of Contents

Generalized Caching-as-a-Service

Project Period: 06/15/2020 - 05/31/2024

The goals of this project are to:

  1. define a new abstraction and architecture for storage caches whereby storage stacks can easily embed lightweight CaaS clients within a distributed compute infrastructure.
  2. formulate and theoretically analyze distributed caching algorithms that operate within the CaaS service such that individual CaaS server nodes cooperate towards achieving globally optimal caching decisions,
  3. co-design client and server end-points to achieve strict durability and fault-tolerance in their implementations, and
  4. drive all CaaS advancements using insights generated from a detailed whole-system simulator that models the diverse cache devices, network configurations, and application demand.

Investigators

Personnel

Abstract

Caching has been a consistent tool of designers of high-performance, scalable computing systems, but it has been deplo yed in so many ways that it can be difficiult to standardize and scale in cloud systems. This project elevates the use of caching in cloud-scale storage system to a “first-class citizen” by designing and implementing generalized Caching -as-a-Service (CaaS). CaaS defines transformative technology along four complementary dimensions. First, it defines a new abstraction and architecture for storage caches whereby storage stacks can easily embed lightweight CaaS clients w ithin a distributed compute infrastructure. Second, CaaS formulates and theoretically analyzes distributed caching alg orithms that operate within the CaaS service such that individual CaaS server nodes cooperate towards achieving global ly optimal caching decisions. Third, the distributed CaaS clients and servers are co-designed to achieve strict durabi lity and fault-tolerance in their implementations. And finally, all of the CaaS advancements are driven by insights ge nerated from a detailed whole-system simulator that models the diverse cache devices, network configurations, and appl ication demand.

The CaaS project supports a broad spectrum of applications that run in the private and public clouds. The CaaS project showcases these improvements via use cases in three important computing paradigms: Cloud, Big Data, and Deep Learning . The findings from the CaaS project create new educational content and research opportunities for undergraduates, Mas ters, and PhD students via exposition and involvement of these student groups within classroom projects and laboratory work. The outreach activities focus on the recruitment of under-represented students from minority groups in Computer Science for participation in the project. The outcomes of the CaaS project include open source software and public di ssemination of research findings which help transition of the new technologies to practice.

Publications

Public Software

Support

This work has been supported by the National Science Foundation awards CNS-1956229 and CNS-1955593|.