# Iris Scheduler 16 Feb 2022 ## IRIS Questions IRIS URLs * https://iris-programming.readthedocs.io/en/latest/architecture.html#execution-model * https://iris-programming.com/ 1. write transition table for different scheduler states (AR: BJ, AY, SL) * tasks satisfied? * data satisfied? * when does device selection complete? 1. Investigate other formalisms (AR: NM, MM) 1. STAR-PU formalisms? 1. Ompss formalisms? 1. Cilk formalisms? 1. Is there a check in place on data dependencies being created before going from `TASK_NONE -> TASK_QUEUED/TASK_SUBMITTED`? 1. Evaluate the pending data policy, does it transfer only the memory buffers associated with the task that's submitted or pick up all of them? ## HUNTER ### DAG Representation ``` Class DAG(): self.graph """ NX Graph Properties: - Nodes must have 'size' - Edge must have 'data' to represent data size. """ reset() get_runtime(task, accelerator) get_communication_time(task, from_accelerator, to_accelerator) # Still to be added get_num_accelerators() get_accelerators() get_task_name() get_kernel_name() get_accelerator_name() ``` ### Schedule Representation ``` class Schedule(): get_makespan() get_schedule() Returns array of schedule items ``` ``` class ScheduleItem(): Task Accelerator Start End ```