Sunday, December 11, 2011

An Operating System for Multicore and Clouds: Mechanisms and Implementation

This paper introduces a new operating system called fos (Factored Operating System). fos can be summarized as follows, without buzz words as much as I could.
  • Microkernel: most features of the kernel are distributed into user space
  • Single system image across cores and machines
  • communication between cores (intra- or inter-machine) is done by messaging passing
  • name mapping for addressing
As far as I understand, the novelty of fos over traditional microkernel research comes from inter-machine message passing. This idea seems to be  very similar to the multikernel model of Barrelfish project, but the only mention about Barellelfish in this paper is: "but fos is focusing more on how to parallelize the system servers as well as addresses the scalability on chip and in the cloud". I wonder how Barrelfish project team would make a comment on it.

Let us review some "facts" mentioned by the paper:
  1. Servers are getting more and more CPU cores. Traditional operating systems do not scale well with many-core CPUs.
  2. Cloud computing introduces many hard problems, such as administration complexity, system-wide resource management, etc.
Obviously both issues are true and needed to be solved, but I am not sure if they should be solved with a single solution. Systems research (well, at least networking research) has good tradition called layering.

Suppose that we have the IP protocol, which provides global naming and routing over the Internet. But it would not be very compelling if someone comes up with a new protocol called XP, saying "XP is a new protocol that solves the limited address space of IP and supports reliable data transmission". Well, rather than that, TCP for reliable data transport and IPv6 for larger address space would be much more convincing to me.

This argument can be done in the same way to fos. A scalable operating system like Corey, and a cloud resource management system such as Mesos or Omega would be a much cleaner approach, in my humble opinion.

No comments:

Post a Comment