private Set<GpuDevice> getAssignedGpus(Container container) { ResourceMappings resourceMappings = container.getResourceMappings(); // Copy of assigned Resources Set<GpuDevice> assignedResources = null; if (resourceMappings != null) { assignedResources = new HashSet<>(); for (Serializable s : resourceMappings.getAssignedResources( ResourceInformation.GPU_URI)) { assignedResources.add((GpuDevice) s); } } if (assignedResources == null || assignedResources.isEmpty()) { // When no GPU resource assigned, don't need to update docker command. return Collections.emptySet(); } return assignedResources; }
private Set<GpuDevice> getAssignedGpus(Container container) { ResourceMappings resourceMappings = container.getResourceMappings(); // Copy of assigned Resources Set<GpuDevice> assignedResources = null; if (resourceMappings != null) { assignedResources = new HashSet<>(); for (Serializable s : resourceMappings.getAssignedResources( ResourceInformation.GPU_URI)) { assignedResources.add((GpuDevice) s); } } if (assignedResources == null || assignedResources.isEmpty()) { // When no GPU resource assigned, don't need to update docker command. return Collections.emptySet(); } return assignedResources; }
/** * Recovers assigned numa resources. * * @param containerId the container ID to recover resources */ public synchronized void recoverNumaResource(ContainerId containerId) { Container container = context.getContainers().get(containerId); ResourceMappings resourceMappings = container.getResourceMappings(); List<Serializable> assignedResources = resourceMappings .getAssignedResources(NUMA_RESOURCE_TYPE); if (assignedResources.size() == 1) { NumaResourceAllocation numaResourceAllocation = (NumaResourceAllocation) assignedResources.get(0); for (Entry<String, Long> nodeAndMemory : numaResourceAllocation .getNodeVsMemory().entrySet()) { numaNodeIdVsResource.get(nodeAndMemory.getKey()) .recoverMemory(containerId, nodeAndMemory.getValue()); } for (Entry<String, Integer> nodeAndCpus : numaResourceAllocation .getNodeVsCpus().entrySet()) { numaNodeIdVsResource.get(nodeAndCpus.getKey()).recoverCpus(containerId, nodeAndCpus.getValue()); } } else { LOG.error("Unexpected number:" + assignedResources.size() + " of assigned numa resources for " + containerId + " while recovering."); } }
protected void updateContainerResourceMapping(Container container, String resourceType, List<Serializable> assignedResources) { // Update Container#getResourceMapping. ResourceMappings.AssignedResources newAssigned = new ResourceMappings.AssignedResources(); newAssigned.updateAssignedResources(assignedResources); container.getResourceMappings().addAssignedResources(resourceType, newAssigned); } }
for (Serializable gpuDeviceSerializable : c.getResourceMappings() .getAssignedResources(GPU_URI)) { if (!(gpuDeviceSerializable instanceof GpuDevice)) {
c.getResourceMappings().getAssignedResources(FPGA_URI)) { if (!(fpgaDevice instanceof FpgaDevice)) { throw new ResourceHandlerException(