Changeset 1247 for DCWoRMS/branches/coolemall/src/example/localplugin
- Timestamp:
- 11/28/13 10:54:54 (11 years ago)
- Location:
- DCWoRMS/branches/coolemall/src/example/localplugin
- Files:
-
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
DCWoRMS/branches/coolemall/src/example/localplugin/FCFSBF_ClusterPlugin.java
r1207 r1247 12 12 import schedframe.resources.ResourceStatus; 13 13 import schedframe.resources.StandardResourceType; 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.Processor; … … 81 81 82 82 Map<ResourceUnitName, ResourceUnit> map = new HashMap<ResourceUnitName, ResourceUnit>(); 83 List< ComputingNode> nodes = resourceManager.getComputingNodes();84 for ( ComputingNode node : nodes) {83 List<Node> nodes = resourceManager.getNodes(); 84 for (Node node : nodes) { 85 85 int cpuRequest; 86 86 try { -
DCWoRMS/branches/coolemall/src/example/localplugin/FCFSBF_ConsolidationClusterPlugin.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.units.Memory; … … 74 74 private Map<ResourceUnitName, ResourceUnit> chooseResourcesForExecution(ClusterResourceManager resourceManager, TaskInterface<?> task) throws NoSuchFieldException { 75 75 76 List< ComputingNode> nodes = resourceManager.getComputingNodes();76 List<Node> nodes = resourceManager.getNodes(); 77 77 nodes = findSuitableNodes(task, nodes); 78 Collections.sort(nodes, new Comparator< ComputingNode>(){79 public int compare( ComputingNode node1, ComputingNode node2){78 Collections.sort(nodes, new Comparator<Node>(){ 79 public int compare(Node node1, Node node2){ 80 80 return node1.getResourceCharacteristic().getParameters().get("category").get(0).getContent().compareTo(node2.getResourceCharacteristic().getParameters().get("category").get(0).getContent()); 81 81 } … … 83 83 if(nodes.size() > 0) 84 84 { 85 ComputingNode node = nodes.get(0);85 Node node = nodes.get(0); 86 86 Map<ResourceUnitName, ResourceUnit> map = new HashMap<ResourceUnitName, ResourceUnit>(); 87 87 List<ComputingResource> choosenResources = new ArrayList<ComputingResource>(); … … 117 117 } 118 118 119 private List< ComputingNode> findSuitableNodes(TaskInterface<?> task, List<ComputingNode> nodes) throws NoSuchFieldException{119 private List<Node> findSuitableNodes(TaskInterface<?> task, List<Node> nodes) throws NoSuchFieldException{ 120 120 int cpuRequest; 121 121 try { … … 130 130 memoryRequest = 0; 131 131 } 132 List< ComputingNode> suitableNodes = new ArrayList<ComputingNode>();133 for( ComputingNode node: nodes){132 List<Node> suitableNodes = new ArrayList<Node>(); 133 for(Node node: nodes){ 134 134 if(node.getFreeProcessorsNumber() >= cpuRequest && node.getFreeMemory() >= memoryRequest){ 135 135 suitableNodes.add(node); -
DCWoRMS/branches/coolemall/src/example/localplugin/FCFSBF_FanManagementClusterPlugin.java
r1207 r1247 9 9 import schedframe.events.scheduling.SchedulingEvent; 10 10 import schedframe.resources.StandardResourceType; 11 import schedframe.resources.computing. ComputingNode;11 import schedframe.resources.computing.Node; 12 12 import schedframe.resources.computing.profiles.energy.airthroughput.StandardAirThroughputStateName; 13 13 import schedframe.resources.computing.profiles.energy.airthroughput.UserAirThroughputStateName; … … 46 46 // BaseLocalSchedulingPlugin.placeJobsInQueues() method) 47 47 TaskQueue q = queues.get(0); 48 List< ComputingNode> notSelectedNodes = resourceManager.getComputingNodes();48 List<Node> notSelectedNodes = resourceManager.getNodes(); 49 49 // check all tasks in queue 50 50 for (int i = 0; i < q.size(); i++) { … … 53 53 if (task.getStatus() == DCWormsTags.READY) { 54 54 55 ComputingNode node = chooseRandomProvider(resourceManager, task);55 Node node = chooseRandomProvider(resourceManager, task); 56 56 if (node != null) { 57 57 //if there are two or more tasks ( running on the given node then … … 83 83 } 84 84 85 private ComputingNode chooseRandomProvider(ClusterResourceManager resourceManager, TaskInterface<?> task) {86 List< ComputingNode> nodes = filterNodes(resourceManager.getComputingNodes(), task);85 private Node chooseRandomProvider(ClusterResourceManager resourceManager, TaskInterface<?> task) { 86 List<Node> nodes = filterNodes(resourceManager.getNodes(), task); 87 87 return randomNode(nodes); 88 88 } 89 89 90 private List< ComputingNode> filterNodes(List<ComputingNode> nodes, TaskInterface<?> task){91 List< ComputingNode> filteredNodes = new ArrayList<ComputingNode>();92 for ( ComputingNode node : nodes) {90 private List<Node> filterNodes(List<Node> nodes, TaskInterface<?> task){ 91 List<Node> filteredNodes = new ArrayList<Node>(); 92 for (Node node : nodes) { 93 93 int cpuRequest; 94 94 try { … … 106 106 } 107 107 108 private ComputingNode randomNode(List<ComputingNode> nodes){108 private Node randomNode(List<Node> nodes){ 109 109 return nodes.get(rand.nextInt(nodes.size())); 110 110 } 111 111 112 private void adjustOtherFans(List< ComputingNode> nodes){113 for( ComputingNode node : nodes){112 private void adjustOtherFans(List<Node> nodes){ 113 for(Node node : nodes){ 114 114 List<Device> devices = node.getResourceCharacteristic().getDevices(); 115 115 if(node.getFreeProcessorsNumber() == node.getProcessorsNumber()){ -
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); -
DCWoRMS/branches/coolemall/src/example/localplugin/FCFSBF_RandomClusterPlugin.java
r1207 r1247 7 7 8 8 import schedframe.events.scheduling.SchedulingEvent; 9 import schedframe.resources.computing. ComputingNode;9 import schedframe.resources.computing.Node; 10 10 import schedframe.scheduling.manager.resources.ClusterResourceManager; 11 11 import schedframe.scheduling.manager.resources.ResourceManager; … … 59 59 60 60 private String chooseRandomProvider(ClusterResourceManager resourceManager) { 61 List< ComputingNode> nodes = resourceManager.getComputingNodes();61 List<Node> nodes = resourceManager.getNodes(); 62 62 int nodeIdx = rand.nextInt(nodes.size()); 63 63 return nodes.get(nodeIdx).getFullName(); -
DCWoRMS/branches/coolemall/src/example/localplugin/coolemall/computebox1/CB1_FCFS_ConsolidationAtom_NodePowMan_SP.java
r1207 r1247 12 12 import schedframe.resources.ResourceStatus; 13 13 import schedframe.resources.StandardResourceType; 14 import schedframe.resources.computing.Node; 14 15 import schedframe.resources.computing.ComputingResource; 15 16 import schedframe.resources.computing.Core; 16 17 import schedframe.resources.computing.Processor; 17 import schedframe.resources.computing.coolemall.Node;18 18 import schedframe.resources.computing.profiles.energy.airthroughput.UserAirThroughputStateName; 19 19 import schedframe.resources.computing.profiles.energy.power.StandardPowerStateName; -
DCWoRMS/branches/coolemall/src/example/localplugin/coolemall/computebox1/CB1_FCFS_Consolidation_NodePowMan_SP.java
r1207 r1247 12 12 import schedframe.resources.ResourceStatus; 13 13 import schedframe.resources.StandardResourceType; 14 import schedframe.resources.computing.Node; 14 15 import schedframe.resources.computing.ComputingResource; 15 16 import schedframe.resources.computing.Core; 16 17 import schedframe.resources.computing.Processor; 17 import schedframe.resources.computing.coolemall.Node;18 18 import schedframe.resources.computing.profiles.energy.airthroughput.UserAirThroughputStateName; 19 19 import schedframe.resources.computing.profiles.energy.power.StandardPowerStateName; -
DCWoRMS/branches/coolemall/src/example/localplugin/coolemall/computebox1/CB1_FCFS_Consolidation_SP.java
r1207 r1247 12 12 import schedframe.resources.ResourceStatus; 13 13 import schedframe.resources.StandardResourceType; 14 import schedframe.resources.computing.Node; 14 15 import schedframe.resources.computing.ComputingResource; 15 16 import schedframe.resources.computing.Core; 16 import schedframe.resources.computing.coolemall.Node;17 17 import schedframe.resources.units.ProcessingElements; 18 18 import schedframe.resources.units.ResourceUnit; -
DCWoRMS/branches/coolemall/src/example/localplugin/coolemall/computebox1/CB1_FCFS_LoadBalancing_SP.java
r1207 r1247 6 6 import schedframe.exceptions.ResourceException; 7 7 import schedframe.resources.StandardResourceType; 8 import schedframe.resources.computing.Node; 8 9 import schedframe.resources.computing.ComputingResource; 9 import schedframe.resources.computing.coolemall.Node;10 10 import schedframe.scheduling.manager.resources.ClusterResourceManager; 11 11 import schedframe.scheduling.manager.resources.ResourceManager; -
DCWoRMS/branches/coolemall/src/example/localplugin/coolemall/computebox1/CB1_FCFS_Random_SP.java
r1207 r1247 11 11 import schedframe.resources.ResourceStatus; 12 12 import schedframe.resources.StandardResourceType; 13 import schedframe.resources.computing.Node; 13 14 import schedframe.resources.computing.ComputingResource; 14 15 import schedframe.resources.computing.Core; 15 import schedframe.resources.computing.coolemall.Node;16 16 import schedframe.resources.units.ProcessingElements; 17 17 import schedframe.resources.units.ResourceUnit; -
DCWoRMS/branches/coolemall/src/example/localplugin/coolemall/computebox2/CB2_FCFS_Consolidation_NodePowMan_SP.java
r1207 r1247 12 12 import schedframe.resources.ResourceStatus; 13 13 import schedframe.resources.StandardResourceType; 14 import schedframe.resources.computing.Node; 14 15 import schedframe.resources.computing.ComputingResource; 15 16 import schedframe.resources.computing.Core; 16 17 import schedframe.resources.computing.Processor; 17 import schedframe.resources.computing.coolemall.Node;18 18 import schedframe.resources.computing.profiles.energy.airthroughput.UserAirThroughputStateName; 19 19 import schedframe.resources.computing.profiles.energy.power.StandardPowerStateName; -
DCWoRMS/branches/coolemall/src/example/localplugin/coolemall/computebox2/CB2_FCFS_Consolidation_SP.java
r1207 r1247 12 12 import schedframe.resources.ResourceStatus; 13 13 import schedframe.resources.StandardResourceType; 14 import schedframe.resources.computing.Node; 14 15 import schedframe.resources.computing.ComputingResource; 15 16 import schedframe.resources.computing.Core; 16 import schedframe.resources.computing.coolemall.Node;17 17 import schedframe.resources.units.ProcessingElements; 18 18 import schedframe.resources.units.ResourceUnit; -
DCWoRMS/branches/coolemall/src/example/localplugin/coolemall/computebox2/CB2_FCFS_LoadBalancing_SP.java
r1207 r1247 6 6 import schedframe.exceptions.ResourceException; 7 7 import schedframe.resources.StandardResourceType; 8 import schedframe.resources.computing.Node; 8 9 import schedframe.resources.computing.ComputingResource; 9 import schedframe.resources.computing.coolemall.Node;10 10 import schedframe.scheduling.manager.resources.ClusterResourceManager; 11 11 import schedframe.scheduling.manager.resources.ResourceManager; -
DCWoRMS/branches/coolemall/src/example/localplugin/coolemall/computebox2/CB2_FCFS_Random_SP.java
r1207 r1247 10 10 import schedframe.exceptions.ResourceException; 11 11 import schedframe.resources.StandardResourceType; 12 import schedframe.resources.computing.Node; 12 13 import schedframe.resources.computing.ComputingResource; 13 14 import schedframe.resources.computing.Processor; 14 import schedframe.resources.computing.coolemall.Node;15 15 import schedframe.resources.units.ProcessingElements; 16 16 import schedframe.resources.units.ResourceUnit; -
DCWoRMS/branches/coolemall/src/example/localplugin/coolemall/recs/RECS_FCFS_Consolidation_SP.java
r1207 r1247 12 12 import schedframe.resources.ResourceStatus; 13 13 import schedframe.resources.StandardResourceType; 14 import schedframe.resources.computing.Node; 14 15 import schedframe.resources.computing.ComputingResource; 15 16 import schedframe.resources.computing.Processor; 16 import schedframe.resources.computing.coolemall.Node;17 17 import schedframe.resources.computing.profiles.energy.power.StandardPowerStateName; 18 18 import schedframe.resources.units.Memory; -
DCWoRMS/branches/coolemall/src/example/localplugin/coolemall/recs/RECS_FCFS_LB_SP.java
r1207 r1247 6 6 import schedframe.exceptions.ResourceException; 7 7 import schedframe.resources.StandardResourceType; 8 import schedframe.resources.computing.Node; 8 9 import schedframe.resources.computing.ComputingResource; 9 import schedframe.resources.computing.coolemall.Node;10 10 import schedframe.scheduling.manager.resources.ClusterResourceManager; 11 11 import schedframe.scheduling.manager.resources.ResourceManager; -
DCWoRMS/branches/coolemall/src/example/localplugin/coolemall/recs/RECS_FCFS_Random_SP.java
r1207 r1247 11 11 import schedframe.resources.ResourceStatus; 12 12 import schedframe.resources.StandardResourceType; 13 import schedframe.resources.computing. ComputingNode;13 import schedframe.resources.computing.Node; 14 14 import schedframe.resources.computing.ComputingResource; 15 15 import schedframe.resources.computing.Core; … … 57 57 TaskQueue q = queues.get(0); 58 58 59 List< ComputingNode> notSelectedNodes = null;59 List<Node> notSelectedNodes = null; 60 60 try { 61 notSelectedNodes = (List< ComputingNode>) resourceManager.getResourcesOfType(StandardResourceType.Node);61 notSelectedNodes = (List<Node>) resourceManager.getResourcesOfType(StandardResourceType.Node); 62 62 } catch (ResourceException e) { 63 63 // TODO Auto-generated catch block … … 88 88 89 89 @SuppressWarnings("unchecked") 90 private ComputingNode chooseRandomProvider(ClusterResourceManager resourceManager) {91 List< ComputingNode> nodes = null;90 private Node chooseRandomProvider(ClusterResourceManager resourceManager) { 91 List<Node> nodes = null; 92 92 try { 93 nodes = (List< ComputingNode>) resourceManager.getResourcesOfType(StandardResourceType.Node);93 nodes = (List<Node>) resourceManager.getResourcesOfType(StandardResourceType.Node); 94 94 } catch (ResourceException e) { 95 95 // TODO Auto-generated catch block … … 101 101 } 102 102 103 private List< ComputingNode> filterNodes(List<ComputingNode> nodes){104 List< ComputingNode> filteredNodes = new ArrayList<ComputingNode>();105 for ( ComputingNode node : nodes) {103 private List<Node> filterNodes(List<Node> nodes){ 104 List<Node> filteredNodes = new ArrayList<Node>(); 105 for (Node node : nodes) { 106 106 if(node.getFreeProcessors().size() > 0) 107 107 filteredNodes.add(node); … … 116 116 Map<ResourceUnitName, ResourceUnit> map = new HashMap<ResourceUnitName, ResourceUnit>(); 117 117 118 List< ComputingNode> nodes = null;118 List<Node> nodes = null; 119 119 try { 120 nodes = (List< ComputingNode>) resourceManager.getResourcesOfType(StandardResourceType.Node);120 nodes = (List<Node>) resourceManager.getResourcesOfType(StandardResourceType.Node); 121 121 } catch (ResourceException e1) { 122 122 // TODO Auto-generated catch block 123 123 e1.printStackTrace(); 124 124 } 125 List< ComputingNode> avNodes = filterNodes(nodes, task);125 List<Node> avNodes = filterNodes(nodes, task); 126 126 if(avNodes.size() == 0) 127 127 return null; 128 ComputingNode node = randomNode(avNodes);128 Node node = randomNode(avNodes); 129 129 130 130 int cpuRequest; … … 158 158 } 159 159 160 private List< ComputingNode> filterNodes(List<ComputingNode> nodes, TaskInterface<?> task){161 List< ComputingNode> filteredNodes = new ArrayList<ComputingNode>();162 for ( ComputingNode node : nodes) {160 private List<Node> filterNodes(List<Node> nodes, TaskInterface<?> task){ 161 List<Node> filteredNodes = new ArrayList<Node>(); 162 for (Node node : nodes) { 163 163 int cpuRequest; 164 164 try { … … 194 194 } 195 195 196 private ComputingNode randomNode(List<ComputingNode> nodes){196 private Node randomNode(List<Node> nodes){ 197 197 return nodes.get(rand.nextInt(nodes.size())); 198 198 } 199 199 200 private void adjustOtherFans(List< ComputingNode> nodes) {201 for ( ComputingNode node : nodes) {200 private void adjustOtherFans(List<Node> nodes) { 201 for (Node node : nodes) { 202 202 203 203 if (node.getProcessors().size() == node.getFreeProcessorsNumber()) {
Note: See TracChangeset
for help on using the changeset viewer.