可以想见,“实现任务到资源的最优分配”- 调度是“分而治之”模式的核心问题,而且调度粒度越精细,资源消耗的控制才能越精确;但是精细粒度的任务调度也带来更高的调度开销,需要根据业务情况权衡;调度最终和最重要的目标是吞吐量(指定时间段内完成的任务数,以及用户分级/业务分组的能力/流量控制),响应时间(这里主要考虑处理时间,暂不考虑传输时间);
对于调度器而言,资源是客观存在的硬件限制,主要有:
而任务则是要利用资源解决的问题,相对资源而言比较复杂,可能存在的情况有:
对于调度器而言,资源是客观存在的硬件限制,主要有:
计算能力,即CPU,现在关心的主要是物理内核数;
内存容量,刨开操作系统和其它系统软件的占用外,实际的可用数,毕竟如果引发swap操作将使执行性能急剧下降;
内存带宽,硬件架构的升级,如Nehalem架构中QPI与之前的前端总线相比带宽提升了一倍;
网络带宽,分布式系统的桥梁,大量数据传输时的瓶颈;
而任务则是要利用资源解决的问题,相对资源而言比较复杂,可能存在的情况有:
任务之间存在依赖关系,如用户提交数据后的查询操作,自己必须可见;再如早期的session stick,同一个用户的请求分