Bio and Research Summary

Michael L. Scott.  b. 1959.  Ph.D. (1985) University of Wisconsin–Madison.  Assistant Professor (1985–91), Associate Professor (1991–97), Department Chair (1996–99), Full Professor (1997–present), University of Rochester.  Senior Scientist, Laboratory for Laser Energetics (2001–2004).  IBM Faculty Development Award (1986–88).  Edsger W. Dijkstra Prize in Distributed Computing, 2006 (with John M. Mellor-Crummey).  ACM Fellow (2006).  IEEE Fellow (2010).  UR Goergen Award for Distinguished Achievement and Artistry in Undergraduate Teaching, 2001.  General Chair, SOSP 2003.  Program Chair, TRANSACT 2007, PPoPP 2008, ASPLOS 2012.  Author of Programming Language Pragmatics, the #2-selling text in programming language design and implementation. 

Prof. Scott’s research has primarily addressed the design and implementation of systems software for parallel and distributed computing.  He is best known for work in synchronization mechanisms for multithreaded systems, with a recent emphasis on transactional memory (TM), concurrency pedagogy, and deterministic parallelism.  The TM work is joint with students Bill Scherer (now at Rice University), Virendra Marathe (now at Oracle Labs), Mike Spear (now at Lehigh University), and Luke Dalessandro, and with Sandhya Dwarkadas and her student Arrvindh Shriraman (now at Simon Fraser University).  It has addressed a wide variety of topics, including metadata organization, buffering and eagerness, contention management, inevitability, high-level semantics, nonblocking implementations, retry mechanisms, validation and consistency, privatization, and hardware support (US patent #8,180,971).  The RSTM package, available for open-source download, supports experimentation with a large number of TM implementations behind a single API; it is in active use at labs around the world. 

Work begun with Rochester alumnus John Mellor-Crummey (now on the faculty of Rice University) and continued with several students, has addressed the design of fast, contention-free synchronization algorithms based on simple, general-purpose read-modify-write instructions.  The key idea in these algorithms is for every process to spin on a separate, locally-accessible location, which is changed by means of a single remote operation when the process is able to continue.  Later work has addressed scheduling and synchronization, timeout-capable locks (Best Paper Award at HiPC 2005; US patent #6,965,961), nonblocking concurrent objects (Best Student Paper award at PPoPP 2006, CACM 2009 Research Highlight), and software transactional memory.  The MCS queue-based spin lock, co-designed with Mellor-Crummey, appears in a variety of commercial and academic systems, including the Mercury operating system that drives many medical CAT scanners.  The M&S lock-free queue, co-designed with former student Maged Michael (now at IBM Research), is part of the Java standard library.  Lock-free Exchanger and SynchronousQueue algorithms, co-designed with Doug Lea and Bill Scherer, were adopted for inclusion in Java 6

The Cashmere project, begun with former students Bill Bolosky (now at Microsoft Research) and Leonidas Kontothanassis (now at Google), and continuing with Robert Stets (also at Google), exploited multiprocessor clusters and low-latency system area networks for high-performance, software distributed shared memory.  The Cashmere coherence protocol and its two-way diffing mechanism are the subject of US patent #6,341,339

The InterWeave project (Best Paper award at ICPP 2002) was a follow-on to Cashmere.  It extended the convenience of persistent, type-safe shared state to independently constructed programs running on heterogeneous, geographically distributed machines.  InterWeave was designed to interoperate with industry-standard mechanisms for remote procedure call and remote method invocation.  Implementations were constructed for a wide variety of languages, operating systems, and hardware platforms. 

The Coign project, developed by former student Galen Hunt (now at Microsoft Research), developed an automatic distributed partitioning system (ADPS) capable of distributing shrink-wrapped component-based software across the nodes of a distributed system in order to minimize communication costs.

In the area of low-power processor design, Scott has collaborated with David Albonesi, Chen Ding, Sandhya Dwarkadas, and Eby Friedman on complexity-adaptive processors (Top Picks choice, IEEE MICRO 2003; US patent #7,089,443), which dynamically vary the tradeoffs among clock speed and circuit complexity to customize performance and energy consumption to the needs of particular appliation phases.  Work with former student Athanasios Papathanasiou (now at Intel Corp.) addressed complementary techniques at the operating system level, with a particular emphasis on the power-efficient management of hard disks (Best Paper award, USENIX 2004). 

Other past projects include the Lynx distributed programming language, the Charlotte and Psyche parallel operating systems, the Bridge parallel file system (a precursor to active disks), the Hemlock system for cross-application memory sharing, and the Penguin user-interface dialogue manager.  More general interests include compiler technology, parallel algorithms, memory and processor architecture, and program development environments and tools. 


back button Back to Scott’s home page                
Last Change: 29 June 2012 / Michael Scott's email address