Saturday, April 27, 2013

Reading Notes: an operating system for multicore and clouds

Some of my reading notes for the paper "An operating system for multicore and clouds: mechanisms and implementation"

Things I liked and that were interesting

It was interesting to learn that in future manycore systems the number of cores will exceed the number of processes. In connection with this the authors say that it is necessary to do space multiplexing instead of time multiplexing. I think this is a very big shift in thinking about computing power, as one has to think about how to map cores to processes, instead of time slicing one CPU to achieve multi-tasking.
It was also interesting that the authors presented VMs as a limiting factor. They argue that VMs provide an additional layer of indirection that make it more difficult to have a global picture of all the resources.

Limitations and Problems I had

I think it was strange that the authors tried to come up with a solution for both multicore and cloud computing. I prefer the approach of Barrelfish, where the researchers only focus on multicore and were thus able to come up with a more thorough solution in my opinion.
I also felt that the topic of security and isolation was left out in the paper. They talk about the disadvantages of VMs and state that their system provides a uniform view of all global system resources. However, one of the main benefits of having VMs is that they provide protection, and it would have been helpful if the authors discuss how protection was ensured when there was only a single system image OS. For example, in case of a compromise of fos, is there some mechanisms to do damage control, or is the attacker inevitably able to access all resources of the whole cloud?

Potential Next Steps

One challenging aspect is to achieve the elasticity of resources that comes with changing user demands. In the future one could investigate how to implement an efficient growing and shrinking of the fleets. Furthermore, one could investigate how to efficiently implement the single system image growth, when new fos machines are added to the existing system image.
On the evaluation methodology side, I think it would be helpful to come up with common benchmarks to compare fos with other OS for multicore systems like Barrelfish.

This research and the future

I think the authors have set a very ambitious goal that is difficult to reach. They propose fos to solve both multicore and cloud computing challenges, like scalability, elasticity of demands, fault management, and challenges of large system programming. However, the evaluation does not show very clearly that they have succeeded, especially because no very detailed performance benchmarks exist yet to compare similar systems. When looking at their evaluation of system calls for example, Linux outperforms fos on local and on remote system calls. The authors state that they are optimizing and believe that locality of processes is crucial. However, in their design they did not show how to implement the co-location of processes.

No comments:

Post a Comment