OS and tools for building dependable systems
"...it is impossible to predict how a singularity will affect objects in its causal future." - NCSA Cyberia Glossary
What's New?
The Singularity Research Development Kit (RDK) 2.0 is now available for academic non-commercial use. You can download it from CodePlex, Microsoft's open source project hosting website, here.
Our recent article in Operating Systems Review, Singularity: Rethinking the Software Stack, is a concise introduction to the Singularity project. It summarizes research in the current Singularity releases and highlights ongoing Singularity research.
Overview
Singularity is a research project focused on the construction of dependable systems through innovation in the areas of systems, languages, and tools. We are building a research operating system prototype (called Singularity), extending programming languages, and developing new techniques and tools for specifying and verifying program behavior.
Advances in languages, compilers, and tools open the possibility of significantly improving software. For example, Singularity uses type-safe languages and an abstract instruction set to enable what we call Software Isolated Processes (SIPs). SIPs provide the strong isolation guarantees of OS processes (isolated object space, separate GCs, separate runtimes) without the overhead of hardware-enforced protection domains. In the current Singularity prototype SIPs are extremely cheap; they run in ring 0 in the kernel’s address space.
Singularity uses these advances to build more reliable systems and applications. For example, because SIPs are so cheap to create and enforce, Singularity runs each program, device driver, or system extension in its own SIP. SIPs are not allowed to share memory or modify their own code. As a result, we can make strong reliability guarantees about the code running in a SIP. We can verify much broader properties about a SIP at compile or install time than can be done for code running in traditional OS processes. Broader application of static verification is critical to predicting system behavior and providing users with strong guarantees about reliability.
- 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
- 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
- Ted Wobber, Aydan Yumerefendi, Martín Abadi, Andrew Birrell, and Daniel R. Simon, Authorizing Applications in Singularity, in Proceedings of the 2007 Eurosys Conference, Association for Computing Machinery, Inc., Lisbon, Portugal, March 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
- 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
- Paul Barham, Rebecca Isaacs, Richard Mortier, and Tim Harris, Learning communication patterns in Singularity, in Proceedings of the First Workshop on Tackling Computer Systems Problems with Machine Learning Techniques (SysML), June 2006
- Galen C. Hunt, Mark Aiken, Paul Barham, Manuel Fahndrich, Chris Hawblitzel, Orion Hodson, James R. Larus, Steven Levi, Nick Murphy, Bjarne Steensgaard, David Tarditi, Ted Wobber, and Brian D. Zill, Sealing OS Processes to Improve Dependability and Security, no. MSR-TR-2006-51, 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 Proceedings of the EuroSys 2006 Conference, Association for Computing Machinery, Inc., April 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
- Galen Hunt, James R. Larus, Martin Abadi, Mark Aiken, Paul Barham, Manuel Fahndrich, Chris Hawblitzel, Orion Hodson, Steven Levi, Nick Murphy, Bjarne Steensgaard, David Tarditi, Ted Wobber, and Brian D. Zill, An Overview of the Singularity Project, no. MSR-TR-2005-135, October 2005
- Martín Abadi, Andrew Birrell, and Ted Wobber, Access Control in a World of Software Diversity, in Proceedings of the Tenth Workshop on Hot Topics in Operating Systems, USENIX, Santa Fe, NM, June 2005
- John DeTreville, Making system configuration more declarative, in Proceedings of the Tenth Workshop on Hot Topics in Operating Systems, USENIX, Santa Fe, NM, June 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
- Galen C. Hunt and James R. Larus, Singularity Design Motivation, no. MSR-TR-2004-105, November 2004
Presentations
- Using the Singularity Research Development Kit (RDK), Tutorial, 13th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2008) Slides, Seattle, WA, March 1, 2008.
- Singularity: A research OS written in C#, Channel 9 video and blog, Redmond, WA, August 23, 2005.
- Singularity Revisited, Channel 9 video and blog, Redmond, WA, December 13, 2005.
- Singularity III: Revenge of the SIP, Channel 9 video and blog, Redmond, WA, September 1, 2006.
- Singularity IV: Return of the UI, Channel 9 video and blog, Redmond, WA, September 1, 2006.
Project Members
Leads
Members
Mark Aiken
Paul Barham
Richard Black
Trishul Chilimbi
Chris Hawblitzel
John DeTreville
Ulfar Erlingsson
Manuel Fähndrich
Wolfgang Grieskamp
Tim Harris
Orion Hodson
Rebecca Isaacs
Mike Jones
Steven Levi
Roy Levin
Nick Murphy
Dushyanth Narayanan
Sriram Rajamani
Jakob Rehof
Wolfram Schulte
Dan Simon
Bjarne Steensgaard
David Tarditi
Ted Wobber
Brian Zill
Ben Zorn
Interns
- 2007
Ryan Braud (University of Califorina, San Diego
Michael Carbin (MIT)
Michael Emmi (UCLA)
Gabriel Kliot (Technion - Israel Institute of Technology)
Ross McIlroy (University of Glasgow)
Filip Pizlo (Purdue University)
Polyvios Pratikakis (Univ. of Maryland) - 2006
Marc Eaddy (Columbia University)
Haryadi S. Gunawi (Univ. of Wisconsin - Madison)
Hiroo Ishikawa (Waseda University)
Virendra J. Marathe (Rochester)
Polyvios Pratikakis (University of Maryland)
Roussi Roussev (Florida Tech)
César Spessot (Universidad Tecnológica Nacional Facultad Córdoba) - 2005
Michael Carbin (Stanford)
Adam Chlipala (UC Berkeley)
Martin Pohlack (TU Dresden)
Avi Shinnar (Harvard)
Mike Spear (Rochester)
Aydan Yumerefendi (Duke) - 2004
Jeremy Condit (UC Berkeley)
Daniel Frampton (Australian National University)
Chip Killian (UC San Diego)
Fernando Castor de Lima Filho (Universidade Estadual de Campinas)
Prince Mahajan (IIT Roorkee)
Bill McCloskey (UC Berkeley)
Martin Murray
Tom Roeder (Cornell)
Avi Shinnar (Columbia)
Yaron Weinsberg (Hebrew University of Jerusalem) - If you are an exceptional Ph.D. student interested in a research internship, please apply using MSR Internship Application



