summaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2023-06-06 15:04:37 +0200
committerGitHub <noreply@github.com>2023-06-06 15:04:37 +0200
commit3a578c29eaa3ebe55a3c8fa81890c5ea15e8a3b5 (patch)
treee99010570401f7715f35b537e0081abcb94f3922 /node-repository
parent66956b0157b2acb3acf1c63c1418e307c19cff23 (diff)
parent598e1e68c585fb04e2f7c429b4fba61f88ca1988 (diff)
Merge pull request #27310 from vespa-engine/hmusum/more-memory-for-x86_64-cluster-controllers-only
Give more memory to arm64 cluster controllers only
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/CapacityPolicies.java18
1 files changed, 13 insertions, 5 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/CapacityPolicies.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/CapacityPolicies.java
index 1546a3b3434..f8303761b3f 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/CapacityPolicies.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/CapacityPolicies.java
@@ -104,7 +104,7 @@ public class CapacityPolicies {
Architecture architecture = adminClusterArchitecture(applicationId);
if (clusterSpec.id().value().equals("cluster-controllers")) {
- return clusterControllerResources(clusterSpec).with(architecture);
+ return clusterControllerResources(clusterSpec, architecture).with(architecture);
}
return (nodeRepository.exclusiveAllocation(clusterSpec)
@@ -129,16 +129,24 @@ public class CapacityPolicies {
}
}
- private NodeResources clusterControllerResources(ClusterSpec clusterSpec) {
+ private NodeResources clusterControllerResources(ClusterSpec clusterSpec, Architecture architecture) {
if (nodeRepository.exclusiveAllocation(clusterSpec)) {
return versioned(clusterSpec, Map.of(new Version(0), smallestExclusiveResources()));
}
// 1.32 fits floor(8/1.32) = 6 cluster controllers on each 8Gb host, and each will have
// 1.32-(0.7+0.6)*(1.32/8) = 1.1 Gb real memory given current taxes.
- return versioned(clusterSpec, Map.of(new Version(0), new NodeResources(0.25, 1.14, 10, 0.3),
- new Version(8, 129, 4), new NodeResources(0.25, 1.32, 10, 0.3),
- new Version(8, 173, 5), new NodeResources(0.25, 1.50, 10, 0.3)));
+ if (architecture == Architecture.x86_64)
+ return versioned(clusterSpec, Map.of(new Version(0), new NodeResources(0.25, 1.14, 10, 0.3),
+ new Version(8, 129, 4), new NodeResources(0.25, 1.32, 10, 0.3),
+ // TODO: Remove the two entries below when no version between 8.173.5 and 8.173.12 is in use
+ new Version(8, 173, 5), new NodeResources(0.25, 1.50, 10, 0.3),
+ new Version(8, 173, 12), new NodeResources(0.25, 1.32, 10, 0.3)));
+ else
+ // arm64 nodes need more memory
+ return versioned(clusterSpec, Map.of(new Version(0), new NodeResources(0.25, 1.14, 10, 0.3),
+ new Version(8, 129, 4), new NodeResources(0.25, 1.32, 10, 0.3),
+ new Version(8, 173, 5), new NodeResources(0.25, 1.50, 10, 0.3)));
}
private Architecture adminClusterArchitecture(ApplicationId instance) {