Allow worker nodes to accept work from any active build, not just 'lock' to a single build at a time
- Dominant language
- C#
- Stars
- 5.5k
- Forks
- 1.5k
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 141
Description
### Summary
Now that we have the safety guarantees that the Multithreaded APIs (and marker interfaces) provide, we can consider an exciting feature - allowing worker nodes to do work across multiple active builds, taking work from whichever builds are active instead of being constrained to a single logical build for the duration of that build.
Before these APIs, this was too risky because Tasks couldn't be trusted to be stateless - but with the APIs (and some additional documentation clarifying how stateful constructs like C# statics should be used safely) we can experiment with this possibility, which should help prevent the thundering-herd problem of multiple concurrent builds spawning NUMPROCS nodes that we have today.
### Background and Motivation
Fill in later
### Proposed Feature
Fill in later
### Alternative Designs
_No response_
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.