public class CapacitySchedulerPreemptionUtils extends Object
| Constructor and Description |
|---|
CapacitySchedulerPreemptionUtils() |
| Modifier and Type | Method and Description |
|---|---|
protected static void |
addToPreemptMap(Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,Set<RMContainer>> preemptMap,
Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,Set<RMContainer>> curCandidates,
org.apache.hadoop.yarn.api.records.ApplicationAttemptId appAttemptId,
RMContainer containerToPreempt) |
static void |
deductPreemptableResourcesBasedSelectedCandidates(CapacitySchedulerPreemptionContext context,
Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,Set<RMContainer>> selectedCandidates) |
static Map<String,org.apache.hadoop.yarn.api.records.Resource> |
getResToObtainByPartitionForLeafQueue(CapacitySchedulerPreemptionContext context,
String queueName,
org.apache.hadoop.yarn.api.records.Resource clusterResource) |
static boolean |
isContainerAlreadySelected(RMContainer container,
Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,Set<RMContainer>> selectedCandidates) |
static boolean |
tryPreemptContainerAndDeductResToObtain(org.apache.hadoop.yarn.util.resource.ResourceCalculator rc,
CapacitySchedulerPreemptionContext context,
Map<String,org.apache.hadoop.yarn.api.records.Resource> resourceToObtainByPartitions,
RMContainer rmContainer,
org.apache.hadoop.yarn.api.records.Resource clusterResource,
Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,Set<RMContainer>> preemptMap,
Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,Set<RMContainer>> curCandidates,
org.apache.hadoop.yarn.api.records.Resource totalPreemptionAllowed,
boolean conservativeDRF)
Invoke this method to preempt container based on resToObtain.
|
public static Map<String,org.apache.hadoop.yarn.api.records.Resource> getResToObtainByPartitionForLeafQueue(CapacitySchedulerPreemptionContext context, String queueName, org.apache.hadoop.yarn.api.records.Resource clusterResource)
public static boolean isContainerAlreadySelected(RMContainer container, Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,Set<RMContainer>> selectedCandidates)
public static void deductPreemptableResourcesBasedSelectedCandidates(CapacitySchedulerPreemptionContext context, Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,Set<RMContainer>> selectedCandidates)
public static boolean tryPreemptContainerAndDeductResToObtain(org.apache.hadoop.yarn.util.resource.ResourceCalculator rc,
CapacitySchedulerPreemptionContext context,
Map<String,org.apache.hadoop.yarn.api.records.Resource> resourceToObtainByPartitions,
RMContainer rmContainer,
org.apache.hadoop.yarn.api.records.Resource clusterResource,
Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,Set<RMContainer>> preemptMap,
Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,Set<RMContainer>> curCandidates,
org.apache.hadoop.yarn.api.records.Resource totalPreemptionAllowed,
boolean conservativeDRF)
rc - resource calculatorcontext - preemption contextresourceToObtainByPartitions - map to hold resource to obtain per partitionrmContainer - containerclusterResource - total resourcepreemptMap - map to hold preempted containerstotalPreemptionAllowed - total preemption allowed per roundconservativeDRF - should we do conservativeDRF preemption or not.
When true:
stop preempt container when any major resource type
<= 0 for to-preempt.
This is default preemption behavior of intra-queue preemption
When false:
stop preempt container when: all major resource type
<= 0 for to-preempt.
This is default preemption behavior of inter-queue preemptioncurCandidates - RMContainer Set.resourceToObtainByPartitionprotected static void addToPreemptMap(Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,Set<RMContainer>> preemptMap, Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,Set<RMContainer>> curCandidates, org.apache.hadoop.yarn.api.records.ApplicationAttemptId appAttemptId, RMContainer containerToPreempt)
Copyright © 2008–2024 Apache Software Foundation. All rights reserved.