InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Microsoft Research Releases Singularity RDK

Posted by Steven Robbins on Apr 03, 2008

Sections
Architecture & Design,
Development,
Operations & Infrastructure
Topics
Open Source ,
Architecture ,
Programming ,
Operating Systems ,
Research
Tags
Announcements ,
Singularity ,
Microsoft ,
Reference Architectures

On March 4th, the Singularity Research Development Kit (RDK) was released as an open source project on CodePlex. The RDK is based on the Singularity Project from Microsoft Research by Galen Hunt, Jim Larus and others. The Project web site said that Singularity itself is primarily about "the construction of dependable systems through innovation in the areas of systems, languages, and tools."

The Singularity RDK includes "source code, build tools, test suites, design notes, and other background materials" that can be used to get started investigating and running Singularity. The resources include a 17 page document called "Building and Running Singularity" that walks through the processes of getting Singularity and the RDK setup. The download has more than 50 individual applications and projects that can be built and deployed, including a full test suite and a set of benchmarks.

The RDK also comes with several dozen Singularity Design Notes (SDN) that describe how certain features of Singularity or one of the projects are designed and expected to work. For example, "SDN 0: Singularity Design Motivation" includes talks about so-called Centers of Gravity

Four design points combine to produce an OS that is agile to future research and innovates in system reliability. These design points are: a type safe abstract instruction set as the system binary interface, a unified extension mechanism for applications and the OS, a strong process isolation architecture, and a ubiquitous metadata infrastructure describing code and data.

The Microsoft Research site and the RDK site had this overview of the Singularity project itself:

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.

The Singularity project site has several articles, interviews, and MSDN links related to Singularity and the RDK. Some of the most useful for getting started include "Singularity: Rethinking the Software Stack" [pdf] by Galen Hunt and James Larus and a PDF version of a Singularity RDK tutorial [pdf].

The RDK site has a very active discussion list where many community members post questions, solutions, and ideas about using Singularity and the RDK.

The Singularity RDK is currently only for academic non-commercial use.

open source... by o f Posted
  1. Back to top

    open source...

    by o f

    hejdig.



    AFAIK Singularity nor the Singularity RDK are open source. They are both some other type of license.



    /OF

Educational Content

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.