Repository navigation
Add Agent Sandbox claim throughput benchmark on the H8 hyperscale profile - #1364
Closed
Isaac Lee (Isaac-Lee-msft) wants to merge 1 commit into
Closed
Isaac Lee (Isaac-Lee-msft) wants to merge 1 commit into
Isaac Lee (Isaac-Lee-msft) wants to merge 1 commit into
Conversation
…file Measures how many Agent Sandbox (kubernetes-sigs/agent-sandbox) claims per second an AKS control plane on the H8 profile serves within its latency objectives, served from pre-warmed Sandboxes on simulated KWOK nodes. - modules/python/agent_sandbox: installs pinned KWOK and agent-sandbox releases (SHA-256 checked), fills the warm pools, runs an in-cluster load generator (Python standard library, public Azure Linux Python image) through a ladder of claim rates, and writes one result line per rate with latency percentiles, error rate, warm hit, teardown and pass/fail verdicts. - steps/engine/agent-sandbox and the hyperscale-cluster topology hooks. - scenarios/perf-eval/agent-sandbox: H8 cluster inputs and a README. - Pipeline "Hyperscale Cluster Benchmark/agent-sandbox-H8.yml", manual trigger until validated.
|
For reviewers only: reply |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this adds
A benchmark that measures how many Agent Sandbox claims per second an AKS control plane on the H8 hyperscale profile serves within its latency objectives. Claims are served from pre-warmed Sandboxes whose pods run on simulated KWOK nodes, so the load falls on the control plane: API server, etcd, kube-controller-manager's garbage collector, kube-scheduler and the agent-sandbox controller.
modules/python/agent_sandboxmain.py configureinstalls pinned KWOK v0.8.0 and agent-sandbox v1.0.7 releases (SHA-256 checked) and fills 4 warm pools of 750 Sandboxes. The controller runs as one instance with throughput settings.main.py executeruns an in-cluster load generator through a ladder of claim rates and copies its results back. The default ladder is 50–300 claims/s, 300 s measured per rate after a 60 s warmup.main.py collectwrites one JSON line per rate: latency p50/p90/p99, error rate, warm hit, teardown, generator lateness, and two verdicts (p99 ≤ 1 s, and p90 ≤ 200 ms, each with the error, warm-hit, teardown, drift and lateness checks).generator.pyuses only the Python standard library and runs frommcr.microsoft.com/azurelinux/base/python:3.12, so no new image is needed.steps/engine/agent-sandbox, plusexecute-agent-sandbox.ymlandcollect-agent-sandbox.ymlin the existinghyperscale-clustertopology. Its validate step already checks the H8 API server cores.scenarios/perf-eval/agent-sandbox: H8 cluster inputs, using theazapimodule likeccp-provisioning, with a 4 × Standard_D16s_v5 system pool. Also a README describing the metrics and verdicts.pipelines/perf-eval/Hyperscale Cluster Benchmark/agent-sandbox-H8.yml: eastasia, manual trigger for now.No Terraform module changes.
Testing
modules/python/tests/agent_sandbox. The full Python suite passes locally (877 passed, 1 skipped) with 84.7% total coverage; the new modules are at 94–100%.pylint3.3.4 with the repo's.pylintrcscores 10.00/10 on the new files.yamllintandterraform fmt -check(1.10.0) are clean.configure→execute(5 and 10 claims/s) →collect./run-tf-integration.Needs from maintainers
agent-sandbox-H8results (one line per rate).