Changeset 1247 for DCWoRMS/branches/coolemall/src/example/localplugin/FCFSBF_NodePowerManagementClusterPlugin.java
- Timestamp:
- 11/28/13 10:54:54 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
DCWoRMS/branches/coolemall/src/example/localplugin/FCFSBF_NodePowerManagementClusterPlugin.java
r1207 r1247 12 12 import schedframe.events.scheduling.SchedulingEvent; 13 13 import schedframe.resources.ResourceStatus; 14 import schedframe.resources.computing. ComputingNode;14 import schedframe.resources.computing.Node; 15 15 import schedframe.resources.computing.ComputingResource; 16 16 import schedframe.resources.computing.profiles.energy.power.StandardPowerStateName; … … 54 54 addToSchedulingPlan(plan, task, choosenResources); 55 55 } else { 56 if(harnessIdleNodesToWork(task, resourceManager.get ComputingNodes()))56 if(harnessIdleNodesToWork(task, resourceManager.getNodes())) 57 57 i--; 58 58 } 59 59 } 60 60 } 61 turnOffIdleNodes(resourceManager.get ComputingNodes());61 turnOffIdleNodes(resourceManager.getNodes()); 62 62 break; 63 63 } … … 67 67 private Map<ResourceUnitName, ResourceUnit> chooseResourcesForExecution(ClusterResourceManager resourceManager, TaskInterface<?> task) { 68 68 69 List< ComputingNode> nodes = resourceManager.getComputingNodes();69 List<Node> nodes = resourceManager.getNodes(); 70 70 nodes = findSuitableNodes(task, nodes); 71 Collections.sort(nodes, new Comparator< ComputingNode>(){72 public int compare( ComputingNode node1, ComputingNode node2){71 Collections.sort(nodes, new Comparator<Node>(){ 72 public int compare(Node node1, Node node2){ 73 73 return node1.getResourceCharacteristic().getParameters().get("category").get(0).getContent().compareTo(node2.getResourceCharacteristic().getParameters().get("category").get(0).getContent()); 74 74 } … … 98 98 } 99 99 100 private List< ComputingNode> findSuitableNodes(TaskInterface<?> task, List<ComputingNode> nodes){100 private List<Node> findSuitableNodes(TaskInterface<?> task, List<Node> nodes){ 101 101 int cpuRequest; 102 102 try { … … 105 105 cpuRequest = 1; 106 106 } 107 List< ComputingNode> avNodes = new ArrayList<ComputingNode>();108 for( ComputingNode node: nodes){107 List<Node> avNodes = new ArrayList<Node>(); 108 for(Node node: nodes){ 109 109 if(node.getFreeProcessorsNumber() >= cpuRequest){ 110 110 avNodes.add(node); … … 114 114 } 115 115 116 private void turnOffIdleNodes(List< ComputingNode> nodes){117 for( ComputingNode node : nodes){116 private void turnOffIdleNodes(List<Node> nodes){ 117 for(Node node : nodes){ 118 118 if(node.getFreeProcessorsNumber() == node.getProcessorsNumber()){ 119 119 node.getPowerInterface().setPowerState(StandardPowerStateName.OFF); … … 122 122 } 123 123 124 private boolean harnessIdleNodesToWork(TaskInterface<?> task, List< ComputingNode> nodes){124 private boolean harnessIdleNodesToWork(TaskInterface<?> task, List<Node> nodes){ 125 125 int cpuRequest; 126 126 try { … … 129 129 cpuRequest = 1; 130 130 } 131 Collections.sort(nodes, new Comparator< ComputingNode>(){132 public int compare( ComputingNode node1, ComputingNode node2){131 Collections.sort(nodes, new Comparator<Node>(){ 132 public int compare(Node node1, Node node2){ 133 133 return node1.getResourceCharacteristic().getParameters().get("category").get(0).getContent().compareTo(node2.getResourceCharacteristic().getParameters().get("category").get(0).getContent()); 134 134 } 135 135 }); 136 136 for (int i = 0; i < nodes.size() && cpuRequest > 0; i++) { 137 ComputingNode node = nodes.get(i);137 Node node = nodes.get(i); 138 138 if(node.getPowerInterface().getPowerState() == StandardPowerStateName.OFF){ 139 139 node.getPowerInterface().setPowerState(StandardPowerStateName.ON);
Note: See TracChangeset
for help on using the changeset viewer.