Professor Emeritus, University of California Santa Cruz

Computer Science and Engineering Department | |
Baskin School of Engineering | |
1156 High Street, MS SOE3 | |
Santa Cruz, CA 95064 | |
E-mail: | elm «at» ucsc·edu |
Google Voice: | +1 (831) 295-8432 |
ORCID: | 0000-0003-2994-9060 |
Professional societies | |
Fellow, IEEE | |
Distinguished Member, ACM | |
Member, Sigma Xi |
I retired from active service at UC Santa Cruz on July 1, 2023. Please read this blog post for details. Since I'm an emeritus faculty member, I don't have regular teaching duties or service duties. My plan is to continue my research collaborations with colleagues, including those in the Storage Systems Research Center. I don't plan to take on any new students as a primary advisor. However, I will consider co-advising students who want to study in specific research areas: secure file systems and data storage, archival storage and operating systems for non-volatile memories. If you have an interest in either of these areas and a strong background in computer systems, I'd be happy to consider co-advising you in a Ph.D. in those areas.
I'm the Director Emeritus of the NSF I/UCRC Center for Research in Storage Systems (CRSS) and the Associate Director Emeritus of the Storage Systems Research Center here at UC Santa Cruz, where I explored issues in file and storage systems and, more generally, distributed systems and operating systems. My most recent projects include file systems for next-generation storage technologies, archival storage systems, file system security, scalable file system indexing, and exascale storage systems. I'm also interested in storage system benchmarks, algorithms to more efficiently manage storage, and information retrieval from very large text and multimedia corpora as well as other problems in computer systems and security.
I was named an ACM Distinguished Scientist in 2013, and an IEEE Fellow in 2014. My Erdös number is 3.
Research interests
My research has focused on storage systems, with a focus on security, archival storage, and large-scale storage. I have also done significant research in operating systems and distributed systems. You can download a recent version of my CV.
File systems & storage
I was the Associate Director of the Storage Systems Research Center for over 20 years, until my retirement in 2023. I now maintain an archived copy of the SSRC web site and SSRC git
server. The SSRC web site is freely accessible, except for the portions that were originally restricted to SSRC members. The SSRC git
server is not accessible unless you log in. If you're a former SSRC member who needs access to repositories hosted there, please contact me.
Secure storage
I have been exploring secure storage for over twenty years, starting with my work on lockbox storage, published in FAST 2002. My research has included the first work on verifiable remote storage ("Store, Forget, and Check", ICDCS 2006), secure archival storage (POTSHARDS, USENIX ATC 2007 and ACM TOCS), and techniques for encrypting blocks of a file with different keys to both efficiently allow access to small ranges of a file (Horus, FAST 2013) and efficient secure deletion on non-rewritable media (Lethe). I have done other work in the area as well, refining these overall research goals.
Archival storage
I have worked on archival storage for over 30 years, starting with my masters project at UC Berkeley. I have led projects in analysis of archival storage workloads, scalable archives using intelligent disks (Pergamum, FAST 2008), and long-term archival storage security (POTSHARDS). I am currently investigating new techniques for long-term archival storage security as part of an NSF grant with Erez Zadok and Omkant Pandey at Stony Brook University.
Flash storage
Stuff about flash storage, including Pure Storage.
Scalable storage
My PhD thesis described RAMA, an early parallel file system that used randomized data distribution to provide acceptable performance on a wide range of workloads. My group later developed these techniques into the RUSH and CRUSH data distribution algorithms. As part of the SSRC, I helped design the Ceph file system, focusing on data distribution and storage system reliability, which has grown to be one of the most widely-used open-source distributed storage platforms for high-performance computing. In addition, I've done significant work in providing security for petabyte-scale storage systems.
I'm currently investigating the use of flash storage to build high-performance, reliable, energy-efficient exabyte-scale file systems for high-performance computing and AI.
Storage reliability and practical erasure coding
high performance Galois Field arithmetic in FAST 2013.
Operating systems
Recently, I investigated operating systems for single-level stores that restructure how the operating system interacts with non-volatile storage: the Twizzler project.
Distributed systems
Teaching
Over my 30 year career as a faculty member, I taught a wide range of classes in computer systems at both the undergraduate and graduate level. I've taught undergrad classes in computer architecture, operating systems, computer systems, computer security, and distributed systems, in addition to lower-division classes in Java (ugh!) and C programming. My graduate classes have included operating systems, file systems and data storage, distributed systems, and computer security.