Skip to content

Add parallel FYRE OpenShift benchmarks with 40 GB disks - #19

Draft
lucarlig wants to merge 6 commits into
mainfrom
user/luca/fyre-openshift
Draft

lucarlig wants to merge 6 commits into
mainfrom
user/luca/fyre-openshift

Conversation

@lucarlig

@lucarlig lucarlig commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

The standalone FYRE API fixes each Ubuntu VM at a 250 GB root disk, while FYRE OpenShift defaults every worker to a 250 GB root disk plus two 200 GB data disks. This adds OpenShift-backed benchmark profiles that set every master and worker root disk to 40 GB and explicitly request no worker data disks.

The quota-sized openshift-2v2-parallel.yaml profile runs all eight one-hour measurements concurrently: built-in and external dataplanes at 125, 250, 500, and 1,000 users. Every measurement has an independent 2 vCPU/2 GiB target limit, 1.5 vCPU/1.25 GiB Locust pod with one master and three workers, and 1.5 vCPU/1.375 GiB zero-delay Fast Time pod. The target pods reserve 1.75 vCPU/1.75 GiB each so all eight fit with scheduling headroom on a 16 vCPU/16 GiB target worker. Locust and Fast Time use separate 14 vCPU/12 GiB workers. The helper-pressure gate rejects results if load generation or Fast Time becomes the bottleneck.

Both lanes use the same modern 2026-07-28 Locust client, server/discover startup, and repeated balanced tools/call traffic across the same six Fast Time tools. Each request carries identical per-request client metadata. Only the public MCP route and target implementation differ.

The CLI owns the complete OpenShift lifecycle through the FYRE API, stores state under CF_INTEGRATION_DIR, downloads artifacts before cleanup, redacts credentials, and supports run, status, and destroy with short aliases. Re-running load fyre run with the same run ID resumes an interrupted OpenShift campaign from its saved manifest. Reports include measured-window gateway memory, helper-pressure validation, CSV/JSON, a Slack-ready PNG, and a self-contained Markdown report with the request mix and Mermaid architecture.

The fully parallel three-worker profile requests 740 GB total disk: one fixed 500 GB FYRE API VM, three 40 GB masters, and three 40 GB workers. A live SVL probe confirmed that base_disk_size: "40" plus additional_disk: [] is accepted and produces 40 GB worker roots with no data disks. A full live campaign is provisioning as cf-ocp-2v2-parallel-rtp1 (cluster 2-289711); its supervisor is independently managed and will resume from the same run ID if interrupted.

Validation:

  • cargo test --locked --all-targets (435 passed)
  • cargo clippy --locked --all-targets --all-features -- -D warnings
  • PYTHONPATH=benchmarks/fyre python3 -m unittest benchmarks/fyre/test_campaign.py benchmarks/fyre/test_openshift_campaign.py (31 passed)
  • Live FYRE API validation of 40 GB master/worker roots and empty worker data disks
  • Live full campaign accepted with seven cluster VMs and all eight benchmark measurements configured in parallel

Signed-off-by: lucarlig <luca.carlig@ibm.com>
Signed-off-by: lucarlig <luca.carlig@ibm.com>
Signed-off-by: lucarlig <luca.carlig@ibm.com>
Signed-off-by: lucarlig <luca.carlig@ibm.com>
Signed-off-by: lucarlig <luca.carlig@ibm.com>
Signed-off-by: lucarlig <luca.carlig@ibm.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant