source: DCWoRMS/trunk/src/schedframe/scheduling/policy/global/GridBroker.java @ 477

Revision 477, 2.2 KB checked in by wojtekp, 13 years ago (diff)
  • Property svn:mime-type set to text/plain
Line 
1package schedframe.scheduling.policy.global;
2
3import java.util.ArrayList;
4import java.util.HashSet;
5import java.util.List;
6import java.util.Set;
7
8import org.apache.commons.logging.Log;
9import org.apache.commons.logging.LogFactory;
10
11import schedframe.scheduling.GridResourceDiscovery;
12import schedframe.scheduling.Scheduler;
13import schedframe.scheduling.manager.resources.ManagedResources;
14import schedframe.scheduling.plugin.SchedulingPlugin;
15import schedframe.scheduling.plugin.estimation.ExecutionTimeEstimationPlugin;
16import schedframe.scheduling.plugin.grid.ModuleListImpl;
17import schedframe.scheduling.queue.TaskQueueList;
18
19public class GridBroker extends GlobalManagementSystem {
20
21       
22        private static Log log = LogFactory.getLog(GridBroker.class);
23
24        protected Set<Integer> otherGridSchedulersIds;
25
26
27        public GridBroker(String name, SchedulingPlugin schedulingPlugin, ExecutionTimeEstimationPlugin execTimeEstimationPlugin, TaskQueueList queues) throws Exception {
28                super(name, "BROKER",  schedulingPlugin, execTimeEstimationPlugin, queues);
29               
30                //make use of plug-in interface
31               
32                //Properties prop = new Properties();
33                //prop.put("plugin.name", name);
34                //prop.put("plugin.utils.timeoperations", "gssim.scheduling.plugin.local.GssimTimeOperations");
35                //schedulingPlugin.init(prop);
36                otherGridSchedulersIds = new HashSet<Integer>();
37               
38                moduleList = new ModuleListImpl(2);
39                //this.moduleList.add(new GridResourceDiscovery(this.getScheduler()));
40                //moduleList.add(new GridReservationManagerNew(this));
41               
42                if(log.isDebugEnabled())
43                        log.debug(name + ": Creating a broker interface object");
44        }
45
46        public void init(Scheduler scheduler, ManagedResources managedResources) {
47                super.init(scheduler, managedResources);
48                //this.scheduler = scheduler;
49                //this.resourceManager = ResourceManagerFactory.createResourceManager(scheduler, managedResources);
50                this.moduleList.add((GridResourceDiscovery)resourceManager);
51        }
52
53        public List<Integer> getMyGridResources() {
54                List<Integer> providerIds = new ArrayList<Integer>();
55                for(Scheduler sched: scheduler.getChildren()){
56                        providerIds.add(sched.get_id());
57                }
58                return providerIds;
59                //return GridSim.getGridResourceList();
60        }
61
62        public void addOtherGridSchedulerId(int id){
63                otherGridSchedulersIds.add(id);
64        }
65       
66
67}
Note: See TracBrowser for help on using the repository browser.