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.

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 communication 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 efficiently, 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)

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 Proceedings 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 Department, 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

Open Source Software

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


Activities