Open curiosityyy opened 5 years ago
I suggest to use json. Seems that using json is more flexible.
yes. I also want to use json.
jobs.txt includes many jobs, every job has its job id, the logical task graph, task execution time, task type, task resources usage.
And job submission time?
the scheduling algorithm should be plugable. There are three levels of algorithms: Job Admission Control, Global Task Placement, Local Queue Management
Load balancing?
INPUT (@curiosityyy )
jobs.txt includes many jobs, every job has its job id, the logical task graph, task execution time, task type, task resources usage, job submission time.
workers.txt includes every worker’s resources capacity, local queues length.
If you have some supplement, please add.
EVENT PROCESS (@marshtompsxd )
event: there are several kinds of events: new_job, new_task, task_finish, new_resource... component: Simulator, Scheduler and JobManager. Scheduler and JobManager will handler different events. Specifically, Simulator will read the jobs.txt and workers.txt and generate the whole picture of jobs and workers. Simulator will also new Scheduler and JobManagers. Each JobManager will hold the information of one job, generate the physical task graph and send schedule request to Scheduler. Scheduler will process the request and schedule the tasks (or sub-graphs) to workers. The Scheduler will hold the whole picture of the workers (available resources, local queue...).
ALGORITHM
the scheduling algorithm should be plugable. There are three levels of algorithms: Job Admission Control, Global Task Placement, Local Queue Management
MEASUREMENTS