Deterministic assignment of sandbox IDs
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1k
- Forks
- 412
- Avg merge
- 6d 10h
- Merged PRs (30d)
- 3
Description
When using CMS with the Isolate sandbox, the assignment of sandbox IDs for various purposes (compilation, solution, manager for communication tasks, etc.) is somewhat haphazard and unpredictable. So even though Isolate itself supports pinning of sandboxes to specific CPU cores and/or NUMA nodes, it cannot be used in CMS for pinning a specific type of sandbox. This would be very useful to minimize time measurement noise in various types of interactive tasks.
I would like to make the assignment of IDs configurable. That is, to allow specifying a map from a (shard, purpose) pair to Isolate's sandbox ID. For the purposes, we can re-use existing sandbox names, only in case of communication tasks with multiple instances of the solution, the name would have to be extended to include instance number.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the CMS code that assigns Isolate sandbox IDs, then trace how shard, purpose, and communication-task instances are currently named. Define how configuration maps each (shard, purpose) pair to an ID, including multiple solution instances, and verify that compilation, solution, manager, and communication sandboxes receive deterministic IDs suitable for CPU or NUMA pinning.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 32/100