Model . SchedulerParallelTask - SeanSpires/Project1-306-Team-Stonks GitHub Wiki

This class generates a schedule on a different thread given a partial schedule.

Method Purpose
Schedule createBasicSchedule(List tasks, int processor) Performs a basic scheduling and, currently, produces a valid but non-optimal schedule.
void compute() This method is called when invoke() is called on a SchedulerParallelTask object.

This starts the scheduling of a schedule's unscheduled task list.
boolean containsParents(Node node, Task t) Checks whether parent tasks of task t are scheduled
int calcMakeSpan(Node node) Finds the end time of the schedule
long calcLowerBound(Node node, int numProc) Calculates the end time if the rest of the tasks were to be scheduled directly one after the other.
long calcUpperBound(Node node, int numProc) Calculates a greedy estimate of a completed schedule from the current node
Task PickGreedyTask(Node node) Picks task with smallest weight provided all its dependencies are fulfilled
int getStartTime(int proc, Task task, Node node) Finds start time for a task on a given a process and schedule
⚠️ **GitHub.com Fallback** ⚠️