I manage the Microsoft Research Operating Systems Group as Principal Researcher. I also lead the Menlo project and the Singularity project.
During a leave from MSR, I was the Group Program Manager for Windows Automated Deployment Services. My group created two of the core technologies for Microsoft's Dynamic Systems Initiative: the Dynamic Data Center and the System Definition Model.
Before that I was a Researcher in the Systems and Networking Group. I worked on the Millennium Project; Continuum, a distributed version of the .NET Framework; and Coign, a system that converted existing COM-based desktop applications into client-server distributed applications without access to application source code.
Previous interns who have worked for me include: César Spessot (2006), who ported a subset of SQL to Singularity; Mike Spear (2005), who created an entirely declarative I/O device driver configuration system for Singularity; Prince Mahajan (2004), who wrote a number of device drivers and a transacted file system for Singularity; Tom Roeder (2004), who worked on Singularity's application abstraction and installer; David Oppenheimer (1999), who built a distributed hash table on an unnamed research OS; and Rob Stets (1998), who created a distributed DCOM-based implementation of the Win32 API called COP (the Component-based OS Proxy).
I've worked on running DCOM over System Area Networks (SANs), the Detours package for instrumenting Windows binaries, and a proxy device driver for creating Windows NT user-mode drivers.
As a MSR summer intern, I developed the prototype for the protocol and implementation for what became, after reworking by a cast of thousands, Microsoft's Advanced Streaming Format (ASF) and Windows Media Player.
I have Ph.D. (1998) and M.S. (1996) degrees in Computer Science from the University of Rochester, a B.S. (1992) degree in Physics from the University of Utah, and an A.S. (1987) degree from Dixie College.
While at the University of Rochester, I was part of Michael Scott's Cashmere team developing fast Software Distributed Shared Memory (SDSM) systems on memory mapped networks. I also modified the GNU Compiler Collection Objective-C runtime to support full multi-threading.
Before graduate school, I lead software development at a small start-up, Software Migrations, Inc.. My greatest achievement at SMI was DPX, an advanced struct-mapping and data-migration tool. We rocked the tax-preparation software market by creating programs that automatically migrated tax records from one tax package to another. With just 5 people, we produced over 100 separate transfer programs each year and ate the lunch of everyone else in the business. It was an excellent experiment in leveraging automated software development tools.
As an undergraduate, I contributed to the Linux 0.11 text console driver. Before that, I started programming in C as a teenager.
Personal
Aside from systems research, my biggest interests are my wife, my daughter, my son, and church. My wife thinks I spend too much time with the computer; my daughter and son agree. They all smile when I come home from work and that makes me smile.
Professional Activities
- Program Committee, EuroSys 2009 . Nuremberg, Germany, April 2009.
- Program Committee, 8th USENIX Symposium on Operating Systems Design and Implementation (OSDI '08). San Diego, CA, December 2008.
- Program Committee, EuroSys 2008. Glasgow, Scotland, April 2008.
- Program Committee Chair, 11th Workshop on Hot Topics in Operating Systems (HotOS XI). San Diego, CA, May 2007.
- Sponsorships Chair, 20th ACM Symposium on Operating Systems Principles (SOSP). Brighton, United Kingdom, October 2005.
- Treasurer, 19th ACM Symposium on Operating Systems Principles (SOSP), Bolton Landing, NY, October 2003.
- Program Committee, Ninth International Conference on Architectural Support for Programming Languages and Operation Systems (ASPLOS-IX), Cambridge, MA, November 2000.
- Review Panel, NSF Information Technology Research (ITR) Program, Arlington, VA, April, 2000.
- Committee, 1999 DARPA ISAT Study on Probabilistic Methods in Computational Systems and Infrastructure, Woods Hole, MA, August 1999.
2009
- Kirk Glerum, Kinshuman Kinshumann, Steve Greenberg, Gabriel Aul, Vince Orgovan, Greg Nichols, David Grant, Gretchen Loihle, and Galen Hunt, Debugging in the (Very) Large: Ten Years of Implementation and Experience, in Proceedings of the 22nd ACM Symposium on Operating Systems Principles (SOSP '09), Association for Computing Machinery, Inc., Big Sky, MT, October 2009
- Edmund B. Nightingale, Orion Hodson, Ross McIlroy, Chris Hawblitzel, and Galen Hunt, Helios: Heterogeneous Multiprocessing with Satellite Kernels, in Proceedings of the 22nd Symposium on Operating Systems Principles (SOSP '09), Association for Computing Machinery, Inc., Big Sky, MT, October 2009
2007
- Galen C. Hunt and James R. Larus, Singularity: Rethinking the Software Stack, in ACM SIGOPS Operating Systems Review, vol. 41, no. 2, pp. 37-49, Association for Computing Machinery, Inc., April 2007
- Galen Hunt, Chris Hawblitzel, Orion Hodson, James Larus, Bjarne Steensgaard, and Ted Wobber, Sealing OS Processes to Improve Dependability and Safety, in Proceedings of the European Conference on Computer Systems (EuroSys), Association for Computing Machinery, Inc., Lisbon, Portugal, March 2007
2006
- Aiken, Mark, Fähndrich, Manuel, Hawblitzel, Chris, Hunt, Galen, Larus, and James R., Deconstructing Process Isolation, in ACM SIGPLAN Workshop on Memory Systems Performance and Correctness, ACM, San Jose, CA, October 2006
- Larus, James, Hunt, Galen, Tarditi, and David, {End Bracket} Singularity, in MSDN Magazine, vol. 21, no. 7, pp. 176, June 2006
- Manuel Fähndrich, Mark Aiken, Chris Hawblitzel, Orion Hodson, Galen Hunt, James R. Larus, and Steven Levi, Language Support for Fast and Reliable Message-based Communication in Singularity OS, in Proceedings of the EuroSys 2006 Conference, Association for Computing Machinery, Inc., April 2006
- Michael Spear, Tom Roeder, Orion Hodson, Galen C. Hunt, and Steven Levi, Solving the Starting Problem: Device Drivers as Self-Describing Artifacts, in EuroSys 2006, Association for Computing Machinery, Inc., March 2006
2005
- Galen C. Hunt, James R. Larus, David Tarditi, and Ted Wobber, Broad New OS Research: Challenges and Opportunities, in Proceedings of Tenth Workshop on Hot Topics in Operating Systems (HotOs), USENIX, June 2005
1999
- Alessandro Forin, Galen Hunt, Li Li, and Yi-Min Wang, High-Performance Distributed Objects over System Area Networks, in Third USENIX Windows NT Symposium, USENIX, July 1999
- Galen C. Hunt, Michael L. Scott, and Robert J. Stets, Component-based Operating System APIs: A Versioning and Distributed Resource Solution, in IEEE Computer, vol. 32, no. 7, pp. 36, IEEE Computer Society, July 1999
- Galen Hunt and Doug Brubacher, Detours: Binary Interception of Win32 Functions, in Third USENIX Windows NT Symposium, USENIX, July 1999
- Galen C. Hunt and Michael L. Scott, Intercepting and Instrumenting COM Applications, in Fifth Conference on Object-Oriented Technologies and Systems (COOTS), USENIX, May 1999
- Galen C. Hunt and Michael L. Scott, The Coign Automatic Distributed Partitioning System, in Third Symposium on Operating System Design and Implementation (OSDI), USENIX, February 1999
1998
- Galen C. Hunt and Michael L. Scott, A Guided Tour of the Coign Automatic Distributed Partitioning System, in Second International Enterprise Distributed Object Computing Workshop (EDOC ), Institute of Electrical and Electronics Engineers, Inc., November 1998
1997
- Galen C. Hunt, Creating User-Mode Device Drivers with a Proxy, in Proceedings of the First USENIX Windows NT Workshop, USENIX, August 1997
- Galen C. Hunt, Thomas Roeder, James R. Larus, Manuel Fahndrich, John D. DeTreville, Steven P. Levi, Benjamin Zorn, and Wolfgang Grieskamp, Self-Describing Artifacts and Application Abstractions, 11 November 2008
- Galen Hunt, Aamer Hydrie, Steven Levi, David Stutz, Bassam Tabbara, and Robert Welland, System and Method for Distributed Management of shared Computers, 29 July 2008
- Galen Hunt, Aamer Hydrie, Steven Levi, David Stutz, Bassam Tabbara, and Robert Welland, System and Method for Distributed Management of Shared Computers, 6 May 2008
- Galen Hunt, Gerald Cermak, and Jr. Robert J. Stets, Operating System Application Programming Interfaces and Methods of Using Operating Systems, 19 February 2008
- Galen Hunt and Jeff Simon, Filters to Isolate Untrusted Ports of Switches , 4 December 2007
- Galen Hunt and Jeff Simon, Establishing Computing Trust with a Staging Area, 4 December 2007
- Galen Hunt, Aamer Hydrie, Steven Levi, David Stutz, Bassam Tabbara, and Robert Welland, System and Method for Distributed Management of Shared Computers, 3 April 2007
- Mathilde Brown, Charlie Chase, Kevin Grealish, Galen Hunt, Aamer Hydrie, David Noble, Geoffrey Outhred, Glenn Peterson, Bassam Tabbara, Alexander Torone, and Robert Welland, Architecture for Distributed Computing System and Automated Design, deployment and Management of Distributed Applications, 3 April 2007
- Galen Hunt, Aamer Hydrie, Robert Welland, Bassam Tabbara, Steven Levi, and Jakob Rehof, System and Method for Designing a Logical Model of a Distributed Computer System and Deploying Physical Resources According to the Logical Model, 26 December 2006
- Galen Hunt, Stateless Distributed Computer Architecture with Server-Oriented State-Caching Objects Maintained on Network or Client, 24 October 2006
- Galen Hunt, Aamer Hydrie, Robert Welland, Bassam Tabbara, Steven Levi, and Jakob Rehof, System and Method for Logical Modeling of Distributed Computer Systems, 26 September 2006
- Galen Hunt, Aamer Hydrie, Steven Levi, Bassam Tabbara, Mark VanAntwerp, and Robert Welland, System and Method Providing Automatic Policy Enforcement in a Multi-Computer Service Application, 22 August 2006
- Aamer Hydrie, Galen Hunt, Steven Levi, Bassam Tabbara, and Robert Welland, Using Packet Filters and Network Virtualization to Restrict Network Communications, 15 August 2006
- Matilde Brown, Charlie Chase, Kevin Grealish, Galen Hunt, Aamer Hydrie, David Noble, Geoffrey Outhred, Glenn Peterson, Bassam Tabbara, Alexander Torone, and Robert Welland, Architecture for Distributed Computing System and Automated Design and Deployment and Management of Distributed Applications, 4 July 2006
- Bassam Tabbara, Galen Hunt, Aamer Hydrie, Steven Levi, David Stutz, and Robert Welland, System and Method For Restricting Data Transfers and Managing Software Components of Distributed Computers, 9 May 2006
- Galen Hunt, Tools and Techniques for Instrumenting Interfaces of Units of a Software Program, 2 May 2006
- Bassam Tabbara, Galen Hunt, Aamer Hydrie, Steven Levi, David Stutz, and Robert Welland, System and Method For Restricting Data Transfers and Managing Software Components of Distributed Computers, 21 March 2006
- Galen Hunt, Network Independent Profiling of Applications for Automatic Partitioning and Distribution in a Distributed Computing Environment, 3 January 2006
- Galen Hunt, Heavyweight and lightweight instrumentation, vol. 6988271, January 2006
- Galen Hunt, Dynamic Classification of Sections of Software, 18 October 2005
- Galen Hunt, Aamer Hydrie, Steven Levi, Bassam Tabbara, Mark Van Antwerp, and Robert Welland, System and Method Providing Automatic Policy Enforcement in a Multi-Computer Service Application, 5 July 2005
- Galen Hunt, Aamer Hydrie, Robert Welland, Bassam Tabbara, Steven Levi, and Jakob Rehof, System and method for designing a logical model of a distributed computer system and deploying physical resources according to the logical model, 14 June 2005
- Bassam Tabbara, Galen Hunt, Aamer Hydrie, Steven Levi, David Stutz, and Robert Welland, System and Method for Restricting Data Transfers and Managing Software Components of Distributed Computers, 26 April 2005
- Yi-Min Wang, Galen Hunt, and Alessandro Forin, Accelerating a Distributed Component Architecture Over a Network Using a Direct Marshaling, 30 November 2004
- Galen Hunt, Gerald Cermak, and Jr. Robert J. Stets, Methods of factoring operating system functions, methods of converting operating systems and related apparatus, vol. 6826760, November 2004
- Yi-Min Wang, Galen Hunt, and Alessandro Forin, Accelerating a Distributed Component Architecture Over a Network Using a Modified RPC Communication, 16 March 2004
- Galen Hunt, Interception of unit creation requests by an automatic distributed partitioning system, vol. 6629123, September 2003
- Galen Hunt, Service installation on a base function and provision of a pass function with a service-free base function semantic, vol. 6546553, April 2003
- Galen Hunt, Reversible load-time dynamic linking, vol. 6499137, December 2002
- Galen Hunt, Dynamic classification of sections of software, vol. 6381735,, April 2002
- Galen Hunt, Summarized application profiling and quick network profiling, vol. 6381628, April 2002
- Leonidas Kontothanassis, Michael Scott, Robert Stets, Sandhya Dwarkadas, Nikolaos Hardavellas, and Galen Hunt, Apparatus and method for maintaining data coherence within a cluster of symmetric multiprocessors, vol. 6341339, January 2002
- Galen Hunt, Heavyweight and lightweight instrumentation, vol. 6263491, July 2001
- Galen Hunt, Automatic detection of per-unit location constraints, vol. 6230312, May 2001
- Galen Hunt, Method and system for providing data files that are partitioned by delivery time and data type, vol. 6101546, August 2000



