"Enoki: High Velocity Linux Kernel Scheduler Development" Paper Reproduction
Enoki: High Velocity Linux Kernel Scheduler Development
Enoki is a framework for efficient Linux kernel development. By interfacing with the Linux kernel scheduler directly, it provides a simple Rust framework for developers to create scheduling algorithms—no prior kernel experience needed! No kernel recompilation upon scheduler change is required either, with use of Linux's insmod
feature to send schedulers straight there.
Included benchmarks include a Completely Fair Scheduler implementation in Enoki tested against the Linux CFS. It's run on NASA benchmark datasets. [Support for the Phoronix benchmark dataset coming soon]
Currently, Enoki runs on a custom implementation of the Linux 5.11 kernel and the August 21st 2022 nightly build of Rust. Flexibility seems rather limited, given the challenges in building this implementation.
Paper and source repo
Link to paper source repository.
Build History
- 06/24/24 — First Trovi package. Kernel may freeze baremetal upon loading.
Launching this artifact will open it within Chameleon’s shared Jupyter experiment environment, which is accessible to all Chameleon users with an active allocation.
Download ArchiveDownload an archive containing the files of this artifact.