hdl-h4 / h-axe-simulation

2 stars 2 forks source link

General Picture of the Simulator #4

Open curiosityyy opened 5 years ago

curiosityyy commented 5 years ago

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

  1. Job Admission Control: in consderation
  2. Global Task Placement: DRF, Tetris...
  3. Local Queue Management: priority queue reordering

MEASUREMENTS

czkkkkkk commented 5 years ago

I suggest to use json. Seems that using json is more flexible.

marshtompsxd commented 5 years ago

yes. I also want to use json.

TatianaJin commented 5 years ago

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?

TatianaJin commented 5 years ago

the scheduling algorithm should be plugable. There are three levels of algorithms: Job Admission Control, Global Task Placement, Local Queue Management

Load balancing?