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

本文探讨了云计算中调度的重要性,强调了调度粒度与资源效率的关系,并指出调度的主要目标是吞吐量和响应时间。文章列举了计算能力、内存容量、内存带宽和网络带宽等关键资源,以及任务的依赖关系、资源占用差异等问题。接着介绍了轮询、随机、权重、Hash和负载等调度算法,并讨论了服务端模式、客户端模式及客户端模式+管理节点等分布式架构下的调度实现方式。
1672

被折叠的 条评论
为什么被折叠?



