Filip Pizlo's Research Statement

What follows is my PhD research statement. Note that you can get a definition for most of the technical jargon on this page by clicking on it. I've hidden the link decorations to remove clutter.

Developing safety-critical real-time systems is hard. To get acceptable performance, engineers are often forced to use unsafe languages, coupled with error-prone techniques for handling memory management and concurrency. Especially if multiprocessor scalability is desired, the task of maintaining high availability and predictable execution in a real-time system is formidable. My research aims to address the key challenge of concurrency in real-time systems by introducing a new platform - OvmOS - in which multiprocessor real-time systems are allowed to operate under the illusion of uniprocessor semantics. Algorithms may assume that they are atomic just as easily as a legacy uniprocessor system could "turn off" scheduling. I achieve this through a combination of software transactional memory, a lock-free software multi-CAS implementation, and a high-performance stop-the-world mechanism, all built into the Ovm operating system itself. Additionally, to guarantee high availability and optimal memory utilization, OvmOS itself is written in Java and relies on a concurrent copying garbage collector for memory management. The key objectives of my work include creating the first operating system that uses garbage collection at the lowest levels - including being able to perform heap allocation inside interrupt handlers, and creating a multiprocessor real-time programming model that mimics exactly the semantics of an existing uniprocessing real-time programming model (namely, the OpenVM real-time Java virtual machine).


Back to Homepage