UTCS Colloquia - Bryan Ford, Yale University, "Enforced Determinism: What Is It, How Practical Is It, and What's It Good For?," ACES 2.402

Contact Name: 
Vitaly Shmatikov
ACE 2.402
Nov 15, 2012 11:00am - 12:00pm

Signup Schedule: http://apps.cs.utexas.edu/talkschedules/cgi/list_events.cgi

Speaker/Affiliation: Bryan Ford, Yale University

Talk Audience: Faculty, Grads, Undergrads, Outside Interested Parties

Host:  Vitaly Shmatikov

Talk Title: "Enforced Determinism: What Is It, How Practical Is It, and What's It Good For?"

Talk Abstract: System-Enforced Determinism: What Is It, How Practical Is It, and What's It Good For?

Deterministic execution is useful and sometimes vital in contexts such as in debugging, fault tolerance, and distributed consensus schemes, but deterministic parallel execution presents many technical challenges.  The Determinator project at Yale has built the first operating system implementing a pervasively and enforceably deterministic parallel environment compatible with existing languages.  Determinator's model simplifies parallel programming by offering more predictable semantics and eliminating Heisenbugs in both shared-memory and multi-process parallel code.  Existing parallel software often requires little or no porting, and some applications perform on Determinator comparably to conventional nondeterministic environments.  While Determinator can emulate nondeterministic pthreads-style semantics when necessary, we find that over 90% of the synchronization code throughout several parallel benchmark suites either directly or idiomatically expresses naturally deterministic abstractions.  These results suggest that pervasively deterministic models, such as our Deterministic OpenMP (DOMP) framework, can make Heisenbug-free programming intuitive, accessible, and practical.  Beyond programming convenience, Determinator's ability to enforce determinism even on buggy or malicious code can improve security by preventing malware from detecting or escaping intrusion detection systems, and leads to the first practical method of controlling timing side-channels  in cloud computing environments.

Speaker Bio: Bryan Ford leads the Decentralized/Distributed Systems (DeDiS) group at Yale University, where his research touches on many areas including secure and certified OS kernels, parallel and distributed computing, security and privacy, and Internet architecture.  He has received the Jay Lepreau Best Paper Award at OSDI for his recent work, and multiple grants from NSF, DARPA, and ONR, including the NSF CAREER award.  His pedagogical achievements include PIOS, the first OS course framework leading students through development of a working, native multiprocessor OS kernel.  Prof. Ford earned his B.S. at the University of Utah and his Ph.D. at MIT, while researching topics including mobile device naming and routing, virtualization, microkernel architectures, and touching on programming languages and formal methods.