/** * Set maximum capacity - used only for testing. * @param maximumCapacity new max capacity */ void setMaxCapacity(float maximumCapacity) { try { writeLock.lock(); // Sanity check CSQueueUtils.checkMaxCapacity(getQueueName(), queueCapacities.getCapacity(), maximumCapacity); float absMaxCapacity = CSQueueUtils.computeAbsoluteMaximumCapacity( maximumCapacity, parent); CSQueueUtils.checkAbsoluteCapacity(getQueueName(), queueCapacities.getAbsoluteCapacity(), absMaxCapacity); queueCapacities.setMaximumCapacity(maximumCapacity); queueCapacities.setAbsoluteMaximumCapacity(absMaxCapacity); } finally { writeLock.unlock(); } }
/** * Set maximum capacity * @param maximumCapacity new max capacity */ void setMaxCapacity(String nodeLabel, float maximumCapacity) { try { writeLock.lock(); // Sanity check CSQueueUtils.checkMaxCapacity(getQueueName(), queueCapacities.getCapacity(nodeLabel), maximumCapacity); float absMaxCapacity = CSQueueUtils.computeAbsoluteMaximumCapacity( maximumCapacity, parent); CSQueueUtils.checkAbsoluteCapacity(getQueueName(), queueCapacities.getAbsoluteCapacity(nodeLabel), absMaxCapacity); queueCapacities.setMaximumCapacity(maximumCapacity); queueCapacities.setAbsoluteMaximumCapacity(absMaxCapacity); } finally { writeLock.unlock(); } }
private static void updateAbsoluteCapacitiesByNodeLabels( QueueCapacities queueCapacities, QueueCapacities parentQueueCapacities) { for (String label : queueCapacities.getExistingNodeLabels()) { float capacity = queueCapacities.getCapacity(label); if (capacity > 0f) { queueCapacities.setAbsoluteCapacity( label, capacity * (parentQueueCapacities == null ? 1 : parentQueueCapacities .getAbsoluteCapacity(label))); } float maxCapacity = queueCapacities.getMaximumCapacity(label); if (maxCapacity > 0f) { queueCapacities.setAbsoluteMaximumCapacity( label, maxCapacity * (parentQueueCapacities == null ? 1 : parentQueueCapacities .getAbsoluteMaximumCapacity(label))); } } }
private static void updateAbsoluteCapacitiesByNodeLabels( QueueCapacities queueCapacities, QueueCapacities parentQueueCapacities) { for (String label : queueCapacities.getExistingNodeLabels()) { float capacity = queueCapacities.getCapacity(label); if (capacity > 0f) { queueCapacities.setAbsoluteCapacity( label, capacity * (parentQueueCapacities == null ? 1 : parentQueueCapacities .getAbsoluteCapacity(label))); } float maxCapacity = queueCapacities.getMaximumCapacity(label); if (maxCapacity > 0f) { queueCapacities.setAbsoluteMaximumCapacity( label, maxCapacity * (parentQueueCapacities == null ? 1 : parentQueueCapacities .getAbsoluteMaximumCapacity(label))); } } }
private static void updateAbsoluteCapacitiesByNodeLabels( QueueCapacities queueCapacities, QueueCapacities parentQueueCapacities) { for (String label : queueCapacities.getExistingNodeLabels()) { float capacity = queueCapacities.getCapacity(label); if (capacity > 0f) { queueCapacities.setAbsoluteCapacity( label, capacity * (parentQueueCapacities == null ? 1 : parentQueueCapacities .getAbsoluteCapacity(label))); } float maxCapacity = queueCapacities.getMaximumCapacity(label); if (maxCapacity > 0f) { queueCapacities.setAbsoluteMaximumCapacity( label, maxCapacity * (parentQueueCapacities == null ? 1 : parentQueueCapacities .getAbsoluteMaximumCapacity(label))); } } }
/** * Set maximum capacity - used only for testing. * @param maximumCapacity new max capacity */ synchronized void setMaxCapacity(float maximumCapacity) { // Sanity check CSQueueUtils.checkMaxCapacity(getQueueName(), queueCapacities.getCapacity(), maximumCapacity); float absMaxCapacity = CSQueueUtils.computeAbsoluteMaximumCapacity(maximumCapacity, parent); CSQueueUtils.checkAbsoluteCapacity(getQueueName(), queueCapacities.getAbsoluteCapacity(), absMaxCapacity); queueCapacities.setMaximumCapacity(maximumCapacity); queueCapacities.setAbsoluteMaximumCapacity(absMaxCapacity); }
/** * Set maximum capacity - used only for testing. * @param maximumCapacity new max capacity */ synchronized void setMaxCapacity(float maximumCapacity) { // Sanity check CSQueueUtils.checkMaxCapacity(getQueueName(), queueCapacities.getCapacity(), maximumCapacity); float absMaxCapacity = CSQueueUtils.computeAbsoluteMaximumCapacity(maximumCapacity, parent); CSQueueUtils.checkAbsoluteCapacity(getQueueName(), queueCapacities.getAbsoluteCapacity(), absMaxCapacity); queueCapacities.setMaximumCapacity(maximumCapacity); queueCapacities.setAbsoluteMaximumCapacity(absMaxCapacity); }
Resource pending = parseResourceFromString(values[3].trim()); qc.setAbsoluteCapacity(partitionName, absGuaranteed); qc.setAbsoluteMaximumCapacity(partitionName, absMax); qc.setAbsoluteUsedCapacity(partitionName, absUsed); qc.setUsedCapacity(partitionName, used);
rootQc.setAbsoluteUsedCapacity(Resources.divide(rc, tot, used[0], tot)); rootQc.setAbsoluteCapacity(Resources.divide(rc, tot, abs[0], tot)); rootQc.setAbsoluteMaximumCapacity(maxCap[0] / (float) tot.getMemorySize()); when(root.getQueueCapacities()).thenReturn(rootQc); when(root.getQueuePath()).thenReturn(CapacitySchedulerConfiguration.ROOT); qc.setAbsoluteUsedCapacity(Resources.divide(rc, tot, used[i], tot)); qc.setAbsoluteCapacity(Resources.divide(rc, tot, abs[i], tot)); qc.setAbsoluteMaximumCapacity(maxCap[i] / (float) tot.getMemorySize()); when(q.getQueueCapacities()).thenReturn(qc);
private void mergeCapacities(QueueCapacities capacities) { for ( String nodeLabel : capacities.getExistingNodeLabels()) { queueCapacities.setCapacity(nodeLabel, capacities.getCapacity(nodeLabel)); queueCapacities.setAbsoluteCapacity(nodeLabel, capacities .getAbsoluteCapacity(nodeLabel)); queueCapacities.setMaximumCapacity(nodeLabel, capacities .getMaximumCapacity(nodeLabel)); queueCapacities.setAbsoluteMaximumCapacity(nodeLabel, capacities .getAbsoluteMaximumCapacity(nodeLabel)); Resource resourceByLabel = labelManager.getResourceByLabel(nodeLabel, csContext.getClusterResource()); getQueueResourceQuotas().setEffectiveMinResource(nodeLabel, Resources.multiply(resourceByLabel, queueCapacities.getAbsoluteCapacity(nodeLabel))); getQueueResourceQuotas().setEffectiveMaxResource(nodeLabel, Resources.multiply(resourceByLabel, queueCapacities .getAbsoluteMaximumCapacity(nodeLabel))); } }
childQueue.getQueueCapacities().setAbsoluteMaximumCapacity(label, (float) childQueue.getQueueCapacities().getMaximumCapacity(label) / getQueueCapacities().getAbsoluteMaximumCapacity(label));