Relevant Links
- Dynamic Privilege Repo: https://github.com/Symbi-OS/Symbi-OS
Upcoming Talks
- Porting and Generalizing Dynamic Privilege in Linux, DevConf US, August 15, 2024 Project Description:
- Our lab has a long history of working on mechanisms and procedures for self-optimizing systems. Much of this work has involved the use of custom or special-purpose operating systems. With ARM and RISC-V on the horizon, x86’s once-dominant position is being challenged. Linux, now more than ever, serves as the cornerstone of industrial computing by providing a universal runtime. It would be quite powerful if we could understand how to build an infrastructure for studying and developing self-optimization techniques that target real-world scenarios and are robust across architectures.
- In this work, we want to lay the foundation for a Linux infrastructure both for gathering and conducting performance studies in an architecturally independent way that can drive our ability to reimplement optimizations that we’ve explored in specialized systems. Our goal is to study and implement the core primitives required to gather architectural data on Linux in a uniform way, and to create data sets that allow us to compare and identify opportunities for optimization. To this end, we are exploring the use of three mechanisms across x86, ARM, and RISC-V: 1. Dynamic Privilege – The ability for an authorized thread to acquire and relinquish hardware privilege on the fly, 2. Process Caching – Creating data structures that capture the state of a process, along with mechanisms that allow for efficiently extracting its register and memory state and applying techniques to manipulate and re-use it, and 3. Gathering Execution Signals – Low-level traces that can reveal patterns in a program’s execution and drive optimization effort
- Dynamic Privilege in Linux affords us the ability to rapidly prototype and deploy optimization mechanisms we have studied in other environments in the past. For example, using Dynamic Privilege we’ve begun developing a process caching infrastructure on x86. Driven by the goal of deploying techniques such as process caching across multiple architectures, we are continuing to develop the ARM implementation of Dynamic Privilege, as well as beginning to explore a RISC-V implementation.
Watch
- Arlo’s RIG talk, Dispatches From the Rocky Road to Open Source Education, February 2, 2023