Skip to content

Latest commit

 

History

History
28 lines (24 loc) · 2.03 KB

File metadata and controls

28 lines (24 loc) · 2.03 KB

The Orchestrator: run.py

tools/run.py is a cluster orchestrator: it compiles nothing itself but distributes the prebuilt binary, the libs/ directory, and the chosen config to every test host, launches the DPDK application over SSH with the right EAL arguments, then collects and analyzes the per-host results.

Before first use, edit the configuration block at the top of the script to match your cluster: HOST_CONFIGS lists each host/bond combination (control IP, data IP, PCIe address, and lcore range), and BASE_DIR is the working directory the files are copied to on each host. For a run, the per-host command line is assembled in build_host_run_entries(), and the hosts that actually participate are filtered by the servers.peer_ip field of the config (select_host_entries_from_config()).

run.py is invoked as python3 tools/run.py <subcommand>:

Subcommand Purpose
run --program <bin> --config <yaml> The main workflow: distribute the binary + config to the relevant hosts and launch the experiment, then collect logs into logs/<timestamp>/ and run the analysis.
distribute <src> <dst> Copy a file or directory to all remote hosts.
exp-range <bin> <cfg> <key> <start> <stop> <step> Sweep one config key over a range (linear or multiplicative), running the experiment once per value and aggregating/plotting the results.
plot-exp-range <log_dir> <key> <start> <stop> Re-plot a previously collected exp-range sweep without re-running it.
set-yaml <cfg> <key> <value> Edit a single value in a YAML config (supports a.b nested keys).
init Prepare the hosts: set traffic_class, reserve hugepages, and start nusad.
killall Kill any leftover anytest processes on the local and all remote hosts.
pingmesh Ping the data-plane IPs across hosts to warm up the ARP cache.
set-cnp-interval <ip> <interval> Set the NIC's CNP generation interval on a given host.
ibtest Batch-launch ib_write_bw server/clients for a perftest baseline.