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

#411 in Filesystem

Download history 218/week @ 2024-07-27 79/week @ 2024-08-03 90/week @ 2024-08-10 138/week @ 2024-08-17 160/week @ 2024-08-24 54/week @ 2024-08-31 86/week @ 2024-09-07 115/week @ 2024-09-14 166/week @ 2024-09-21 333/week @ 2024-09-28 162/week @ 2024-10-05 126/week @ 2024-10-12 171/week @ 2024-10-19 137/week @ 2024-10-26 59/week @ 2024-11-02 96/week @ 2024-11-09

490 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

~13–42MB
~685K SLoC