Today's paper boiled down :chick_science_ohno:
- It's more efficient to schedule dynamic scientific workloads dynamically than to cram a dynamic workload into a static scheduler.
- Use multiple relevant properties of the task to calculate a weight.
- Before assigning a task to a compute unit, re-calculate the weight of the tasks again based on the whole workflow's deadline.
- Re-use compute units (even if idle) where the cost (t) of resultant data transfer is higher than saving it to persistent storage and deploying it to a new node.
- I promise we're not sponsored by Amazon, but they're the only cloud provider we used in our simulations for cost and time modeling.