Computer Science Thesis Proposal

Location:
In Person and Virtual - ET - Traffic21 Classroom, Gates Hillman 6501 and Zoom

Speaker:
JUNCHENG YANG , Ph.D. Student, Computer Science Department, Carnegie Mellon University
https://www.cs.cmu.edu/~juncheny/

Designing Efficient and Scalable Cache Management Systems

Software caches, e.g., key-value caches and object caches, are widely deployed in today's system stacks to support the ever-growing digital society. DRAM scaling has slowed down, with the price per Gigabyte staying stable over the past few years. In the meantime, computing devices, e.g., CPUs, continue to scale horizontally, with server CPUs reaching over a hundred cores per socket. The increasing gap between DRAM capacity and computation power emphasizes the importance of cache efficiency. Meanwhile, the increasing number of cores per CPU makes thread scalability a critical requirement for designing software caches. 

This thesis explores different approaches to improving the efficiency and scalability of software caches. 

We first perform a large-scale cache workload analysis to advance the understanding of in-memory key-value caches. In addition to confirming previous observations, we identify several new patterns in cache workloads, e.g., extensive use of time-to-live (TTL), and the prevalence of write-heavy workloads.  Inspired by the workload analysis, we design Segcache, a TTL-indexed segment-structured cache. Segcache (1) removes expired objects proactively; (2) minimizes per-object metadata via approximation and sharing; and (3) reduces critical section size using macro management. 

These properties enable more objects to be stored with a close-to-linear thread scalability.  We also design C2DN, a fault-tolerant CDN cache cluster, which leverages erasure coding for low-overhead redundancy. Naive use of erasure coding in a CDN cache cluster is ineffective because of independent evictions.

We introduce parity rebalance to balance the write load among caches so that C2DN provides efficient and effective fault tolerance. 

Existing learned caches often incur a significant overhead. We propose a new approach to low-overhead learned cache called GL-Cache, which learns the usefulness of object groups rather than individual objects. Group-level learning amortizes the learning overheads and accumulates more information for learning. While GL-Cache improves efficiency, using machine learning as a black box increases complexity and debugging difficulty. I plan to explore the design of (1) an interpretable learned cache and (2) simple yet efficient cache eviction algorithms by leveraging observations in our recent workload study.  

Thesis Committee:

Rashmi Vinayak (Chair)
Greg Ganger
Phillip B. Gibbons
Vijay Chidambaram (University of Texas at Austin)
Ion Stoica (University of California, Berkeley)

In Person and Zoom Participation. See announcement.


Add event to Google
Add event to iCal