* * 1 Christopher C. Frost chris@frostnet.net http://www.frostnet.net/chris/ Education University of California, Los Angeles Ph.D. in Computer Science, 2010 Masters in Computer Science, 2006 Thesis: Improving File System Consistency and Durability with Patches and BPFS Advisor: Eddie Kohler GPA: 3.9 University of Virginia, School of Engineering and Applied Science Bachelor of Science in Computer Science, 2004 Bachelor of Arts in Mathematics, 2004 Thesis: Amorphous Shape Mapping Advisor: David Evans CS GPA: 3.9, Math GPA: 3.2, Overall GPA: 3.4 Work Experience Samsara Software Engineer April 2015-Present Developing an end-to-end networking sensing service, including designing hardware and developing the embedded and distributed software systems that gather and report data for our users. Google, Storage Infrastructure, Spanner Software Engineer February 2011-March 2015 With the Spanner team, developed the Spanner distributed database from prototype to core production service. Was the primary engineer behind the Spanner backup and restore service. UCLA, Readable Software Systems Group Graduate Student Research Assistant Fall 2004-2010 Lead or co-lead the BPFS, Featherstitch, and Libprefetch projects. Contributor to the JPred project. VMware, VMFS Group MTS Intern with Jinyuan Li, Mayank Rawat, and Murali Vilayannur Summer 2009 Designed and developed new distributed data movement capabilities for VMFS ESX clusters to improve performance and load balancing. Contributed to the design of new VMFS space saving technologies. Microsoft Research, Operating Systems Group Intern with Ed Nightingale and Jeremy Condit Summer 2008 Developed new file system consistency protocol design principles for phase change memory that yield both significantly faster and safer file systems than traditional consistency protocols. Google, AdSense and Java Infrastructure Groups Engineer Intern Summer 2005 Designed and developed a declarative RPC representation to replace AdSense's existing hand-coded RPC system. Extended internal AdSense RPC systems to permit further automation of ad analysis. Appian, Technology Technology Intern Summer 2004 As a team with three other interns, developed the first two business processes built on Appian Enterprise's BPM engine, from process specification to deployment. To implement our processes I developed Appian Enterprise's initial process loop construct and initial process model migration tool; both later supported the Army's Knowledge Online website, the world's largest intranet. Microsoft, WinCE Core OS Group Software Design Engineer Intern Summer 2003 Co-designed and developed Windows CE's UPnP AV Framework, a lightweight toolkit that simplifies UPnP AV DCP implementations. Contributed to the Windows CE C++ STL implementation. Christopher C. Frost 2 Dynetics, Missile Systems Department Engineer Intern (DoD Secret Clearance) Summers 2000 and 2001, Winter Breaks 2000-2001 and 2001-2002 Developed a joystick input option for the simulation architecture JMASS, a graphical frontend that streamlined and further automated geometrical testing of solid propellant missiles, a graphical commu- nication link analyzer that enabled engineers to assess flight tests more quickly and thoroughly, software that helped determine the feasibility of lower-frequency wind sampling for Tactical Unmanned Air Vehicle testing. Designed updates to the missile simulation system BADGER. Ported Solaris and Irix programs to Solaris, Linux, and Cygwin. US Army, Redstone Arsenal, AMRDEC, Missile Guidance Directorate SEAP Apprentice Summer 1999 Designed the target recognition training backend for the directorate's memory-less target recognition system. Research Experience BPFS, Microsoft Research and UCLA 2008-2010 Designed file system software and cache hardware for phase change memory to provide significantly stronger reliability guarantees than existing file systems support. Libprefetch, UCLA 2008-2010 Explored the performance properties of current disks and developed new file system prefetching interfaces and techniques that dramatically increase non-sequential disk read performance. Featherstitch, UCLA 2005-2010 Developed new file system abstractions that allow applications to manipulate stable storage more effi- ciently, safely, and easily. Developed the patch disk change abstraction for file system implementations and fast, scalable in-kernel graph analysis and manipulation algorithms. JPred, UCLA 2005-2006 Devised the first modular and typesafe type system that permits dynamic dispatch on object types in the face of multiple inheritance. Amorphous Shape Mapping, UVa 2003-2004 Developed and analyzed a method of mapping shapes using an amorphous computer, Undergraduate Thesis. Cracker Barrel Game Complexity, UVa Spring 2003 Proved a variant of the cracker barrel game to be NP-Complete. Amorphous Shape Growing, MIT Project on Mathematics and Computation Summer 2002 Developed an amorphous shape forming method, exploring node layout via cell growth and gradient exudation. Teaching Experience University of California, Los Angeles, Computer Science Department Teaching Assistant, Operating Systems (CS 111) Fall 2005, Winter 2006, Spring 2006 Developed the synchronization lab and enhanced the course's existing shell, file system, and event labs. Developed automated grading systems for the course's lab. Led weekly discussions and helped students during office hours and via email. Assisted with midterm and final design. Authored and delivered one lecture. The University of Virginia, Computer Science Department Teaching Assistant, Software Development Methods (CS 201) Fall 2001 Helped students during office hours, oversaw lab sections, and graded labs. Publications Journal Publications [1] Spanner: Google's Globally Distributed Database. Dean, Epstein, Fikes, Frost, Furman, Ghemawat, Gubarev, Heiser, Hochschild, Hsieh, Kanthak, Kogan, Li, Lloyd, Melnik, Mwaura, Nagle, Quinlan, Rao, Rolig, Saito, Szymaniak, Taylor, Wang, and Woodford. In Transactions on Computer Systems (TOCS), August 2013 31(3) [2] Expressive and Modular Predicate Dispatch for Java. Millstein, Frost, Ryder, and Warth. In Transactions on Programming Languages and Systems (TOPLAS), February 2009 31(2) Christopher C. Frost 3 Refereed Conference Publications [3] Spanner: Google's Globally-Distributed Database. Dean, Epstein, Fikes, Frost, Furman, Ghemawat, Gubarev, Heiser, Hochschild, Hsieh, Kanthak, Kogan, Li, Lloyd, Melnik, Mwaura, Nagle, Quinlan, Rao, Rolig, Saito, Szymaniak, Taylor, Wang, and Woodford. In Proceedings of the 2012 USENIX Symposium on Operating Systems Design and Implementation (OSDI), Hollywood, CA, October 2012 (Best paper.) [4] Better I/O Through Byte-Addressable, Persistent Memory. Condit, Nightingale, Frost, Ipek, Burger, Lee, and Coetzee. In Proceedings of the 22nd Symposium on Operating Systems Proceedings (SOSP), Big Sky, MT, October 2009 [5] Reducing Seek Overhead with Application-Directed Prefetching. VanDeBogart, Frost, and Kohler. In Proceed- ings of the 2009 USENIX Annual Technical Conference (USENIX), San Diego, CA, June 2009 [6] Generalized File System Dependencies. Frost, Mammarella, Kohler, de los Reyes, Hovsepian, Matsuoka, and Zhang. In Proceedings of the 21st Symposium on Operating Systems Proceedings (SOSP), Stevenson, WA, October 2007 (Audience choice awardee.) Refereed Workshop Publications [7] Modularly Typesafe Interface Dispatch in JPred. Frost and Millstein. In Proceedings of the 2006 International Workshop on Foundations and Developments of Object-Oriented Languages (FOOL/WOOD), Charleston, SC, January 2006 [8] The KudOS Architecture for File Systems. de los Reyes, Frost, Kohler, Mammarella, and Zhang. In The Work in Progress Session at the 20th Symposium on Operating Systems Principles (SOSP), Brighton, UK, October 2005 Theses [9] Improving File System Consistency and Durability with Patches and BPFS. Ph.D. Dissertation, University of California, Los Angeles, November 2010. [10] Amorphous Shape Mapping. Undergraduate Thesis, University of Virginia, May 2004. Newsletters [11] Pancakes, Puzzles, and Polynomials: Cracking the Cracker Barrel. Frost, Peck, Evans. In The Special Interest Group on Algorithms and Computation Theory (SIGACT) News, Volume 35, Number 1, March 2004 Technical Reports [12] Featherweight JPred. Frost and Millstein. Technical Report CSD-TR-050038, UCLA Computer Science De- partment, October 2005 [13] Pancakes, Puzzles, and Polynomials: Cracking the Cracker Barrel. Frost, Peck, Evans. Technical Report CS-2004-04, UVa Computer Science, March 2004 Patents [14] Method and System for Parallelizing Data Copy in a Distributed File System. VMware. Patent US8712960, issued April 2014. [15] Hardware and Operating Systems Support for Persistent Memory On A Memory Bus. Microsoft. Patent US8219741, issued July 2012. Talks o "Better I/O Through Byte-Addressable, Persistent Memory", conference talk at SOSP, October 2009 o "Generalized File System Dependencies", conference talk at SOSP, October 2007 o "Modularly Typesafe Interface Dispatch in JPred", workshop talk at FOOL/WOOD, January 2006 o "Cracking the Cracker Barrel Game", at UVa's Undergraduate Research and Design Symposium, Spring 2003 Christopher C. Frost 4 o "The Intersection of Two Planes is a Line", invited, but declined, to talk at the Mathematics Association of America, 2003 Meeting o "Shape Formation Through Cell Growth and Gradient Exudation", at MIT AI Lab, Summer 2002 and UVa CS, Fall 2002. o "Software Development Tools", at UVa ACM-Microsoft User Group Tech Talk, Fall 2003 Open Source Software o Scord Reduce the disk space used by a subversion working copy. http://scord.sf.net/ o Mswatch Efficiently keeps two IMAP mailstores in sync. http://mswatch.sf.net/ o BPFS File system for phase change memory. http://bpfs.cs.ucla.edu/ o Featherstitch Patch-based storage system. http://featherstitch.cs.ucla.edu/ o Libprefetch Faster nonsequential file access. http://libprefetch.cs.ucla.edu/ o JPred Compiler for practical predicate dispatch for Java. http://www.cs.ucla.edu/~todd/research/jpred.html Computing Experience Operating Systems Unix (with os-specific knowledge in Linux, ESX, Irix, and Cygwin), Windows and WindowsCE, NewtonOS, and JOS Programming Languages Proficient: C, C++, Java Working Knowledge: Bash, Python, Perl, x86, OCaml, Common LISP, Cg, VHDL, Lightning, Matlab, SQL, and LATEX Awards o OSDI best paper, 2012 o SOSP audience choice, 2007 o UCLA Computer Science Departmental Fellowship, 2004-2006 o Placed 1st at UCLA ACM's 1st and 2nd Programming Competitions, November 2004, February 2005 o Microsoft "Shipped" Award for Windows CE's UPnP Audio/Video Framework, Windows CE 5.0, July 2004 o Placed 11th, 11th, and 20th of 150 teams at ACM's Mid-Atlantic Programming Contest, Fall 2001, 2002, 2003 Member of UVa's team at ACM's 2003 World Finals, the top 70 of the 24,000 teams world wide, Spring 2003 o Placed 6th out of 146 teams at COMAP's International Interdisciplinary Contest in Modeling (MCM), Spring 2003 o Winner of the annual CS 340 Robot Games, Spring 2002 o "Most Outrageous Project" in CS 333, a JIT for the BF language, Fall 2001 o Placed 1st in Computer Science among Redstone Arsenal SEAP participants and in the top six at nationals among all SEAP participants for Implementation of a Relational Database as an Aid to Automatic Target Recognition, 1999 o Eagle Scout, 1998 Christopher C. Frost 5 Activities o UCLA chapter of the Association for Computing Machinery, Graduate Liaison, 2006-Spring 2009 o UVa chapter of the Association for Computing Machinery, Vice-Chair 2003, Secretary 2001 and 2002 o Honor Educator, 2001-2004 o Founding member of UVa's Student Pugwash chapter, 2002-2004 o Engineering School Fourth Year Board Member, 2003-2004 o Theta Tau, a national, professional, coeducational engineering fraternity, 2000-2004 o UVa Engineering Student Council, EWeek Co-chair Spring 2002, Co-First Year Representative 1st Year o Linux Users of North Alabama (LUNA), 1997-2000 Founding member, original author of the LUNA FAQ, and installfest organizer o Amateur Radio Operator (Technician), 1993-Present