[ci/release] Add "tiny" concurrency group, change limits (#23065)

E.g. long running tests run on small clusters (often 8 CPUs) but block other jobs for a long time. We should thus add more granularity to the concurrency groups.
Additionally, limits have been slightly adjusted to make more sense (e.g. 8 GPUs are now small-gpu, 9+ GPUs large-gpu, instead of 7 for small-gpu and 8 for large-gpu).
This commit is contained in:
Kai Fricke 2022-03-11 18:19:38 +00:00 committed by GitHub
parent 28d597e009
commit 04ea180dfb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 13 deletions

View file

@ -11,11 +11,12 @@ limit = int(15784 * 0.9)
CONCURRENY_GROUPS = {
"tiny": 32,
"small": 16,
"medium": 4,
"large": 2,
"small-gpu": 4,
"large-gpu": 2,
"small-gpu": 8,
"large-gpu": 4,
}
@ -24,10 +25,11 @@ Condition = namedtuple(
)
gpu_cpu_to_concurrency_groups = [
Condition(min_gpu=8, max_gpu=-1, min_cpu=0, max_cpu=-1, group="large-gpu"),
Condition(min_gpu=1, max_gpu=8, min_cpu=0, max_cpu=-1, group="small-gpu"),
Condition(min_gpu=0, max_gpu=0, min_cpu=512, max_cpu=-1, group="large"),
Condition(min_gpu=0, max_gpu=0, min_cpu=128, max_cpu=512, group="medium"),
Condition(min_gpu=9, max_gpu=-1, min_cpu=0, max_cpu=-1, group="large-gpu"),
Condition(min_gpu=1, max_gpu=9, min_cpu=0, max_cpu=-128, group="small-gpu"),
Condition(min_gpu=0, max_gpu=0, min_cpu=513, max_cpu=-1, group="large"),
Condition(min_gpu=0, max_gpu=0, min_cpu=129, max_cpu=512, group="medium"),
Condition(min_gpu=0, max_gpu=0, min_cpu=0, max_cpu=32, group="tiny"),
Condition(min_gpu=0, max_gpu=0, min_cpu=0, max_cpu=128, group="small"),
]

View file

@ -328,12 +328,14 @@ class BuildkiteSettingsTest(unittest.TestCase):
self.assertEqual(group_name, group)
self.assertEqual(limit, CONCURRENY_GROUPS[group_name])
test_concurrency(12800, 8, "large-gpu")
test_concurrency(12800, 7, "small-gpu")
test_concurrency(12800, 9, "large-gpu")
test_concurrency(12800, 8, "small-gpu")
test_concurrency(12800, 1, "small-gpu")
test_concurrency(12800, 0, "large")
test_concurrency(512, 0, "large")
test_concurrency(511, 0, "medium")
test_concurrency(128, 0, "medium")
test_concurrency(127, 0, "small")
test_concurrency(1, 0, "small")
test_concurrency(513, 0, "large")
test_concurrency(512, 0, "medium")
test_concurrency(129, 0, "medium")
test_concurrency(128, 0, "small")
test_concurrency(1, 0, "tiny")
test_concurrency(32, 0, "tiny")
test_concurrency(33, 0, "small")