MIT EECS Keel Foundation Undergraduate Research and Innovation Scholar
M. Frans Kaashoek
Electrical Engineering and Computer Science
Exploiting Parallelism and Optimizing Performance in OS Kernels Popular operating systems like Linux are written in C which does not provide easy mechanisms to exploit system parallelism. Furthermore it is desirable to write an OS in a language like Go that provides simple concurrency primitives like mechanisms to spawn transient threads as well as fast garbage collection which alleviates the pains of freeing memory across multiple threads. Moreover my research will delve into extending an implemented kernel in Go Biscuit by focusing on areas to optimize parallelism. In particular I will work on parallelizing many system calls like "fork" and "read" which perform computationally intensive work that is not currently parallelized in the Linux kernel. In addition I will also analyze the overhead of spawning additional threads in the Go runtime.
I am a rising junior majoring in 6-2 who is very interested in computer systems. During my project I hope to extend an implemented kernel by exploiting system parallelism. Beforehand I took 6.172 and enjoyed low-level optimizations so I feel optimizing a kernel during the project will be extremely exciting. I also wish to learn more about OS internals and get the feel of a much more long-term research project.