[streaming] Use enum to define resource type. (#7813)

This commit is contained in:
Tianyi Chen
2020-03-31 00:03:49 +08:00
committed by GitHub
parent eb61036ba2
commit f889f938e5
5 changed files with 46 additions and 20 deletions
@@ -7,16 +7,6 @@ import org.ray.streaming.runtime.config.Config;
*/
public interface ResourceConfig extends Config {
/**
* CPU definition key of resource management.
*/
String RESOURCE_KEY_CPU = "CPU";
/**
* Memory definition key of resource management.
*/
String RESOURCE_KEY_MEM = "MEM";
/**
* Number of actors per container.
*/
@@ -9,6 +9,7 @@ import java.util.Map;
import org.ray.api.RayActor;
import org.ray.api.id.ActorId;
import org.ray.streaming.runtime.config.master.ResourceConfig;
import org.ray.streaming.runtime.core.resource.ResourceType;
import org.ray.streaming.runtime.core.resource.Slot;
import org.ray.streaming.runtime.master.JobRuntimeContext;
import org.ray.streaming.runtime.worker.JobWorker;
@@ -138,10 +139,10 @@ public class ExecutionVertex implements Serializable {
Map<String, Double> resourceMap = new HashMap<>();
ResourceConfig resourceConfig = runtimeContext.getConf().masterConfig.resourceConfig;
if (resourceConfig.isTaskCpuResourceLimit()) {
resourceMap.put(ResourceConfig.RESOURCE_KEY_CPU, resourceConfig.taskCpuResource());
resourceMap.put(ResourceType.CPU.name(), resourceConfig.taskCpuResource());
}
if (resourceConfig.isTaskMemResourceLimit()) {
resourceMap.put(ResourceConfig.RESOURCE_KEY_MEM, resourceConfig.taskMemResource());
resourceMap.put(ResourceType.MEM.name(), resourceConfig.taskMemResource());
}
return resourceMap;
}
@@ -0,0 +1,33 @@
package org.ray.streaming.runtime.core.resource;
/**
* Key for different type of resources.
*/
public enum ResourceType {
/**
*Cpu resource key.
*/
CPU("CPU"),
/**
*Gpu resource key.
*/
GPU("GPU"),
/**
* Memory resource key.
*/
MEM("MEM");
private String value;
ResourceType(String value) {
this.value = value;
}
public String getValue() {
return value;
}
}