SDBWS
解决的问题
FaaS上科学工作流调度问题
采用的方法
Serverless Deadline-Budget Workflow Scheduling (SDBWS)。本算法是静态调度算法,能够在满足任务执行的ddl基础上尽可能减小开销。该算法首先依据任务在所有不同资源上执行时间的平均值对任务进行升序排序,然后根据这个排序以及用户期望的整个工作流的ddl以及任务之间的依赖关系(DAG)为工作流中的每一个任务设置sub-ddl。之后,对于目前的一个还没有被调度的任务,我们计算给该任务分配不同资源时的得分,选择最高得分对应的那个资源分配给当前任务,得分的计算涉及到花销和执行时间两个方面,得分与执行花销和执行时间的关系为:任务完成的时间比该任务所在的层的sub-ddl早地越多,或者任务执行的花销比最贵花销减少地越多,分数就会越高。为了在花销和执行时间之间进行权衡,得分的计算还另外引入了参数CF,CF越大意味着用户越想省钱,那么在计算得分时就会更多地考虑将高分给到可以省钱的方案上;如果CF越小,则意味着用户不在乎钱,那么计算得分时,执行时间短的方案就有更大的希望得到高分。
局限性
本算法是一个静态调度算法,需要通过提前的测试来获得任务在不同资源上的执行时间,无法对随机出现的任务进行调度。另外,本算法要求仅对完全工作在FaaS上的工作流有效。