10 stable releases

2.2.5 Mar 14, 2024
2.2.4 Feb 14, 2024
2.2.3 Jun 28, 2022
2.2.2 May 26, 2022
2.0.0 Jun 24, 2021

#240 in Unix APIs

Download history 102/week @ 2024-01-21 83/week @ 2024-01-28 80/week @ 2024-02-04 217/week @ 2024-02-11 91/week @ 2024-02-18 115/week @ 2024-02-25 121/week @ 2024-03-03 277/week @ 2024-03-10 108/week @ 2024-03-17 55/week @ 2024-03-24 106/week @ 2024-03-31 69/week @ 2024-04-07 42/week @ 2024-04-14 111/week @ 2024-04-21 159/week @ 2024-04-28 82/week @ 2024-05-05

401 downloads per month

Apache-2.0

450KB
12K SLoC

Rust 10K SLoC // 0.0% comments Python 1.5K SLoC // 0.1% comments Shell 32 SLoC // 0.2% comments

Resource-control demo agent

rd-agent orchestrates resource control demo and benchmark scenarios end-to-end. It runs benchmarks to establish the baseline, manages rd-hashd instances as the primary workloads, simulates resource conflicts with other workloads, and monitors the system and workloads to generate detailed reports.

Comprehensive resource control requires a number of components closely working together. rd-agent will check all the needed features and try to configure the system as necessary, and report all the missing pieces. The following basic system configuration is expected.

  • The root filesystem must be btrfs and on a physical device (not md or dm).

  • Swap must be on the same device as root filesystem larger than half the memory. Swapfile on the root filesystem is preferred.

  • The scratch directory must be on the root filesystem.

  • systemd is the system agent and using cgroup2.

Some of the system configuration failures can be ignored with --force. However, resource isolation may not work as expected.

Configurations, commanding and reporting happen through json files under /var/lib/resctl-demo by default. All files used by workloads are under the scratch sub-directory. Take a look at index.json and cmd.json if you want to explore the control files.

rd-agent is usually used as a part of resctl-demo or resctl-bench. For more information on the containing projects, visit:

https://github.com/facebookexperimental/resctl-demo

Dependencies

~12–43MB
~692K SLoC