2 云计算虚拟机资源调度
2.1 研究场景
本文要研究的是任务调度中,如何快速而高效的获得虚拟机。我们定义好的任务(用户程序)开始执行,它会被Map/Reduce库划分为若干份,之后将用户进程拷贝到集群内的其他机器上并行处理。对于Map/Reduce任务,我们给它分配合适的虚拟机,并把这些虚拟机按照一定的算法部署到物理机上,即虚拟机资源调度实际上分为两级,一级调度是云计算中用户任务与虚拟机资源的调度,二级调度是虚拟机与物理机的映射[8]。本文主要研究的是虚拟机的一级调度,二级调度可以由CloudSim仿真默认生成。
研究场景还包括以下说明,在云环境下各个虚拟机机所提供的能力是有所不同的(如CPU、内存、外存和网络带宽)所以它们很大程度上是异构的;由于云用户的请求是自主进行的,所以用户所提交的任务也是独立的;不同的任务需求是不同的,应根据其工作量分配相应的虚拟机。
2.2 Map/Reduce框架模型
Google公司设计出的Map/Reduce模型,是当今世界最流行的海量数据处理编程模型[8]。它的工作原理是:Map函数将用户任务细化为多个子任务,并把这些子任务分配到虚拟机节点,待子任务执行完,再有Reduce函数将产生的中间结果进行汇总处理。下图2-1是其执行流程: 云环境下基于能耗优化的资源调度分配算法(3):http://www.751com.cn/jisuanji/lunwen_6249.html