org.apache.hadoop.yarn.util.resource.Resources.divide()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(11.7k)|赞(0)|评价(0)|浏览(100)

本文整理了Java中org.apache.hadoop.yarn.util.resource.Resources.divide方法的一些代码示例,展示了Resources.divide的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Resources.divide方法的具体详情如下:
包路径:org.apache.hadoop.yarn.util.resource.Resources
类名称:Resources
方法名:divide

Resources.divide介绍

暂无

代码示例

代码示例来源:origin: org.apache.hadoop/hadoop-yarn-server-resourcemanager

/**
 * Calculates ratio of reservationResources to planResources.
 */
private float calculateReservationToPlanRatio(
  ResourceCalculator rescCalculator, Resource clusterResources,
  Resource planResources, Resource reservationResources) {
 return Resources.divide(rescCalculator, clusterResources,
   reservationResources, planResources);
}

代码示例来源:origin: ch.cern.hadoop/hadoop-yarn-server-resourcemanager

@Override
protected float calculateReservationToPlanRatio(Resource clusterResources,
  Resource planResources, Resource capToAssign) {
 return Resources.divide(fs.getResourceCalculator(),
   clusterResources, capToAssign, planResources);
}

代码示例来源:origin: ch.cern.hadoop/hadoop-yarn-server-resourcemanager

@Override
protected float calculateReservationToPlanRatio(
  Resource clusterResources, Resource planResources,
  Resource reservationResources) {
 return Resources.divide(cs.getResourceCalculator(),
   clusterResources, reservationResources, planResources);
}

代码示例来源:origin: com.github.jiayuhan-it/hadoop-yarn-server-resourcemanager

@Override
protected float calculateReservationToPlanRatio(Resource clusterResources,
  Resource planResources, Resource capToAssign) {
 return Resources.divide(fs.getResourceCalculator(),
   clusterResources, capToAssign, planResources);
}

代码示例来源:origin: com.github.jiayuhan-it/hadoop-yarn-server-resourcemanager

@Override
protected float calculateReservationToPlanRatio(
  Resource clusterResources, Resource planResources,
  Resource reservationResources) {
 return Resources.divide(cs.getResourceCalculator(),
   clusterResources, reservationResources, planResources);
}

代码示例来源:origin: ch.cern.hadoop/hadoop-yarn-server-resourcemanager

private double getIdealPctOfGuaranteed(TempQueue q) {
  double pctOver = Integer.MAX_VALUE;
  if (q != null && Resources.greaterThan(
    rc, clusterRes, q.guaranteed, Resources.none())) {
   pctOver =
     Resources.divide(rc, clusterRes, q.idealAssigned, q.guaranteed);
  }
  return (pctOver);
 }
}

代码示例来源:origin: com.github.jiayuhan-it/hadoop-yarn-server-resourcemanager

private double getIdealPctOfGuaranteed(TempQueue q) {
  double pctOver = Integer.MAX_VALUE;
  if (q != null && Resources.greaterThan(
    rc, clusterRes, q.guaranteed, Resources.none())) {
   pctOver =
     Resources.divide(rc, clusterRes, q.idealAssigned, q.guaranteed);
  }
  return (pctOver);
 }
}

代码示例来源:origin: ch.cern.hadoop/hadoop-yarn-server-resourcemanager

/**
 * Computes a normalizedGuaranteed capacity based on active queues
 * @param rc resource calculator
 * @param clusterResource the total amount of resources in the cluster
 * @param queues the list of queues to consider
 */
private void resetCapacity(ResourceCalculator rc, Resource clusterResource,
  Collection<TempQueue> queues, boolean ignoreGuar) {
 Resource activeCap = Resource.newInstance(0, 0);
 
 if (ignoreGuar) {
  for (TempQueue q : queues) {
   q.normalizedGuarantee = (float)  1.0f / ((float) queues.size());
  }
 } else {
  for (TempQueue q : queues) {
   Resources.addTo(activeCap, q.guaranteed);
  }
  for (TempQueue q : queues) {
   q.normalizedGuarantee = Resources.divide(rc, clusterResource,
     q.guaranteed, activeCap);
  }
 }
}

代码示例来源:origin: com.github.jiayuhan-it/hadoop-yarn-server-resourcemanager

/**
 * Computes a normalizedGuaranteed capacity based on active queues
 * @param rc resource calculator
 * @param clusterResource the total amount of resources in the cluster
 * @param queues the list of queues to consider
 */
private void resetCapacity(ResourceCalculator rc, Resource clusterResource,
  Collection<TempQueue> queues, boolean ignoreGuar) {
 Resource activeCap = Resource.newInstance(0, 0);
 
 if (ignoreGuar) {
  for (TempQueue q : queues) {
   q.normalizedGuarantee = (float)  1.0f / ((float) queues.size());
  }
 } else {
  for (TempQueue q : queues) {
   Resources.addTo(activeCap, q.guaranteed);
  }
  for (TempQueue q : queues) {
   q.normalizedGuarantee = Resources.divide(rc, clusterResource,
     q.guaranteed, activeCap);
  }
 }
}

代码示例来源:origin: org.apache.hadoop/hadoop-yarn-server-resourcemanager

private double getIdealPctOfGuaranteed(TempQueuePerPartition q) {
  double pctOver = Integer.MAX_VALUE;
  if (q != null && Resources.greaterThan(rc, clusterRes, q.getGuaranteed(),
    Resources.none())) {
   pctOver = Resources.divide(rc, clusterRes, q.idealAssigned,
     q.getGuaranteed());
  }
  return (pctOver);
 }
}

代码示例来源:origin: com.github.jiayuhan-it/hadoop-yarn-server-resourcemanager

/**
  * Retrieve absolute used resources by this queue for the specified node label.
  * @param nodeLabel label for which to get absolute used resources
  * @return absolute used resources by this queue for specified label
  */
 public final synchronized float getAbsoluteUsedCapacity(final String nodeLabel) {
  Resource labeledResources =
        labelManager.getResourceByLabel(nodeLabel, this.clusterResource);
  if (!Resources.greaterThan(resourceCalculator, this.clusterResource,
    labeledResources, Resources.none())) {
   return 0.0f;
  }
  return Resources.divide(resourceCalculator, this.clusterResource,
    queueUsage.getUsed(nodeLabel), labeledResources);
 }
}

代码示例来源:origin: ch.cern.hadoop/hadoop-yarn-server-resourcemanager

/**
  * Retrieve absolute used resources by this queue for the specified node label.
  * @param nodeLabel label for which to get absolute used resources
  * @return absolute used resources by this queue for specified label
  */
 public final synchronized float getAbsoluteUsedCapacity(final String nodeLabel) {
  Resource totalPartitionResource =
    labelManager.getResourceByLabel(nodeLabel, this.clusterResource);
  if (!Resources.greaterThan(resourceCalculator, totalPartitionResource,
    totalPartitionResource, Resources.none())) {
   return 0.0f;
  }
  return Resources.divide(resourceCalculator, totalPartitionResource,
    queueUsage.getUsed(nodeLabel), totalPartitionResource);
 }
}

代码示例来源:origin: ch.cern.hadoop/hadoop-yarn-server-resourcemanager

Resources.divide(rc, clusterResource, tot, minimumAllocation));
ResourceRequest rr = ResourceRequest.newInstance(
  Priority.UNDEFINED, ResourceRequest.ANY,

代码示例来源:origin: com.github.jiayuhan-it/hadoop-yarn-server-resourcemanager

Resources.divide(rc, clusterResource, tot, minimumAllocation));
ResourceRequest rr = ResourceRequest.newInstance(
  Priority.UNDEFINED, ResourceRequest.ANY,

代码示例来源:origin: com.github.jiayuhan-it/hadoop-yarn-server-resourcemanager

/**
 * Retrieve used resources by this queue for the specified node label.
 * Used capacity of label =
 *   (queue's used resources labeled by nodeLabel)
 *      / (   (all resources labeled by nodLabel)
 *          X (percent of labeled resources allocated to this queue)  )
 * @param nodeLabel label for which to get used resources
 * @return used resources by this queue for specified label
 */
public final synchronized float getUsedCapacity(final String nodeLabel) {
 Resource availableToQueue =
   Resources.multiply(
     labelManager.getResourceByLabel(nodeLabel, this.clusterResource),
     queueCapacities.getAbsoluteCapacity(nodeLabel));
 if (!Resources.greaterThan(resourceCalculator, this.clusterResource,
    availableToQueue, Resources.none())) {
  return 0.0f;
 }
 return
   Resources.divide(resourceCalculator, this.clusterResource,
     queueUsage.getUsed(nodeLabel), availableToQueue);
}

代码示例来源:origin: ch.cern.hadoop/hadoop-yarn-server-resourcemanager

/**
 * Retrieve used resources by this queue for the specified node label.
 * Used capacity of label =
 *   (queue's used resources labeled by nodeLabel)
 *      / (   (all resources labeled by nodLabel)
 *          X (percent of labeled resources allocated to this queue)  )
 * @param nodeLabel label for which to get used resources
 * @return used resources by this queue for specified label
 */
public final synchronized float getUsedCapacity(final String nodeLabel) {
 Resource totalPartitionResource =
   labelManager.getResourceByLabel(nodeLabel, this.clusterResource);
 Resource availableToQueue =
   Resources.multiply(totalPartitionResource,
     queueCapacities.getAbsoluteCapacity(nodeLabel));
 if (!Resources.greaterThan(resourceCalculator, totalPartitionResource,
    availableToQueue, Resources.none())) {
  return 0.0f;
 }
 return
   Resources.divide(resourceCalculator, totalPartitionResource,
     queueUsage.getUsed(nodeLabel), availableToQueue);
}

代码示例来源:origin: ch.cern.hadoop/hadoop-yarn-server-resourcemanager

/**
 * Add multiple resources for the specified interval
 * 
 * @param reservationInterval the interval for which the resource is to be
 *          added
 * @param ReservationRequests the resources to be added
 * @param clusterResource the total resources in the cluster
 * @return true if addition is successful, false otherwise
 */
public boolean addCompositeInterval(ReservationInterval reservationInterval,
  List<ReservationRequest> ReservationRequests, Resource clusterResource) {
 ReservationRequest aggregateReservationRequest =
   Records.newRecord(ReservationRequest.class);
 Resource capacity = Resource.newInstance(0, 0);
 for (ReservationRequest ReservationRequest : ReservationRequests) {
  Resources.addTo(capacity, Resources.multiply(
    ReservationRequest.getCapability(),
    ReservationRequest.getNumContainers()));
 }
 aggregateReservationRequest.setNumContainers((int) Math.ceil(Resources
   .divide(resourceCalculator, clusterResource, capacity, minAlloc)));
 aggregateReservationRequest.setCapability(minAlloc);
 return addInterval(reservationInterval, aggregateReservationRequest);
}

代码示例来源:origin: com.github.jiayuhan-it/hadoop-yarn-server-resourcemanager

/**
 * Add multiple resources for the specified interval
 * 
 * @param reservationInterval the interval for which the resource is to be
 *          added
 * @param ReservationRequests the resources to be added
 * @param clusterResource the total resources in the cluster
 * @return true if addition is successful, false otherwise
 */
public boolean addCompositeInterval(ReservationInterval reservationInterval,
  List<ReservationRequest> ReservationRequests, Resource clusterResource) {
 ReservationRequest aggregateReservationRequest =
   Records.newRecord(ReservationRequest.class);
 Resource capacity = Resource.newInstance(0, 0);
 for (ReservationRequest ReservationRequest : ReservationRequests) {
  Resources.addTo(capacity, Resources.multiply(
    ReservationRequest.getCapability(),
    ReservationRequest.getNumContainers()));
 }
 aggregateReservationRequest.setNumContainers((int) Math.ceil(Resources
   .divide(resourceCalculator, clusterResource, capacity, minAlloc)));
 aggregateReservationRequest.setCapability(minAlloc);
 return addInterval(reservationInterval, aggregateReservationRequest);
}

代码示例来源:origin: org.apache.hadoop/hadoop-yarn-server-resourcemanager

private void checkCSLeafQueue(MockRM rm,
  SchedulerApplication<SchedulerApplicationAttempt> app,
  Resource clusterResource, Resource queueResource, Resource usedResource,
  int numContainers) {
 LeafQueue leafQueue = (LeafQueue) app.getQueue();
 // assert queue used resources.
 assertEquals(usedResource, leafQueue.getUsedResources());
 assertEquals(numContainers, leafQueue.getNumContainers());
 ResourceCalculator calc =
   ((CapacityScheduler) rm.getResourceScheduler()).getResourceCalculator();
 float usedCapacity =
   Resources.divide(calc, clusterResource, usedResource, queueResource);
 // assert queue used capacity
 assertEquals(usedCapacity, leafQueue.getUsedCapacity(), 1e-8);
 float absoluteUsedCapacity =
   Resources.divide(calc, clusterResource, usedResource, clusterResource);
 // assert queue absolute capacity
 assertEquals(absoluteUsedCapacity, leafQueue.getAbsoluteUsedCapacity(),
  1e-8);
 // assert user consumed resources.
 assertEquals(usedResource, leafQueue.getUser(app.getUser())
  .getUsed());
}

代码示例来源:origin: ch.cern.hadoop/hadoop-yarn-server-resourcemanager

private void checkCSLeafQueue(MockRM rm,
  SchedulerApplication<SchedulerApplicationAttempt> app,
  Resource clusterResource, Resource queueResource, Resource usedResource,
  int numContainers) {
 LeafQueue leafQueue = (LeafQueue) app.getQueue();
 // assert queue used resources.
 assertEquals(usedResource, leafQueue.getUsedResources());
 assertEquals(numContainers, leafQueue.getNumContainers());
 ResourceCalculator calc =
   ((CapacityScheduler) rm.getResourceScheduler()).getResourceCalculator();
 float usedCapacity =
   Resources.divide(calc, clusterResource, usedResource, queueResource);
 // assert queue used capacity
 assertEquals(usedCapacity, leafQueue.getUsedCapacity(), 1e-8);
 float absoluteUsedCapacity =
   Resources.divide(calc, clusterResource, usedResource, clusterResource);
 // assert queue absolute capacity
 assertEquals(absoluteUsedCapacity, leafQueue.getAbsoluteUsedCapacity(),
  1e-8);
 // assert user consumed resources.
 assertEquals(usedResource, leafQueue.getUser(app.getUser())
  .getUsed());
}

相关文章