Without a radical change in the way much of it is written, software, sadly, just can’t go much faster anymore.
Speed improvements that typically came from faster processors with more transistors have come close to their limit, where if the chips run any faster, they will overheat.
Because of that, researchers at Microsoft’s research facility in Cambridge, England, and at ETH Zürich in Switzerland are designing a new OS that would allow programs to run much faster on multicore computers.
The OS, called Barrelfish, is still very much in a research phase, but its creators released the code earlier this month under an open-source license. Nonetheless, talk of a new OS — especially with Microsoft’s backing — sparked enough interest that many people have since downloaded the code, said Timothy Roscoe, a professor in the computer science department at ETH Zürich
However, “we are not targeting real users in any shape or form at this point,” Roscoe said. His team will also present a paper at Symposium on Operating Systems Principles, which kicks off Oct. 11 in Big Sky, Montana.
The project, under way for about two years, builds on ideas researchers have had for years about how OSes will have to evolve to keep up with hardware advancements. Although Microsoft researchers are involved, the company said it had no comment.
In Barrelfish, each core has its own kernel and does not share memory as it does in Windows or Linux. Instead, the cores communicate by passing messages, what researchers term a “multikernel” model.
Passing messages between cores — such as security information and other information to ensure the OS is running consistently — is more efficient than sharing memory, Roscoe said.
But even if the OSes know how to make use of multiple cores on a chip, most applications today aren’t written to take advantage them. So companies such as Microsoft, Intel and Sun have been working to figure out how to write parallel code, which would allow applications to use a number of cores at the same time during processing, Roscoe said.
Apple is using parallel programming techniques in Grand Central Dispatch (GCD), an application library shipped with its latest update to Mac OS X, Snow Leopard. While GCD can be used to develop applications that make use of multiple cores, however, it only sits on top of the Mac OS, and isn’t an OS itself, Roscoe said.
Barrelfish considers the whole OS as more of a distributed system. “Rather than evolving an inherently shared-memory model of OS structure to deal with complex tradeoffs and limited sharing, we take the opposite approach: design and reason about the OS as a distributed, non-shared system,” the research paper said.
The multikernel approach means Barrelfish could run on more diverse hardware since it separates the OS from the hardware “as much as possible,” the paper said. Just two aspects of the OS must be targeted to specific hardware architectures: the messaging transport mechanism and interfaces to the hardware.
It means the base code of Barrelfish would not have to be altered as much as say, Windows or Linux have been in recent years in order to run on more advanced hardware.
“For us operating system researchers, the inside of the computer is going to look very different from what it looked like five years ago,” Roscoe said.
Barrelfish’s code was released under a BSD-style license and is free to download. It runs on 64-bit x86 platforms. Researchers have written a Web server as well as some graphical and visualization applications but it won’t run, for example, your normal Microsoft Office program.
Roscoe described Barrelfish as massively under-engineered for users but over-engineered as a research project. The code is not “terribly robust,” but Roscoe said he expects a more complete version to be released later.
Barrelfish’s code is jointly owned by Microsoft and ETH Zürich. No patents have been filed as of yet.
“The goal of the project is not to generate proprietary intellectual property for either Microsoft or ETH Zürich,” Roscoe said. “The goal is to do research on a long-term basis.”