Changeset 257
- Timestamp:
- 04/12/12 14:52:29 (13 years ago)
- Location:
- xssim/branches/tpiontek/src
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
xssim/branches/tpiontek/src/example/localplugin/FCFSPreferedRandomClusterLocalPlugin.java
r256 r257 31 31 private boolean init = true; 32 32 33 int scenario = 1; 34 String prefered = null; 35 33 36 public FCFSPreferedRandomClusterLocalPlugin() { 34 37 rand = new Random(5); … … 37 40 public SchedulingPlanInterfaceNew schedule(SchedulingEvent event, QueueList queues, JobRegistryInterface jobRegistry, 38 41 ResourceManagerInterface resManager, ModuleList modules) { 39 40 int scenario = 1;41 42 42 43 ClusterResourceManager resourceManager = (ClusterResourceManager) resManager; … … 71 72 if (task.getStatus() == Gridlet.READY) { 72 73 73 ComputingNode node = chooseRandomProvider(resourceManager, task);74 ComputingNode node = chooseRandomProvider(resourceManager, ResourceStatus.FREE, task); 74 75 75 76 if (node != null) { … … 84 85 case 1: break; 85 86 case 2: 86 findSuitableNodes( "", getCpuRequest(task), ResourceStatus.UNAVAILABLE, resourceManager.getComputingNodes());87 //ComputingNode node = chooseRandomProvider(resourceManager, ResourceStatus.UNAVAILABLE, task); 87 88 break; 88 89 } 89 90 } 90 91 92 91 } 93 92 } … … 156 155 } 157 156 158 private ComputingNode chooseRandomProvider(ClusterResourceManager resourceManager, TaskInterface<?> task) {157 private ComputingNode chooseRandomProvider(ClusterResourceManager resourceManager, ResourceStatus status, TaskInterface<?> task) { 159 158 160 159 int cpuRequest = getCpuRequest(task); … … 164 163 String prefered = null; 165 164 166 nodes = findSuitableNodes(prefered, cpuRequest, ResourceStatus.FREE, resourceManager.getComputingNodes());165 nodes = findSuitableNodes(prefered, cpuRequest, status, resourceManager.getComputingNodes()); 167 166 if( nodes.size() > 0) 168 167 { … … 179 178 if( prefered != null) 180 179 { 181 if( prefered.equals("A")) 182 prefered = "B"; 183 else 184 prefered = "A"; 185 186 nodes = findSuitableNodes(prefered, cpuRequest, ResourceStatus.FREE, resourceManager.getComputingNodes()); 180 nodes = findSuitableNodes( getUnprefered(), cpuRequest, status, resourceManager.getComputingNodes()); 187 181 if( nodes.size() > 0) 188 182 { … … 214 208 return cpus.subList(0, cpuRequest); 215 209 } 210 211 private String getUnprefered() 212 { 213 if( prefered.equals("A")) 214 return "B"; 215 216 if( prefered.equals("B")) 217 return "A"; 218 219 return null; 220 } 216 221 217 222 } -
xssim/branches/tpiontek/src/test/rewolucja/energy/profile/PState.java
r104 r257 7 7 protected double voltage; 8 8 protected double power; 9 protected int speed; 9 10 10 public PState(PStateType name, double frequency, double voltage, double power ) {11 public PState(PStateType name, double frequency, double voltage, double power, int speed) { 11 12 super(); 12 13 this.name = name; … … 28 29 return power; 29 30 } 31 public int getSpeed() { 32 return speed; 33 } 30 34 } -
xssim/branches/tpiontek/src/test/rewolucja/energy/profile/implementation/CPUPowerProfile.java
r252 r257 111 111 if(newPState != null) 112 112 { 113 double factor = newPState.getFrequency() / pState.getFrequency();114 115 113 pState = newPState; 116 114 CpuSpeed speed = (CpuSpeed )cpu.getResourceCharacteristic().getResourceUnits().get(ResourceParameterName.CPUSPEED).get(0); 117 speed.setAmount( (int)(speed.getAmount() * factor));115 speed.setAmount( newPState.getSpeed()); 118 116 119 117 cpu.handleEvent(new EnergyEvent(EnergyEventType.FREQUENCY_CHANGED, cpu.getName())); … … 132 130 static { 133 131 Map<PStateType, PState> pStatesMap = new HashMap<PStateType, PState>(); 134 pStatesMap.put(PStateType.P0, new PState(PStateType.P0, 3000, 0, 350 ));135 pStatesMap.put(PStateType.P1, new PState(PStateType.P1, 2660, 0, 343 ));136 pStatesMap.put(PStateType.P2, new PState(PStateType.P2, 2330, 0, 337 ));137 pStatesMap.put(PStateType.P3, new PState(PStateType.P3, 2000, 0, 330 ));132 pStatesMap.put(PStateType.P0, new PState(PStateType.P0, 3000, 0, 350, 1000)); 133 pStatesMap.put(PStateType.P1, new PState(PStateType.P1, 2660, 0, 343, 1000)); 134 pStatesMap.put(PStateType.P2, new PState(PStateType.P2, 2330, 0, 337, 1000)); 135 pStatesMap.put(PStateType.P3, new PState(PStateType.P3, 2000, 0, 330, 1000)); 138 136 pStates = Collections.unmodifiableMap(pStatesMap); 139 137 } -
xssim/branches/tpiontek/src/test/rewolucja/energy/profile/implementation/CPU_A_PowerProfile.java
r241 r257 23 23 static { 24 24 Map<PStateType, PState> pStatesMap = new HashMap<PStateType, PState>(); 25 pStatesMap.put(PStateType.P0, new PState(PStateType.P0, 3000, 0, 14 ));26 pStatesMap.put(PStateType.P1, new PState(PStateType.P1, 2660, 0, 12 ));27 pStatesMap.put(PStateType.P2, new PState(PStateType.P2, 2330, 0, 10 ));28 pStatesMap.put(PStateType.P3, new PState(PStateType.P3, 2000, 0, 8 ));25 pStatesMap.put(PStateType.P0, new PState(PStateType.P0, 3000, 0, 14, 2000)); 26 pStatesMap.put(PStateType.P1, new PState(PStateType.P1, 2660, 0, 12, 1777)); 27 pStatesMap.put(PStateType.P2, new PState(PStateType.P2, 2330, 0, 10, 1553)); 28 pStatesMap.put(PStateType.P3, new PState(PStateType.P3, 2000, 0, 8, 1333)); 29 29 pStates = Collections.unmodifiableMap(pStatesMap); 30 30 } -
xssim/branches/tpiontek/src/test/rewolucja/energy/profile/implementation/CPU_B_PowerProfile.java
r252 r257 23 23 static { 24 24 Map<PStateType, PState> pStatesMap = new HashMap<PStateType, PState>(); 25 pStatesMap.put(PStateType.P0, new PState(PStateType.P0, 2200, 0, 20 ));26 pStatesMap.put(PStateType.P1, new PState(PStateType.P1, 2000, 0, 17 ));27 pStatesMap.put(PStateType.P2, new PState(PStateType.P2, 1800, 0, 16 ));28 pStatesMap.put(PStateType.P3, new PState(PStateType.P3, 1000, 0, 10 ));25 pStatesMap.put(PStateType.P0, new PState(PStateType.P0, 2200, 0, 20, 1000)); 26 pStatesMap.put(PStateType.P1, new PState(PStateType.P1, 2000, 0, 17, 909)); 27 pStatesMap.put(PStateType.P2, new PState(PStateType.P2, 1800, 0, 16, 818)); 28 pStatesMap.put(PStateType.P3, new PState(PStateType.P3, 1000, 0, 10, 454)); 29 29 pStates = Collections.unmodifiableMap(pStatesMap); 30 30 } -
xssim/branches/tpiontek/src/test/rewolucja/resources/ProcessingElements.java
r141 r257 51 51 avgSpeed = avgSpeed / peCnt; 52 52 int speed = (int) Math.round(avgSpeed); 53 53 54 return speed; 54 55 }
Note: See TracChangeset
for help on using the changeset viewer.