docker: resource requirements + multi-subnet/shard override compose (#28) - #41
Open
Alicepoltora wants to merge 2 commits into
Open
docker: resource requirements + multi-subnet/shard override compose (#28)#41Alicepoltora wants to merge 2 commits into
Alicepoltora wants to merge 2 commits into
Conversation
This file serves as an override for multi-subnet testing, adding shard-tagged solvers to the existing multi-validator stack. It includes resource limits and configuration for the solvers.
Added subnet override compose file for multi-subnet/shard testing.
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.
Closes #28.
What
Two files, one change set:
docker/docker-compose.subnet-override.ymlis a new override file that layers 2 extra shard-tagged solvers (solver-shard-a, solver-shard-b) on top of docker-compose.multi-validator.yml, so contributors can exercise shard-aware solver registration without hand-writing a new compose file. It also adds illustrative per-solver CPU/memory limits.docker/README.mdgets three additions: a new "Resource Requirements" section with a sizing table (dev/CI minimum vs. suggested prod starting point) for Validator and Solver nodes, including AWS Nitro Enclave allocation guidance for production TEE solvers; a new "Scenario 5: Multi-Subnet / Shard Testing (Override)" entry under Deployment Scenarios documenting how to use the override file; and an updated directory structure listing that includes the new file.Why
#28 asked for two things: resource requirement notes for TEE solvers in production, and an example docker-compose override for multi-subnet testing. This PR covers both.
Scope / honesty notes
The resource numbers are general starting-point guidance (informed by how AWS Nitro Enclaves reserve vCPU/memory via /etc/nitro_enclaves/allocator.yaml), not benchmarks measured against Setu's actual workload. That's stated explicitly in the doc, with an invitation for maintainers/community to replace it with real numbers.
Subnet routing itself is still on the roadmap per the main README, so the override demonstrates topology and shard-tagged registration only, not consensus-level subnet isolation. That's called out in both the compose file header and the README section so it isn't overclaimed.
Also noted that deploy.resources.limits needs Compose's --compatibility flag (or Swarm mode) to actually be enforced outside Swarm.
Happy to adjust the resource numbers or topology if you have real benchmarks or a different shape in mind for subnet testing.