Просмотр исходного кода

YARN-1923. Make Fair Scheduler resource ratio calculations terminate faster (Anubhav Dhoot via Sandy Ryza)

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-2@1586795 13f79535-47bb-0310-9956-ffa450edef68
Sanford Ryza 11 лет назад
Родитель
Сommit
755e8c684c

+ 3 - 0
hadoop-yarn-project/CHANGES.txt

@@ -35,6 +35,9 @@ Release 2.5.0 - UNRELEASED
     YARN-1889. In Fair Scheduler, avoid creating objects on each call to
     AppSchedulable comparator (Hong Zhiguo via Sandy Ryza)
 
+    YARN-1923. Make Fair Scheduler resource ratio calculations terminate faster
+    (Anubhav Dhoot via Sandy Ryza)
+
   OPTIMIZATIONS
 
   BUG FIXES 

+ 6 - 2
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/policies/ComputeFairShares.java

@@ -107,8 +107,12 @@ public class ComputeFairShares {
     double right = rMax;
     for (int i = 0; i < COMPUTE_FAIR_SHARES_ITERATIONS; i++) {
       double mid = (left + right) / 2.0;
-      if (resourceUsedWithWeightToResourceRatio(mid, schedulables, type) <
-          totalResource) {
+      int plannedResourceUsed = resourceUsedWithWeightToResourceRatio(
+          mid, schedulables, type);
+      if (plannedResourceUsed == totalResource) {
+        right = mid;
+        break;
+      } else if (plannedResourceUsed < totalResource) {
         left = mid;
       } else {
         right = mid;