mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2026-10-26 14:00:26 +00:00
Hydrology pool host cap
- Hydrology planner pool minimum never exceeds the host core count (floor 2)
This commit is contained in:
1 parent
ae1a84702c
commit
b712cbf93d
2 files changed
+14
-6
No files matched your search
@@ -144,11 +144,11 @@ public class MultiBurst extends MultiBurstSupport {
|
||||
}
|
||||
|
||||
static int plannerParallelism() {
|
||||
return plannerParallelism(MultiBurstSupport.performanceProcessors());
|
||||
return plannerParallelism(MultiBurstSupport.performanceProcessors(), Runtime.getRuntime().availableProcessors());
|
||||
}
|
||||
|
||||
static int plannerParallelism(int performanceProcessors) {
|
||||
return Math.max(4, performanceProcessors);
|
||||
static int plannerParallelism(int performanceProcessors, int availableProcessors) {
|
||||
return Math.max(2, Math.min(Math.max(4, performanceProcessors), availableProcessors));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -63,9 +63,17 @@ public class HydrologyBurstTest {
|
||||
|
||||
@Test
|
||||
public void plannerPoolFollowsThePerformanceCores() {
|
||||
assertEquals(12, MultiBurst.HydrologyBurst.plannerParallelism(12));
|
||||
assertEquals(4, MultiBurst.HydrologyBurst.plannerParallelism(1));
|
||||
assertEquals(32, MultiBurst.HydrologyBurst.plannerParallelism(32));
|
||||
assertEquals(12, MultiBurst.HydrologyBurst.plannerParallelism(12, 16));
|
||||
assertEquals(4, MultiBurst.HydrologyBurst.plannerParallelism(1, 8));
|
||||
assertEquals(32, MultiBurst.HydrologyBurst.plannerParallelism(32, 32));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void plannerPoolNeverOutgrowsASmallHost() {
|
||||
assertEquals(2, MultiBurst.HydrologyBurst.plannerParallelism(1, 1));
|
||||
assertEquals(2, MultiBurst.HydrologyBurst.plannerParallelism(2, 2));
|
||||
assertEquals(3, MultiBurst.HydrologyBurst.plannerParallelism(3, 3));
|
||||
assertEquals(4, MultiBurst.HydrologyBurst.plannerParallelism(2, 4));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in new issue
Block a user