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

#212 in Unix APIs

Download history 24/week @ 2024-01-05 42/week @ 2024-01-12 114/week @ 2024-01-19 85/week @ 2024-01-26 73/week @ 2024-02-02 202/week @ 2024-02-09 100/week @ 2024-02-16 94/week @ 2024-02-23 148/week @ 2024-03-01 225/week @ 2024-03-08 165/week @ 2024-03-15 72/week @ 2024-03-22 84/week @ 2024-03-29 73/week @ 2024-04-05 48/week @ 2024-04-12 69/week @ 2024-04-19

280 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

~11–43MB
~681K SLoC