Michael Swift
Research Interests
Education
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
- 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.
- Mohit Saxena and Michael M. Swift . FlashVM: Virtual Memory Management on Flash. In Proceedings of the Usenix Annual Technical Conference, June 2010
- 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
- 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
- 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.
- 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.
- 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.
- 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.
- 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.
- 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
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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
- 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.
- Sankaralingam Panneerselvam and Michael M. Swift. Dynamic Processors Demand Dynamic Operating Systems. In the Workshop on Hot Topics in Parallelism, June 2010.
- 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
- Mohit Saxena and Michael M. Swift. FlashVM: Revisiting the Virtual Memory Hierarchy. In the Workshop on Hot Topics in Operating Systems (HotOS), May 2009.
- 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.
- Asim Kadav and Michael M. Swift. Live Migration of Direct-Access Devices. In the Workshop on I/O Virtualization (WIOV), Dec. 2008.
- 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
- 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
- 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
- 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.
