public class StageAllocatorLowCostAligned extends Object implements StageAllocator
StageAllocatorLowCostAligned.DurationInterval with lowest overall cost. The algorithm only
 considers non-overlapping intervals of length 'duration'. This guarantees
 that the allocations are aligned. If 'allocateLeft == true', the intervals
 considered by the algorithm are aligned to stageArrival; otherwise, they are
 aligned to stageDeadline. The smoothnessFactor parameter controls the number
 of containers that are simultaneously allocated in each iteration of the
 algorithm.| Modifier and Type | Class and Description | 
|---|---|
| protected static class  | StageAllocatorLowCostAligned.DurationIntervalAn inner class that represents an interval, typically of length duration. | 
| Constructor and Description | 
|---|
| StageAllocatorLowCostAligned(boolean allocateLeft) | 
| StageAllocatorLowCostAligned(int smoothnessFactor,
                            boolean allocateLeft) | 
| Modifier and Type | Method and Description | 
|---|---|
| protected double | calcCostOfInterval(long startTime,
                  long endTime,
                  RLESparseResourceAllocation planLoads,
                  RLESparseResourceAllocation planModifications,
                  org.apache.hadoop.yarn.api.records.Resource capacity,
                  org.apache.hadoop.yarn.util.resource.ResourceCalculator resCalc,
                  long step) | 
| protected static double | calcCostOfLoad(org.apache.hadoop.yarn.api.records.Resource load,
              org.apache.hadoop.yarn.api.records.Resource capacity,
              org.apache.hadoop.yarn.util.resource.ResourceCalculator resCalc) | 
| protected double | calcCostOfTimeSlot(long t,
                  RLESparseResourceAllocation planLoads,
                  RLESparseResourceAllocation planModifications,
                  org.apache.hadoop.yarn.api.records.Resource capacity,
                  org.apache.hadoop.yarn.util.resource.ResourceCalculator resCalc) | 
| Map<ReservationInterval,org.apache.hadoop.yarn.api.records.Resource> | computeStageAllocation(Plan plan,
                      RLESparseResourceAllocation planLoads,
                      RLESparseResourceAllocation planModifications,
                      org.apache.hadoop.yarn.api.records.ReservationRequest rr,
                      long stageArrival,
                      long stageDeadline,
                      long period,
                      String user,
                      org.apache.hadoop.yarn.api.records.ReservationId oldId)Computes the allocation of a stage inside a defined time interval. | 
| protected static StageAllocatorLowCostAligned.DurationInterval | getDurationInterval(long startTime,
                   long endTime,
                   RLESparseResourceAllocation planLoads,
                   RLESparseResourceAllocation planModifications,
                   org.apache.hadoop.yarn.api.records.Resource capacity,
                   RLESparseResourceAllocation netRLERes,
                   org.apache.hadoop.yarn.util.resource.ResourceCalculator resCalc,
                   long step,
                   org.apache.hadoop.yarn.api.records.Resource requestedResources) | 
| protected static int | getDurationIntervalGangsCanFit(long startTime,
                              long endTime,
                              RLESparseResourceAllocation planModifications,
                              org.apache.hadoop.yarn.api.records.Resource capacity,
                              RLESparseResourceAllocation netRLERes,
                              org.apache.hadoop.yarn.util.resource.ResourceCalculator resCalc,
                              org.apache.hadoop.yarn.api.records.Resource requestedResources) | 
| protected static double | getDurationIntervalTotalCost(long startTime,
                            long endTime,
                            RLESparseResourceAllocation planLoads,
                            RLESparseResourceAllocation planModifications,
                            org.apache.hadoop.yarn.api.records.Resource capacity,
                            org.apache.hadoop.yarn.util.resource.ResourceCalculator resCalc,
                            long step) | 
| protected org.apache.hadoop.yarn.api.records.Resource | getLoadAtTime(long t,
             RLESparseResourceAllocation planLoads,
             RLESparseResourceAllocation planModifications) | 
| protected static long | stepRoundDown(long t,
             long step) | 
| protected static long | stepRoundUp(long t,
           long step) | 
public StageAllocatorLowCostAligned(boolean allocateLeft)
public StageAllocatorLowCostAligned(int smoothnessFactor,
                                    boolean allocateLeft)
public Map<ReservationInterval,org.apache.hadoop.yarn.api.records.Resource> computeStageAllocation(Plan plan, RLESparseResourceAllocation planLoads, RLESparseResourceAllocation planModifications, org.apache.hadoop.yarn.api.records.ReservationRequest rr, long stageArrival, long stageDeadline, long period, String user, org.apache.hadoop.yarn.api.records.ReservationId oldId) throws PlanningException
StageAllocatorcomputeStageAllocation in interface StageAllocatorplan - the Plan to which the reservation must be fittedplanLoads - a 'dirty' read of the plan loads at each timeplanModifications - the allocations performed by the planning
          algorithm which are not yet reflected by planrr - the stagestageArrival - the arrival time (earliest starting time) set for
          the stage by the two phase planning algorithmstageDeadline - the deadline of the stage set by the two phase
          planning algorithmperiod - the periodicity with which this stage appearsuser - name of the useroldId - identifier of the old reservationPlanningException - if operation is unsuccessfulprotected static StageAllocatorLowCostAligned.DurationInterval getDurationInterval(long startTime, long endTime, RLESparseResourceAllocation planLoads, RLESparseResourceAllocation planModifications, org.apache.hadoop.yarn.api.records.Resource capacity, RLESparseResourceAllocation netRLERes, org.apache.hadoop.yarn.util.resource.ResourceCalculator resCalc, long step, org.apache.hadoop.yarn.api.records.Resource requestedResources) throws PlanningException
PlanningExceptionprotected static double getDurationIntervalTotalCost(long startTime,
                                                     long endTime,
                                                     RLESparseResourceAllocation planLoads,
                                                     RLESparseResourceAllocation planModifications,
                                                     org.apache.hadoop.yarn.api.records.Resource capacity,
                                                     org.apache.hadoop.yarn.util.resource.ResourceCalculator resCalc,
                                                     long step)
                                              throws PlanningException
PlanningExceptionprotected static int getDurationIntervalGangsCanFit(long startTime,
                                                    long endTime,
                                                    RLESparseResourceAllocation planModifications,
                                                    org.apache.hadoop.yarn.api.records.Resource capacity,
                                                    RLESparseResourceAllocation netRLERes,
                                                    org.apache.hadoop.yarn.util.resource.ResourceCalculator resCalc,
                                                    org.apache.hadoop.yarn.api.records.Resource requestedResources)
                                             throws PlanningException
PlanningExceptionprotected double calcCostOfInterval(long startTime,
                                    long endTime,
                                    RLESparseResourceAllocation planLoads,
                                    RLESparseResourceAllocation planModifications,
                                    org.apache.hadoop.yarn.api.records.Resource capacity,
                                    org.apache.hadoop.yarn.util.resource.ResourceCalculator resCalc,
                                    long step)
protected double calcCostOfTimeSlot(long t,
                                    RLESparseResourceAllocation planLoads,
                                    RLESparseResourceAllocation planModifications,
                                    org.apache.hadoop.yarn.api.records.Resource capacity,
                                    org.apache.hadoop.yarn.util.resource.ResourceCalculator resCalc)
protected org.apache.hadoop.yarn.api.records.Resource getLoadAtTime(long t,
                                                                    RLESparseResourceAllocation planLoads,
                                                                    RLESparseResourceAllocation planModifications)
protected static double calcCostOfLoad(org.apache.hadoop.yarn.api.records.Resource load,
                                       org.apache.hadoop.yarn.api.records.Resource capacity,
                                       org.apache.hadoop.yarn.util.resource.ResourceCalculator resCalc)
protected static long stepRoundDown(long t,
                                    long step)
protected static long stepRoundUp(long t,
                                  long step)
Copyright © 2008–2023 Apache Software Foundation. All rights reserved.