Security
Compartmentalization of Monolithic Kernels using Hardware Virtualization (Active)
Collaborator: Zhiyuan (Ryan) Ruan
Advisor: Richard West
Existing monolithic kernels, e.g. Linux, do not inherently enforce any separation between different components. This leads to vulnerabilities in one subsystem affecting the entire kernel. Researchers have considered various compartmentalization techniques to mitigate this issue. We tackle this problem by defining compartment boundaries using hardware virtualization. Using features such as virtualization exceptions, we interpose the execution of a monolithic kernel and use a generic sentry function to validate each cross-compartment access.
Scheduling & Synchronization
Synchronization in a Real-Time Kernel
Advisor: Richard West
Enforcing mutual exclusion on shared resources is a classic problem in operating systems research. In this work, we explore synchronization in the context of a big kernel lock for a Real-Time Operating System. Priority-ordered locks may result in the starvation as they always allow a higher priority waiter to acquire the lock before one of lower priority. On the other hand, First-In-First-Out (FIFO) locks provide a bounded wait time, but completely ignore the priority of waiters. We propose Batched Priority Lock (BPL) which takes a middle ground: it enforces the same maximum bound on the waiting time as FIFO locks using the concept of batching, but consider the priority of waiters within the same batch to improve the average waiting time of higher priority tasks.
Priority Assignment for Global Fixed Priority Scheduling on Multiprocessors
Collaborator: Xuanliang Deng
Advisor: Haibo Zeng
Global scheduling is an attractive option for multiprocessors as it allows tasks to be placed on any available core, freely allowing load balancing. Assigning fixed priorities to tasks avoids the updation of the relative position of a task in the global runqueue when its priority changes, minimizing contention on a shared resource. Prior work by Yecheng Zhao and Haibo Zeng has proposed an optimization-based approach that uses response time estimation to assign priorities to tasks under the Global Fixed Priority paradigm. In this work, we develop a novel algorithm that extends the aforementioned method by including a simple heuristic, extending its applicability to the latest, and hence the most accurate schedulability analysis.
