Rethinking the Storage Stack for Multi-Core, Multi-Device Systems
We are now in the post-file, post-disk era. At the bottom of the storage stack, there is an explosion of diversity in storage hardware; SSDs are an ubiquitous alternative to disks, and various flavors of non-volatile RAM are rapidly gaining traction. At the top of the storage stack, applications are increasingly parallelized over dozens of cores and use storage abstractions other than files, such as key-value maps, graphs, and other arbitrary data structures. Unfortunately, the 'narrow waist' of the storage stack -- the simple block device API -- acts as a semantic bottleneck between software and hardware, resulting in slow, complex and inefficient systems. In this talk, we explore new abstractions for storage that offer richer APIs for concurrency and fault-tolerance, unlocking the performance of today's multi-core, multi-device systems.
Bio: Mahesh Balakrishnan is an Associate Professor at Yale since Fall 2015. He received a PhD in Computer Science from Cornell University in 2009. He worked at Microsoft Research Silicon Valley from 2008 to 2014, where he co-led the CORFU/Tango project on shared log systems, and briefly at VMware Research in 2015. His research interests span distributed systems, storage and networking. Currently, his research centers on new abstractions that simplify the construction of fast, reliable and consistent systems.