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

#486 in Filesystem

Download history 137/week @ 2024-10-26 59/week @ 2024-11-02 99/week @ 2024-11-09 133/week @ 2024-11-16 115/week @ 2024-11-23 131/week @ 2024-11-30 164/week @ 2024-12-07 119/week @ 2024-12-14 19/week @ 2024-12-21 20/week @ 2024-12-28 37/week @ 2025-01-04 46/week @ 2025-01-11 142/week @ 2025-01-18 219/week @ 2025-01-25 183/week @ 2025-02-01 129/week @ 2025-02-08

685 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
~662K SLoC