作业调度与云计算

在查阅云计算相关资料的时候,发现云计算中有部分内容与我们目前开发的批量调度总线十分相关,例如作业调度也是云计算的关键软件,云计算的作业调度软件一般有以下功能:排队,调度,监控,资源管理以及计费。目前比较流行的开源作业管理有PBS(Portable Batch System), Condor ,商业的比较常见的有IBM的Loadleveler,以及LSF(Load Sharing Facility)。Hadoop的的调度功能,也只是做批量的调度,借鉴了Condor的经验

 

Condor是一个专门用于计算密集型作业的负载管理系统。像其他功能齐全的批处理系统一样,Condor提供了作业排队机制,调度策略,优先计划,资源监测和资源管理。用户提交他们的串行或并行工作给Condor,Condor把他们放到一个队列中,根据某种策略选择时间和地点来执行作业,仔细监测其进展情况,并最终通知用户完成。

 

PBS目前已经变成商业产品,condor目前仍然开源并在持续开发(http://research.cs.wisc.edu/condor/),可以作为我们调度产品的参考。

 

目前Condor等调度系统的调度算法,如常见的FCFS, Backfilling, Gang scheduling 等,大多延续自DQS(Distributed Queung System) ,解决了我们讨论的吞吐量,优先级,分布式排队等问题。其中Backfilling 算法 由于解决了资源碎片问题,显著提高了系统的性能,因此在集群系统中得到了广泛应用。

 

 

另外目前云计算调度规范,比如OGF-OGSA的作业描述语言(JSDL Job Submission and Dscription Language)和作业提交规范(BES Basic Execution Service),对于作业的描述,定义及提交有很好的的标准,其中的很多思路对我们的调度产品参考借鉴意义很大,如果产品最终能支持JDSL以及BES 等开放标准也是后续产品的一个亮点。JDSL和bes可参考附件。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据