Documentation

UW Connect

Michael Swift

Research Interests

 Hardware/Operating system interactions, computer system reliability, device drivers

Education

 Cornell University, Computer Science, Bachelor of Arts,                                                 1992

University of Washington, Computer Science and Engineering, Ph.D.,                               2005

  

Appointments

Assistant Professor, Department of Computer Sciences                             January 2006 – present
University of Wisconsin, Madison                                                             

Research Assistant and Teaching Assistant                                                          2000 - 2005
Department of Computer Science and Engineering
University of Washington, Seattle

Software Design Engineer                                                                                   1992-2000
Windows Operating System Group
Microsoft Corporation

 

Honors and Awards

 

University of Washington William Chan Memorial Dissertation Award

2006

Usenix/ACM OSDI Best Paper

2004

ACM SOSP Best Paper

2003

ACM Student Research Competition, First Place

2003

Intel Ph.D. Fellowship

2003-2004

 

External Activities

·       PC Chair TRANSACT                                                                            2011

·       PC Member Usenix ATC                                                                         2007, 2008, 2011

·       PC Member DCCS                                                                                  2010, 2011

·       PC Member ASPLOS                                                                              2011

·       PC Member SigMetrics                                                                            2010

·       PC Member SOSP                                                                                  2009

·       PC Member CCS                                                                                    2008

·       PC Member DSN                                                                                    2008

·       PC Member FAST                                                                                  2007

·       Workshop PC Member HotOS  (2007), MSPC (2008), HotPar (2009, 2010), SFMA (2011), TRANSACT (2009) 

·       Panelist: WIOSCA                                                                                  2007

·       Panel organizer TRANSACT                                                                    2007

 

 

Refereed Journal Publications

1.     Swaminathan Sundararaman, Sriram Subramanian, Abhishek Rajimwale, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau, Michael M. Swift. Membrane: Operating System Support for Restartable File Systems, ACM Transactions on Storage, Volume 6, Issue 3 (Sep 2010) (TOS '10)

2.     Jayaram Bobba, Luke Yen, Haris Volos, Kevin Moore, Mark D. Hill, Michael M. Swift, David A. Wood. Performance Pathologies in Hardware Transactional Memory. In IEEE Micro Top Picks, 2008.

3.     Michael Swift, Muthukaruppan Annamalai, Brian N. Bershad, Henry M. Levy.  Recovering Device Drivers, in ACM Transactions on Computer Systems, 24(4), pages 333—360, Nov. 2006.

4.     Michael M. Swift, Brian N. Bershad, and Henry M. Levy. Improving the Reliability of Commodity Operating Systems. In ACM Transactions on Computer Systems, 23(1), pages 77—110, February 2005.

5.     Steven Swanson, Lucas K. McDowell, Michael M. Swift, Susan J. Eggers, and Henry M. Levy. The Impact of Speculative Execution on Simultaneous Multithreaded Processors. In ACM Transactions on Computer Systems, 21(3), pages 314—340, August 2003.

6.     Michael M. Swift, Peter Brundrett, Cliff Van Dyke, Praerit Garg, Anne Hopkins, Shannon Chan, Mario Goertzel, and Gregory Jensenworth. Improving the Granularity of Access Control for Windows 2000. In ACM Transactions on Information and System Security, 5(4), pages 398—437, November 2002.

 

 

Refereed Conference Publications

  1. Haris Volos, Andres Jaan Tack, Michael M. Swift. Mnemosyne: Lightweight Persistent Memory, In  Proceedings of the 16th International Conference on Architectural Support for Programming Languages and Operating Systems, March 2011.
  2. Mohit Saxena and Michael M. Swift . FlashVM: Virtual Memory Management on Flash. In Proceedings of the Usenix Annual Technical Conference, June 2010
  3. Swaminathan Sundararaman, Sriram Subramanian, Abhishek Rajimwale, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau, and Michael M. Swift. Membrane: Operating System Support for Restartable File Systems. In Proceedings of FAST, February. 2010. Best paper award
  4. Shakeel Butt, Vinod Ganapathy, Michael Swift, Chih-Cheng Chang. Protecting Commodity OS Kernels from Vulnerable Device Drivers. In Proceedings of Annual Computer Security Applications Conference (ACSAC), December 2009
  5. Matthew J. Renzelmann, Asim Kadav and Michael M. Swift. Tolerating Hardware Device Failures in Software. In Proceedings of the Symposium on Operating Systems Principles (SOSP), October 2009.
  6. Matthew J. Renzelmann and Michael M. Swift. Decaf: Moving Device Drivers to a Modern Language. In Proceedings of the USENIX Annual Technical Conference, June 2009.
  7. Haris Volos, Andres Jaan Tack, Neelam Goyal, Michael M. Swift and Adam Welc . xCalls: Safe I/O in Memory Transactions. In the Proceedings of EuroSys 2009, April 2009.
  8.   Lakshmi N. Bairavasundaram, Meenali Rungta , Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau, and Michael M. Swift. Systematically Benchmarking the Effects of Disk Pointer Corruption. In Proceedings of the 38th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN), June 2008.
  9.  Jayaram Bobba, Neelam Goyal, Mark D. Hill, Michael M. Swift, David A. Wood. TokenTM: Efficient Execution of Large Transactions with Hardware Transactional Memory. In Proceedings of the 35th International Symposium on Computer Architecture (ISCA), pages 127—138 June 2008.
  10. Vinod Ganapthy, Matthew J. Renzelman, Arini Balakrishnan, Michael M. Swift and Somesh Jha. The Design and Implementation of Microdrivers. In the Proceedings of the Thirteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), pages 168—178, March 2008
  11. Jayaram Bobba, Kevin E. Moore, Haris Volos, Luke Yen, Mark D. Hill, Michael M. Swift, and David A. Wood. Performance Pathologies in Hardware Transactional Memory. In Proceedings of the International Symposium on Computer Architecture (ISCA), pages 81—91, June 2007.
  12. Luke Yen, Jayaram Bobba, Michael R. Marty, Kevin E. Moore, Haris Volos, Mark D. Hill, Michael M. Swift, and David A. Wood. LogTM-SE: Decoupling Hardware Transactional Memory from Caches. In Proceedings of the International Symposium on High Performance Computer Architecture (HPCA), pages 261—272, February 2007.
  13. Michelle J. Moravan, Jayaram Bobba, Kevin E. Moore, Luke Yen, Mark D. Hill, Ben Liblit, Michael M. Swift and David A. Wood. Supporting Nested Transactional Memory in LogTM. In Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), pages 359—370, October 2006.
  14.  Michael M. Swift, Muthukaruppan Annamalai, Brian N. Bershad, and Henry M. Levy. Recovering Device Drivers. In Proceedings of the 6th Symposium on Operating Systems Design and Implementation (OSDI), pages 1—16, December 2004. Best Paper.
  15. Michael Swift, Brian N. Bershad, and Henry M. Levy. Improving the Reliability of Commodity Operating Systems. In Proceedings of the 19th ACM Symposium on Operating Systems Principles (SOSP), pages 207—222, Bolton Landing, NY, Oct. 2003. Best Paper.
  16. Michael M. Swift, Cliff Van Dyke, Peter Brundrett, Praerit Garg, Anne Hopkins, Mario Goertzel, Shannon Chan, Gregory Jensensworth. Improving the Granularity of Access Control in Windows NT. In Proceedings of SACMAT 2001, May 2001.
  17. Jonathan Trostle, Irina Kosinovsky, and Michael M. Swift. Implementation of Kerberos crossrealm referral handling in the MIT Kerberos client. In Proceedings of the Network and Distributed Systems Security Symposium, San Diego, California, February 2001.

 

Refereed Workshop Publications

  1. Thawan Kooburat and Michael M. Swift. The Best of Both Worlds with On-Demand Virtualization. To appear in the Workshop on Hot Topics in Operating Systems (HotOS), May 2011.
  2. Sankaralingam Panneerselvam and Michael M. Swift. Dynamic Processors Demand Dynamic Operating Systems. In the Workshop on Hot Topics in Parallelism, June 2010.
  3. Swaminathan Sundararaman, Sriram Subramanian, Abhishek Rajimwale, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau, and Michael M. Swift. Membrane: Operating System Support for Restartable File Systems. In the Workshop on Hot Topics in Storage and File Systems (HotStorage), Oct. 2009
  4. Mohit Saxena and Michael M. Swift. FlashVM: Revisiting the Virtual Memory Hierarchy. In the Workshop on Hot Topics in Operating Systems (HotOS), May 2009.
  5. Polina Dudnik and Michael M. Swift. Condition Variables and Transactional Memory: Problem or Opportunity? In 4th ACM SIGPLAN Workshop on Transactional Computing (TRANSACT), February 2009. 
  6. Asim Kadav and Michael M. Swift. Live Migration of Direct-Access Devices. In the Workshop on I/O Virtualization (WIOV), Dec. 2008.
  7.  Michael M. Swift, Haris Volos, Neelam Goyal, Luke Yen, Mark D. Hill, David A. Wood. OS Support for Virtualizing Hardware Transactional Memory. In 3rd ACM SIGPLAN Workshop on Transactional Computing (TRANSACT), Feb. 2008.

8.     Vinod Ganapathy, Arini Balakrishnan, Michael M. Swift, and Somesh Jha. Microdrivers: A New Architecture for Device Drivers. In theWorkshop on Hot Topics in Operating Systems (HotOS), May 2007.

9.     Haris Volos, Neelam Goyal and Michael M. Swift. Pathological Interaction of Locks with Transactional Memory. In 3rd ACM SIGPLAN Workshop on Transactional Computing (TRANSACT), Feb. 2008.

10.   Joshua A. Redstone, Michael M. Swift, Brian N. Bershad. Using Computer to Diagnose Computer Problems. In theWorkshop on Hot Topics in Operating Systems (HotOS), May 2004.

11.   Michael Swift, Steven Martin, Henry M. Levy, and Susan J. Eggers. Nooks: an architecture for reliable device drivers. In the Tenth ACM SIGOPS European Workshop, Saint-Emilion, France, Sept. 2002.

 

Other Publications

  1. Swaminathan Sundararaman, Sriram Subramanian, Abhishek Rajimwale, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau, and Michael M. Swift. Membrane: Operating System Support for Restartable File Systems. In Operating Systems Review, 44(1), Jan. 2010
  2. Asim Kadav, Michael M. Swift. Live Migration of Direct-Access Devices. In Operating Systems Review, 43(3), Jul. 2009.

 

 

Technical Reports

1.     Mohit Saxena and Michael M. Swift Revisiting Database Storage Optimizations on Flash. Univ. of Wisconsin Computer Sciences Technical Report CS-TR-2010-1671, Mar., 2010

2.     Michael M. Swift, Damien Martin-Guillerez, Muthukaruppan Annamalai, Brian N. Bershad and Henry M. Levy. Live Update for Device Drivers. Univ. of Wisconsin Computer Sciences Technical Report CS-TR-2008-1634, Mar. 2008.

3.     Michael M. Swift, Haris Volos, Neelam Goyal, Luke Yen, Mark D. Hill and David A Wood. OS Support for Virtualizing Transactional Memory. Univ. of Wisconsin Computer Sciences Technical Report CS-TR-2008-1630, February 2008.

4.     Haris Volos, Neelam Goyal and Michael M. Swift. Pathological Interaction of Locks with Transactional Memory. Univ. of Wisconsin Computer Sciences Technical Report CS-TR-2008-1631, February 2008.

5.     Adwait N. Tumbde and Michael M. Swift . A New Model for Managing Configuration Data. Univ. of Wisconsin Computer Sciences Technical Report CS-TR-2007-1619, Oct. 2007.

6.     Mark D. Hill, Derek Hower, Keven E. Moore, Michael M. Swift, Haris Volos and David A. Wood A Case for Deconstructing Hardware Transactional Memory Systems. Univ. of Wisconsin Computer Sciences Technical Report CS-TR-2007-1594, June 2007.

 

Book Chapters

  1. Michael M. Swift. Device Driver Reliability, chapter in The Handbook of Research on Advanced Operating Systems and Kernel Applications: Techniques and Technologies, edited by Yair Waisman and Song Jiang, 2009. 

Conference and Workshop Presentations

1.     The Design and Implementation of Microdrivers. In the Proceedings of the Thirteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '08), pages 168—178, March 2008

2.     OS Support for Virtualizing Hardware Transactional Memory. In 3rd ACM SIGPLAN Workshop on Transactional Computing (TRANSACT 2008), Feb. 2008.

Patents

1.     US07673174: "Recovering Device Drivers," by Michael M. Swift, Brian Bershad and Henry Levy, Issued March 2010.

2.     US07113994: “System and method of proxy authentication in a secured network,” by Michael M. Swift, Neta Amit and Richard B. Ward, issued September 2006.

3.     US6625603: “Object-type specific access control,” by Praerit Garg, Michael M. Swift, Clifford Van Dyke, Richard B. Ward, and Peter Brundrett, issued September 2003.

4.     US6505300: “Method and system for secure running of untrusted content,” by Shannon Chan, Gregory Jensenworth, Mario Goertzel, Bharat Shah, Michael M. Swift, and Richard B. Ward, issued January 2003.

5.     US6427209: “System and method of user logon in combination with user authentication for network access,” by John Brezak, Richard B. Ward, Michael M. Swift, Paul Leach, issued July 2002.

6.     US6412070: “Extensible security system and method for controlling access to objects in a computing environment,” by Clifford Van Dyke, Peter Brundrett, Michael M. Swift, Praerit Garg, and Richard B. Ward, issued June 2002.

7.     US6401211: “System and method of user logon in combination with user authentication for network access,” by John Brezak, Richard B. Ward, Michael M. Swift, and Paul Leach, issued June 2002.

8.     US6377691: “Challenge-response authentication and key exchange for a connectionless security protocol,” by Michael M. Swift and Bharat Shah, issued Apr. 2002.

9.     US6308274: “Least privilege via restricted tokens,” by Michael M. Swift, issued Oct. 2001.

10.   US6289458: “Per property access control mechanism,” by Praerit Garg, Michael M. Swift, Clifford Van Dyke, Richard B. Ward, and Peter Brundrett, issued Sep. 2001.

11.   US6279111: “Security model using restricted tokens,” by Gregory Jensenworth, Praerit Garg, Michael M. Swift, Mario Goertzel, and Shannon Chan, issued Aug. 2001.

12.   US6189000: “Ensuring the integrity of remote boot client data,” by Adam Barr, Michael M. Swift, and Charles Lenzmeier, issued Feb. 2001.

13.   US5768519: “Method and apparatus for merging user accounts from a source security domain into a target security domain,” by Michael M. Swift, Clifford Van Dyke, R. Reichel, Pradyumna Misra, Michael Seaman, James Kelly, issued June 1998.

14.   US5761669 and US5675782: “Controlling access to objects on multiple operating systems,” by David Montague, Pradyumna Misra, Michael M. Swift, and R. Reichel, issued June 1998.

15.   US5719941: “Method for changing passwords on a remote computer,” by Michael M. Swift, Clifford Van Dyke, and Pradyumna Misra, issued Feb. 1998.

16.   US5708812: “Method and apparatus for migrating from a source domain network controller to a target domain network controller,” by Clifford Van Dyke, Michael M. Swift, Keith Logan, and Pradyumna Misra, issued Jan. 1998. 

 

Departmental Service

Facilities committee (Chair)                                                                      2008-Present

Facilities committee                                                                                 2006-2008

Curriculum committee                                                                              Spring 2006

 

Funding Sources

 

1.     “TC: Medium: Collaborative Research: Random Number Generation and Use in Virtualized Environments,” National Science Foundation, PIs: Thomas Ristenpart, Michael. M. Swift, Yevgeniy Dodis (NYU).  749,149.00.  09/01/11 – 8/31/2015

2.     “Securing Device Drivers,” Google Corp, $45,000, awarded 3/1010

3.     “TC:Small:Collaborative Research:Protecting Commodity Operating Systems From Vulnerable Device Drivers,” National Science Foundation, PIs: Michael Swift,  Vinod Ganapathy (Rutgers University),  $248,381, 9/1/2009-8/31/2012.

4.     “User-level Access to Persistent Memory Devices,” Google Corp., $35,000, awarded 3/2009.

5.      “CSR-DMSS, SM: Operating System Abstractions for Modern Hardware”, National Science Foundation, PI: Michael Swift, $448,257.00, 09/01/08 – 8/31/11.

6.     “CNS 0745517: CAREER: Improving the Quality and Performance of Device Drivers,” National Science Foundation, PI: Michael Swift, $400,000, 6/1/2008 – 5/31/2013.

7.     “CSR---AES: Deconstructing Transactional Memory: System Support for Robust Concurrent Programming,” National Science Foundation, PIs: Michael Swift, Mark Hill and David Wood, $1,484,272.00, 7/1/2007—6/30/2010.

8.     “HECURA: Formal Failure Analysis for Storage Systems,” National Science Foundation, PIs: Michael Swift, Remzi Arpaci-Dusseau, Andreaa Arpaci-Dusseau, Benjamin Liblit and Miron Livny, $951,044.00, 8/1/2006—7/31/2009.

Courses Taught

·       CS 739 – Distributed Systems                                                                          Spring 2011

·       CS 537 – Operating Systems                                                                                Fall 2010

·       CS 739 – Distributed Systems                                                                          Spring 2010

·       CS 537 – Operating Systems                                                                                Fall 2009

·       CS 537 – Operating Systems                                                                            Spring 2009

·       CS 736 – Advanced Operating Systems                                                                  Fall 2008

·       CS 537 – Operating Systems                                                                                Fall 2007

·       CS 736 – Advanced Operating Systems                                                              Spring 2007

·       CS 736 – Advanced Operating Systems                                                                  Fall 2006

·       CS 736 – Advanced Operating Systems                                                              Spring 2006

 

 

Collaboators:

Muthukaruppan Annamalai - Microsoft

Arini Balakrishnan - Sun

Brian N. Bershad - Washington

Susan J. Eggers - Washington

Vinod Ganapathy - Rutgers

Neelam Goyal - Oracle

Henry M. Levy - Washington

Lucas K. McDowell - US Naval Academy

Kevin E. Moore - Sun

Michelle J. Moravan - Intel

Joshua Redstone - Google

Steven Swanson - UCSD

Adam Welc - Intel Corp.

 

Graduate Advisors

Brian N. Bershad (University of Washington) and Henry M. Levy (University of Washington)

 

Current Students

Haris Volos – 5th Year Ph.D., UW Computer Sciences Department

Matthew J. Renzelman – 5th Year Ph.D., UW Computer Sciences Department

Asim Kadav – 4th  Year Ph.D., UW Computer Sciences Department

Mohit Saxena – 3rd Year Ph.D., UW Computer Sciences Department

Sankaralingam Panneerselvam – 2nd Year Ph.D., UW Computer Sciences Department

 

Former Students

Adwait Tumbde                                                                                  MS 2007 Engineer, Yahoo

Arini Balakrishnan                                                                              MS 2007 Engineer, Cisco

Neelam Goyal                                                                                     MS 2008 Engineer, Oracle

Andres Jaan Tack                                                                                MS 2010 Engineer, Skype

 

Committee Memberships

Don Porter, University of Texas, Austin, Ph.D. 2010, “Operatin System Transactions”

Jorrit Herder, Vrije Universiteit, Ph.D. 2010, "BUILDING A DEPENDABLE OPERATING SYSTEM: FAULT TOLERANCE IN MINIX 3"

Jayaram Bobba, Ph.D. 2010, " Hardware Support for Efficient Transactional and Supervised Memory Systems"

Leonid Ryzhyk, University of New South Whales, Ph.D. 2009, " On the Construction of Reliable Device Drivers"

                Wenyin Fu, ECE, Ph.D. 2009, "Operating System Support in Reconfigurable Computing System"

Haryadi Gunawi, Ph.D. 2009,  "Towards Reliable Storage Systems"

Nitin Agrawal, Ph.D. 2009, " Representative, Reproducible and Practical Benchmarking of File and Storage Systems"

Luke Yen, Ph.D. 2009, "Signatures in Transactional Memory Systems"

Dorian Arnold, Ph.D. 2008, " Reliable, Scalable Tree-based Overlay Networks"

Koushik Chakraborty, Ph.D. 2008, “Over-provisioned Multicore Systems”

Lakshmi Bairavasundaram, Ph.D. 2008, “Characteristics, Impact, and Tolerance of Partial Disk Failures”

Philip M. Wells, Ph.D. 2008,“Adapting to Dynamic Heterogeneity: Virtualization for the Multicore Era”

Gogul Balakrishnan, Ph.D. 2007, “YSINWYX: What You See Is Not What You eXecute (Static Analysis of Executables)”

Vinod Ganapathy, Ph.D. 2007, “Retrofitting Legacy Code for Authorization Policy Enforcement”

Kevin Moore, Ph.D. 2007, “Log-based Transactional Memory”

Stephen T. Jones, Ph.D. 2007, “Implicit Operating System Awareness in a Virtual Machine Monitor”

Bradford Beckmann, Ph.D. 2006, “Managing Wire Delay in Chip Multiprocessor Caches”

Jonathan Giffin, Ph.D. 2006, “Model-based intrusion detection system design and evaluation”

Michael Brim – Prelim committee, 2006

Vitaly Chipounov, EPFL – Masters thesis committee, 2008

Olatunji Ruwase, CMU – Thesis proposal committee, 2010

Joe Chabarek – Prelim committee, 2010

Swaminathan Sundararaman – Prelim committee, 2010

Jaeyoung Do – Prelim committee, 2010

Theophilus Benson – Prelim committee, 2010

Derek Hower – Prelim committee, 2010

Dave Plonka – Prelim committee, 2010

 

 

Available Systems and Software

·       Nooks. This is a reliability subsystem that seeks to greatly enhance OS reliability by isolating the OS from driver failures. The Nooks approach is practical: rather than guaranteeing complete fault tolerance through a new (and incompatible) OS or driver architecture, our goal is to prevent the vast majority of driver-caused crashes with little or no change to existing driver and system code. To achieve this, Nooks isolates drivers within lightweight protection domains inside the kernel address space, where hardware and software prevent them from corrupting the kernel. Nooks also tracks a driver's use of kernel resources to hasten automatic clean-up during recovery. The code is available as a patch to the 2.4.18 kernel.

·       xCalls. This package provides transactional semantics for common system calls, such as file I/O and networking. It integrates with the Intel Software Transactional Memory compiler to provide concurrent system call access.