diff options
author | Harald Musum <musum@verizonmedia.com> | 2023-06-06 15:04:37 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-06 15:04:37 +0200 |
commit | 3a578c29eaa3ebe55a3c8fa81890c5ea15e8a3b5 (patch) | |
tree | e99010570401f7715f35b537e0081abcb94f3922 /node-repository | |
parent | 66956b0157b2acb3acf1c63c1418e307c19cff23 (diff) | |
parent | 598e1e68c585fb04e2f7c429b4fba61f88ca1988 (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.java | 18 |
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) { |