2研究背景和相关技术
2.1研究背景
国内外现有研究对能耗和性能两者之间的关系持有两种不同的观点。一些研究人员认为能耗和性能的优化是不一致的,即能耗和性能之间存在的是某种折中关系,性能提高了必将导致能耗提高;相反,还有一些研究人员认为能耗和性能的优化目标是一致的,性能最好的系统往往是最节能的。理论上来说,前者符合硬件设计的思想,运算比较快的相对来说也就比较耗电;后者符合软件设计的思想,运算的越快,计算机工作的时间越少,耗电量就会越少。这两种截然不同的观点的产生的原因是采用了不同的评价方法。虽然前者没有考虑到空闲能耗和能量的使用率,后者没有考虑到计算机的功率是动态变化的,但是无论哪种观点,都能说明能效能很好地度量能耗和性能两者之间的关系,使两者统一。
能效是单位能量完成的有效任务,所以能效的度量分为两个部分。一是系统在单位时间内消耗的能量,现有研究中很多采用焦耳来衡量消耗的电能。Kumar提出的几乎都是简单的功率模型,主张用任务的执行时间来度量性能,未能给出可以普遍使用的能效度量的定义、详实的计算和测量方法。还有的研究忽略了网络和空调等附属设备的能耗,仅考虑计算机的能耗。因此,本文将云计算系统的各个组成部分划分的更加细致,认真研究了它们的能耗特点和度量方法。
单位时间内系统完成的有效任务是能耗度量的另一个关键部分,如何度量有效任务成为了一个难题。Abdelsalam等设定一个简单的任务,用任务的完成时间作为任务量,这种度量方法对于运行复杂任务的MapReduce系统显然是不合适的,也不具有一般性。如果定义一种原子的任务单元,则可以通过计数来衡量任务量。例如,可以把以下三种数据定义为一种原子的任务单元:排序1000条数据的任务量,数据库系统中的一个事务,一次用户的请求和响应。但是,还是需要找到一种通用的度量任务量的方式。
2.2相关技术
研究人员通常把单字长定点指令或浮点运算作为计算执行的最小任务单元,有人指出了这种度量方式的不足,重新设计了一种任务量单位:1GHz的CPU在1s内的运算量,记为1U。该任务量单位非常容易测量,可以通过CPU频率和CPU使用率的乘积来计算,即
有效任务量=CPU使用率×CPU频率
任务单元U的最大缺点是忽略了磁盘读写运算和网络数据传输运算。由于任务单元不公平导致了I/O密集型运算低于CPU密集型运算,因此,有效任务量不能简单地用单因素来衡量,需要采用多种与硬件相关的并且细粒度的性能数据来衡量,需要说明的是度量的是软件系统的能效而不是硬件系统的能效。虽然任务的类型在软件层面上是多种多样的,但是对应到CPU频率和CPU使用率、磁盘读写数据量以及网络数据收发量等硬件层面的测量值时是一致的,通过哪种方式将这些测量值集中在一起,也就是使它们产生联系是一个难题。首先,任务量不可以重复的度量,如果任务量包含了网络的数据收发,则不能再次包含路由器的数据处理,原因是它们都属于网络I/O运算;其次,不能简单地把所有耗能组件的运算都看做是有效任务,因为一些硬件系统的作用并非是完成软件系统定义的任务,而是为了提高性能。此外,运算度量的量纲不同,如何统一量纲是一个难题。
3能效度量模型
3.1能效、能耗以及任务量的定义
云计算系统的能效是消耗单位能量完成的有效任务量。分别定义云计算系统消耗的能量和完成的有效任务为能耗和任务量。
3.2能耗
云计算系统的能耗包括了计算机、网络以及空调等附属设备的能耗,由于这三种设备不直接参与任务的执行,通过软件方法很难使它们的能耗得到优化,因此,本文将考虑这三种设备的能耗优化问题。定义云计算系统的能耗为 云计算能耗模型与度量方法研究(2):http://www.youerw.com/jisuanji/lunwen_3913.html