topsim.core.task.Task

class topsim.core.task.Task(tid, est, eft, machine_id, predecessors, flops=0, task_data=0, edge_data: dict | None = None, delay=None, gid=None, use_task_data=False, use_edge_data=True)[source]

Tasks have priorities inheritted from the workflows from which they are arrived; once they arrive at the cluster queue, they are workflow , and are processed according to their priority.

Methods

__init__(tid, est, eft, machine_id, predecessors)

calculate_runtime(machine)

Calculate the runtime of the task

do_work(env, machine[, predecessor_allocations])

This runs the task on the 'cluster'.

update_allocation(machine)

At runtime, it may be that a machine allocation is suggested that we have not planned for.