"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.

Link to paper source repository.

Build History

  • 06/24/24 — First Trovi package. Kernel may freeze baremetal upon loading.
6 2 2 1 May. 24, 2024, 8:21 PM

Authors

Launch on Chameleon

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 Archive

Download an archive containing the files of this artifact.

Version Stats

6 2 2