From 80eb92aff02cc9f899a6897e9cbc2bc69bd56136 Mon Sep 17 00:00:00 2001 From: Alejandro Abdelnur Date: Wed, 12 Jun 2013 18:57:31 +0000 Subject: [PATCH] YARN-600. Hook up cgroups CPU settings to the number of virtual cores allocated. (sandyr via tucu) git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1492365 13f79535-47bb-0310-9956-ffa450edef68 --- hadoop-yarn-project/CHANGES.txt | 3 +++ .../nodemanager/util/CgroupsLCEResourcesHandler.java | 7 ++----- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt index 0bcdfaa895..7ca7c85635 100644 --- a/hadoop-yarn-project/CHANGES.txt +++ b/hadoop-yarn-project/CHANGES.txt @@ -315,6 +315,9 @@ Release 2.1.0-beta - UNRELEASED YARN-731. RPCUtil.unwrapAndThrowException should unwrap remote RuntimeExceptions. (Zhijie Shen via sseth) + YARN-600. Hook up cgroups CPU settings to the number of virtual cores + allocated. (sandyr via tucu) + OPTIMIZATIONS YARN-512. Log aggregation root directory check is more expensive than it diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/util/CgroupsLCEResourcesHandler.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/util/CgroupsLCEResourcesHandler.java index 8c0a8531d5..f83defb168 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/util/CgroupsLCEResourcesHandler.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/util/CgroupsLCEResourcesHandler.java @@ -172,18 +172,15 @@ public class CgroupsLCEResourcesHandler implements LCEResourcesHandler { * Next three functions operate on all the resources we are enforcing. */ - /* - * TODO: After YARN-2 is committed, we should call containerResource.getCpus() - * (or equivalent) to multiply the weight by the number of requested cpus. - */ private void setupLimits(ContainerId containerId, Resource containerResource) throws IOException { String containerName = containerId.toString(); if (isCpuWeightEnabled()) { createCgroup(CONTROLLER_CPU, containerName); + int cpuShares = CPU_DEFAULT_WEIGHT * containerResource.getVirtualCores(); updateCgroup(CONTROLLER_CPU, containerName, "shares", - String.valueOf(CPU_DEFAULT_WEIGHT)); + String.valueOf(cpuShares)); } }