CN103927231B - 一种面向数据处理的能耗优化数据集分配方法 - Google Patents
一种面向数据处理的能耗优化数据集分配方法 Download PDFInfo
- Publication number
- CN103927231B CN103927231B CN201410124657.9A CN201410124657A CN103927231B CN 103927231 B CN103927231 B CN 103927231B CN 201410124657 A CN201410124657 A CN 201410124657A CN 103927231 B CN103927231 B CN 103927231B
- Authority
- CN
- China
- Prior art keywords
- data
- server
- data set
- queue
- iops
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种面向数据处理的能耗优化数据集分配方法,包括:把待分配数据集按照IOPS属性值从大到小依次排序形成待分配数据集队列,数据中心服务器也按照IOPS能力从大到小依次排序构成待分配服务器队列;同时创建已分配服务器队列和各个数据中心服务器的已分配数据集队列,从上述待分配数据集队列头部取出第一个待分配数据集,同时判断已分配服务器队列是否为空,若已分配服务器队列为空,则从待分配服务器队列头部选取第一台服务器作为当前数据中心服务器。本方法使得IOPS需求大的热点数据集得以集中分配在数据中心服务器上,避免了处理大规模数据过程中虚拟机的放置和迁移问题,达到了全面优化数据中心能耗值、平衡服务器负载的目的。
Description
技术领域
本发明属于数据中心能耗优化技术领域,更具体地,涉及一种面向数据处理的能耗优化数据集分配方法。
背景技术
当前典型数据中心包含成千上万的计算机节点,这些节点包括计算机节点、网络节点和存储节点。其应用场景、配置方式、使用模式和负载行为有很大的不同。但是,各种数据中心却面临着同一个函待解决的难题:惊人的能耗问题。据美国环境保护署2007年提交给美国国会的报告指出,2006年美国全国服务器和数据中心消耗约610亿度电,电费开销为45亿美元。McKensey公司预测到2020年数据中心将成为第一大二氧化碳排放行业。
由于数据中心的能耗问题日益严重,引发了学术界对数据中心计算机系统能耗的研究热潮。数据中心能耗优化方案更是涉及到系统的多个层次和多个技术领域。现如今,优化数据中心能耗最主要的手段是使用虚拟化技术进行服务器的整合。虚拟化技术允许多个操作系统实例逻辑上独立运行在相同的硬件资源上,其主要实施手段是利用虚拟机监控器统一管理和调度虚拟机,在硬件资源上执行相应的服务。
然而,现阶段大多数数据中心能耗优化研究工作都集中在数据中心虚拟机的计算资源调度和分配方案上,并从数据中心数据集的分配角度考虑。事实上,在数据中心中由于海量数据的迁移成本太高,因此数据分布很大程度上决定了计算资源的分布。大多数情况下,数据中心的数据集是随机的分布在所有服务器节点上的。但是,真实情况下,数据集的访问频率是完全不同的,基本满足重尾分布定律,既是20%的数据占有80%的访问频率。所以为了保证服务质量(Quality of Service,简称QoS),使得用户访问不受延迟或丢弃,基于数据集在存储服务器上的随机分配,在任何情况下都开启全部的服务器,而大部分存储服务器处于低负载甚至空闲,导致巨大的能耗问题以及各存储服务器负载不均衡问题。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种面向数据处理的能耗优化数据集分配方法,其目的在于,解决现有数据中心数据集在存储服务器上的随机分配导致极大能源浪费和负载不均衡的技术问题,在保证QoS的前提下,将用户的请求数据集按照本发明提供的分配方案部署到服务器节点上,从而达到优化数据中心处理能耗的目的。
为实现上述目的,按照本发明的一个方面,提供了一种面向数据处理的能耗优化数据集分配方法,包括以下步骤:
(1)获取待分配数据集的属性值,以得到第一属性值集合A;
(2)获取数据中心服务器的属性值,以得到第二属性值集合B;
(3)把第一属性值集合A中待分配数据集按照其IOPS属性值从大到小依次排序形成待分配数据集队列,把第二属性集集合B中所有数据中心服务器也按照其IOPS属性值从大到小依次排序构成待分配服务器队列;
(4)从待分配数据集队列M中选取出将进行分配的当前数据集,同时根据已分配服务器队列L和待分配服务器队列N中队列元素的不同情况选取出对应的当前数据中心服务器,将该当前数据集分配到当前数据中心服务器中,并重新计算当前数据中心服务器的平均CPU使用值、平均IOPS使用值、以及平均内存使用值;
(5)将获取的当前数据中心服务器的平均IOPS使用值、平均CPU使用值、以及平均内存使用值,乘以该数据中心服务器已分配数据集列表中已分配数据集的总数,得到总IOPS、CPU、内存使用值,与数据中心服务器的峰值IOPS、峰值CPU和峰值内存进行比较,根据比较结果将数据集部署到符合条件的数据中心服务器上,当所有待分配数据集都分配完成或者所有数据中心服务器都分配完成,过程结束。
优选地,分配数据集的属性包括:存储容量、内存容量、数据集对CPU的需求值、IOPS以及访问频率,数据中心服务器的属性包括存储容量、内存容量、CPU对数据集的处理能力、以及IOPS。
优选地,步骤(3)包括以下子步骤:
(3-1)将第一属性值集合A中的待分配数据集按照其IOPS属性从大到小进行排序,以形成待分配数据集队列M;
(3-2)将第二属性值集合B中的数据中心服务器按照其IOPS属性从大到小依次排列,以形成待分配服务器队列N;
(3-3)建立全局已分配服务器队列L,并为所有n台数据中心服务器建立已分配数据集队列集合(K1,K2....,Kn),该已分配数据集队列集合中的每个已分配数据集队列K1,K2....,Kn分别对应于第一台数据中心服务器、第二台数据中心服务器、…第n台数据中心服务器。
优选地,步骤(4)包括以下子步骤:
(4-1)从待分配数据集队列M中取出位于队首的待分配数据集作为当前数据集;
(4-2)判断已分配服务器队列L是否为空,如果为空,则转入步骤(4-3),否则转入步骤(4-4);
(4-3)从待分配服务器队列N中取出位于队首的待分配服务器作为当前数据中心服务器t,然后转入步骤(4-5);
(4-4)从已分配服务器队列L中取出位于队首的已分配服务器作为当前数据中心服务器t;
(4-5)将当前数据集放到当前数据中心服务器t的已分配数据集队列Kt中,并重新计算当前数据中心服务器的平均IOPS使用值、平均CPU使用值、以及平均内存使用值。
优选地,步骤(4-5)中计算平均IOPS使用值的过程采用以下公式:
其中,k为当前数据中心服务器t已分配数据集队列中数据集总个数,f为已分配数据集访问频率,fi表示第i个已分配数据集的访问频率。
优选地,步骤(4-5)中计算平均CPU使用值的过程采用以下公式:
优选地,步骤(4-5)中计算平均内存使用值的过程采用以下公式:
优选地,步骤(5)包括以下子步骤:
(5-1)将获取的当前数据中心服务器的平均IOPS使用值、平均CPU使用值、以及平均内存使用值,乘以该数据中心服务器已分配数据集列表中已分配数据集的总数,以得到总IOPS、CPU、内存使用值,并判断其是否均分别小于数据中心服务器的峰值IOPS、峰值CPU和峰值内存,如果小于,则将当前数据集分配到该数据中心服务器,然后转到步骤(5-6),否则转到步骤(5-2);
(5-2)将当前数据集从当前数据中心服务器t的已分配数据集队列Kt中取出;
(5-3)判断已分配服务器队列是否到尾部,若已到尾部,则从待分配服务器队列N中取出位于队首的待分配服务器作为当前数据中心服务器t,然后转入步骤(5-5),否则,转入步骤(5-4);
(5-4)从已分配服务器队列L中选取下一数据中心服务器作为当前数据中心服务器t;
(5-5)将当前数据集作为该数据中心服务器的负载,即将当前数据集加入数据中心服务器t的已分配数据集队列Kt,计算当前数据中心服务器的平均IOPS值、平均CPU和平均内存值,将其乘以该服务器已分配数据集列表中已分配数据集的总数,以得到总IOPS、CPU、并判断其是否都小于数据中心服务器t的对应峰值,若总IOPS值、CPU值、内存值都小于数据中心服务器t的峰值,则将当前数据集分配到该数据中心服务器,然后进入步骤(5-6),否则返回步骤(5-1);
(5-6)单次分配完成,然后转步骤(4),继续进行分配,直到待分配数据集分配完成或者待分配服务器分配完成为止,然后过程结束。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
1、由于本发明采用步骤(3)和步骤(4),其中步骤(3)把第一属性值集合A中待分配数据集按照其IOPS属性值从大到小依次排序形成待分配数据集队列,把第二属性集集合B中所有数据中心服务器也按照其IOPS属性值从大到小依次排序构成待分配服务器队列,在步骤(4)中,在当前数据集分配过程中,将当前数据集放到当前数据中心服务器t的已分配数据集队列Kt中,并重新计算当前数据中心服务器的平均IOPS使用值、平均CPU使用值、以及平均内存使用值。该分配方法使得IOPS需求大的热点数据集得以集中分配在数据中心服务器上,避免了处理大规模数据过程中虚拟机的放置和迁移问题,因此,本发明能够解决现有数据中心数据集在存储服务器上的随机分配导致极大能源浪费的技术问题;
2、由于本发明采用了步骤(4-5-1)、(4-5-2)、(4-5-3),以(4-5-1)步骤,计算该数据中心服务器IOPS,取出该数据中心服务器已分配数据集队列中所有已分配数据集,计算每个已分配数据集IOPS需求与频率乘积,并求和,再计算该数据中心服务器的已分配数据集队列中访问频率总和,二者相除,得到该数据中心服务器平均IOPS需求,乘以当前数据中心服务器已分配列表中已分配数据集的总数,得到该数据中心服务器总IOPS需求。步骤(4-5-2)、(4-5-3)同理计算得到总CPU需求,总内存需求,然后根据总IOPS需求、总CPU需求、总内存需求与当前数据中心服务器的峰值IOPS、CPU、内存值比较,进行分配,因此本发明能够解决现有数据中心数据集在存储服务器上的随机分配导致负载不均衡的技术问题。
3、由于本发明在步骤(4)的子步骤(4-5)中计算当前数据中心服务器的平均IOPS使用值、平均CPU使用值、以及平均内存使用值时用到了数据访问频率,通过引入数据访问频率这一属性,访问频率通过给定时间内使用时间所占的比例进行估算,也就是如果统计时间是一个小时,则存取了半个小时,访问频率为0.5,这种方案,平衡了应用绝对访问数据的次数和访问时间的优势。
附图说明
图1是本发明面向数据处理的能耗优化数据集分配方法的流程图;
图2是本发明方法中步骤(3)的细化流程图。
图3是本发明方法中步骤(4)的细化流程图。
图4是本发明方法中步骤(5)的细化流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
以下首先就本发明的技术术语进行解释和说明:
存储容量:存储服务器的存储容量,一般以TBytes作为单位。
内存容量:存储服务器的内存大小,一般以GBytes作为单位。
CPU需求值:处理数据集需占用的CPU资源,单位是任务/秒。
CPU对任务的处理能力:在某个时间点,任务程序运行占用的CPU资源,单位是任务/秒。
IOPS:每秒进行读写(I/O)操作的次数(Input/Output Operations PerSecond,简称IOPS)。存储端的IOPS是指存储每秒可接受多少次主机发出的访问。
访问频率:给定时间内使用时间所占的比例。
本发明的整体思路在于,提供一种面向数据处理的能耗优化数据集分配方法,分配初始时,把待分配数据集按照IOPS属性值从大到小依次排序形成待分配数据集队列,数据中心服务器也按照IOPS能力从大到小依次排序构成待分配服务器队列;同时创建已分配服务器队列和各个数据中心服务器的已分配数据集队列。分配进行时,从上述待分配数据集队列头部取出第一个待分配数据集,同时判断已分配服务器队列是否为空,若已分配服务器队列为空,则从待分配服务器队列头部选取第一台服务器作为当前数据中心服务器,并把该数据中心服务器加入到已分配服务器队列中;否则从已分配服务器队列头部取出第一台服务器作为当前数据中心服务器,按照下述方式重新计算当前数据中心服务器平均CPU使用值、平均IOPS使用值、平均内存使用值,乘以该服务器已分配数据集列表中已分配数据集的总数,得到总IOPS、CPU、内存使用值。以IOPS使用率为例,将取出的待分配数据集预先加入当前数据中心服务器的已分配数据集队列中,一起计算该数据中心服务器平均IOPS。从该数据中心服务器的已分配数据集队列中取出所有分配到该数据中心服务器的已分配数据集,计算每个已分配数据集IOPS需求与频率乘积,并求和,再计算该数据中心服务器的已分配数据集列表中访问频率总和,二者相除,得到该数据中心服务器平均IOPS需求,乘以该数据中心服务器已分配数据集列表中已分配数据集的总数,得到该数据中心服务器总IOPS需求,如果该值小于此数据中心服务器的峰值IOPS,则可以考虑放入此数据中心服务器。参考上述IOPS使用率计算步骤,计算平均CPU和平均内存使用值,乘以该数据中心服务器已分配数据集列表中已分配数据集的总数,得到总CPU和内存使用值,如果总CPU和内存使用值都能够小于相应峰值,则将当前数据集分配到该数据中心服务器,若不满足条件,则回退上述将当前数据集加入该数据中心服务器的已分配数据集队列这一步骤,将当前数据集从该数据中心服务器已分配数据集列表中取出。同时判断已分配服务器队列是否到尾部,若已到尾部,则在待分配服务器队列头部选取队首数据中心服务器作为当前数据中心服务器;若队列未到尾部,则在已分配服务器队列中选取下一数据中心服务器作为当前数据中心服务器。同样将当前数据集作为该数据中心服务器的负载,计算平均IOPS使用值、平均CPU和平均内存使用值,乘以该数据中心服务器已分配数据集列表中已分配数据集的总数,得到总IOPS使用值、CPU使用值、内存使用值,进行比较,以部署所述当前数据集。如果依次遍历整个已分配服务器队列未找到合适数据中心服务器,则从待分配服务器队列头部中提取新数据中心服务器,放入待分配服务器队列尾部,并把当前数据集分配到这个空闲服务器,并在该数据中心服务器已分配数据集集合中增加当前数据集。当所有数据集都分配完成或者所有数据中心服务器都已分配,该分配完成。
由于数据的访问是受时间约束的,以在线大规模数据访问为例,数据的访问在一天之内,根据时间的变化呈现一定的变化规律。在本发明中引入了数据访问频率这一属性,访问频率通过给定时间内使用时间所占的比例进行估算,也就是如果统计时间是一个小时,则存取了半个小时,访问频率为0.5。这种方案平衡了绝对访问次数和访问时间。
如图1所示,本发明面向数据处理的能耗优化数据集分配方法包括:
(1)获取待分配数据集的属性值,以得到第一属性值集合A;具体而言,分配数据集的属性包括:存储容量、内存容量、数据集对CPU的需求值、IOPS以及访问频率;
(2)获取数据中心服务器的属性值,以得到第二属性值集合B。具体而言,数据中心服务器的属性包括存储容量、内存容量、CPU对数据集的处理能力、IOPS,这三个属性主要是数据中心服务器的硬件配置要求。
(3)把第一属性值集合A中待分配数据集按照其IOPS属性值从大到小依次排序形成待分配数据集队列,把第二属性集集合B中所有数据中心服务器也按照其IOPS属性值从大到小依次排序构成待分配服务器队列;如图2所示,本步骤包括以下子步骤:
(3-1)将第一属性值集合A中的待分配数据集按照其IOPS属性从大到小进行排序,以形成待分配数据集队列M;
(3-2)将第二属性值集合B中的数据中心服务器按照其IOPS属性从大到小依次排列,以形成待分配服务器队列N;
(3-3)建立全局已分配服务器队列L,并为所有n台数据中心服务器建立已分配数据集队列集合(K1,K2....,Kn),该已分配数据集队列集合中的每个已分配数据集队列K1,K2....,Kn分别对应于第一台数据中心服务器、第二台数据中心服务器、…第n台数据中心服务器;
(4)从待分配数据集队列M中选取出将进行分配的当前数据集,同时根据已分配服务器队列L和待分配服务器队列N中队列元素的不同情况选取出对应的当前数据中心服务器,将该当前数据集分配到当前数据中心服务器中,并重新计算当前数据中心服务器的平均CPU使用值、平均IOPS使用值、以及平均内存使用值;如图3所示,本步骤包括以下子步骤:
(4-1)从待分配数据集队列M中取出位于队首的待分配数据集作为当前数据集;
(4-2)判断已分配服务器队列L是否为空,如果为空,则转入步骤(4-3),否则转入步骤(4-4);
(4-3)从待分配服务器队列N中取出位于队首的待分配服务器作为当前数据中心服务器t。然后转入步骤(4-5);
(4-4)从已分配服务器队列L中取出位于队首的已分配服务器作为当前数据中心服务器t;
(4-5)将当前数据集分配到当前数据中心服务器中,即将当前数据集放到当前数据中心服务器t的已分配数据集队列Kt中,并重新计算当前数据中心服务器的平均IOPS使用值、平均CPU使用值、以及平均内存使用值。
(4-5-1)计算平均IOPS使用值IOPSaverage:
具体而言,平均IOPS使用值的计算过程如下:计算该数据中心服务器IOPS,取出该数据中心服务器已分配数据集队列中所有已分配数据集,计算每个已分配数据集IOPS需求与频率乘积,并求和,再计算该数据中心服务器的已分配数据集队列中访问频率总和,二者相除,得到该数据中心服务器平均IOPS需求,乘以当前数据中心服务器已分配列表中已分配数据集的总数,得到该数据中心服务器总IOPS需求。
其中,k为当前数据中心服务器t已分配数据集队列中数据集总个数;f为已分配数据集访问频率;fi表示第i个已分配数据集的访问频率。
(4-5-2)计算平均CPU使用值CPUaverage:
计算该数据中心服务器平均CPU需求,取出该数据中心服务器已分配数据集列表中所有已分配数据集,计算每个已分配数据集CPU需求与频率乘积,并求和,再计算该数据中心服务器的已分配数据集列表中访问频率总和,二者相除,得到该数据中心服务器平均CPU需求,乘以当前数据中心服务器已分配列表中已分配数据集的总数,得到总CPU使用值。
(4-5-3)平均内存使用值MEMORYaverage:
计算该数据中心服务器平均内存需求,取出该数据中心服务器已分配数据集列表中所有已分配数据集,计算每个已分配数据集内存容量与频率乘积,并求和,再计算该数据中心服务器的已分配数据集列表中访问频率总和,二者相除,得到该数据中心服务器平均内存容量需求,乘以当前数据中心服务器已分配列表中已分配数据集的总数,得到平均内存容量使用值。所述加权平均值计算公式包括:
(5)将获取的当前数据中心服务器的平均IOPS使用值、平均CPU使用值、以及平均内存使用值,乘以该数据中心服务器已分配数据集列表中已分配数据集的总数,得到总IOPS、CPU、内存使用值,与数据中心服务器的峰值IOPS、峰值CPU和峰值内存进行比较,根据比较结果将数据集部署到符合条件的数据中心服务器上,当所有待分配数据集都分配完成或者所有数据中心服务器都分配完成,过程结束。如图4所示,本步骤包括以下子步骤:
(5-1)将获取的当前数据中心服务器的平均IOPS使用值、平均CPU使用值、以及平均内存使用值,乘以该数据中心服务器已分配数据集列表中已分配数据集的总数,以得到总IOPS、CPU、内存使用值,并判断其是否均分别小于数据中心服务器的峰值IOPS、峰值CPU和峰值内存,如果小于,则将当前数据集分配到该数据中心服务器,然后转到步骤(5-6),否则转到步骤(5-2);
(5-2)将当前数据集从当前数据中心服务器t的已分配数据集队列Kt中取出。
(5-3)判断已分配服务器队列是否到尾部,若已到尾部,则从待分配服务器队列N中取出位于队首的待分配服务器作为当前数据中心服务器t,然后转入步骤(5-5),否则,转入步骤(5-4)。
(5-4)从已分配服务器队列L中选取下一数据中心服务器作为当前数据中心服务器t。
(5-5)将当前数据集作为该数据中心服务器的负载,即将当前数据集加入数据中心服务器t的已分配数据集队列Kt,计算当前数据中心服务器的平均IOPS值、平均CPU和平均内存值,将其乘以该服务器已分配数据集列表中已分配数据集的总数,以得到总IOPS、CPU、并判断其是否都小于数据中心服务器t的对应峰值,若总IOPS值、CPU值、内存值都小于数据中心服务器t的峰值,则将当前数据集分配到该数据中心服务器,然后进入步骤(5-6),否则返回步骤(5-1)。
(5-6)单次分配完成,然后转步骤(4),继续进行分配,直到待分配数据集分配完成或者待分配服务器分配完成为止,然后过程结束。
由上可见,本发明实施的一种面向数据处理的能耗优化数据集分配方法,在保证QoS(Quality of Service)服务质量,使得用户访问不受延迟或丢弃,基于本发明方案在数据中心服务器上部署数据集,解决了在任何情况下都开启全部的数据中心服务器,而大部分存储服务器处于低负载甚至空闲,导致巨大的能耗以及各存储服务器负载不均衡的问题。IOPS优先分配,以数据集访问频率作为加权,进行数据集到物理服务器的分配,这样使得IOPS需求大的热点数据集得以集中分配在服务器上,避免了处理数据过程中虚拟机的迁移,减少了物理服务器的开启台数,达到了全面优化数据中心能耗值的目的。
实例
下面将结合具体实例进一步说明本发明的技术方案。参考图1,本发明实现了一种面向数据处理的能耗优化数据集分配方法。
步骤1、获取调度域内各物理机属性值;
具体包括:该调度域内设定有两个物理机PM1和PM2,PM1的总负载能力为(15TBytes,1000任务/s,8GBytes,800),服务器已分配数据集列表中,各数据集属性:5个D1=(4GBytes,100任务/s,1GBytes,100,0.5),4个D2=(2GBytes,100任务/s,80,0.5GBytes,0.25),2个D3=(1GBytes,50任务/s,50,0.25GBytes,1)。
PM2的总负载能力为(5TBytes,1000任务/s,4GBytes,500),服务器已分配数据集列表中,各数据集属性:3个D1=(4GBytes,100任务/s,100,0.5GBytes,1),1个D2=(2GBytes,100任务/s,80,0.25GBytes,0.5),2个D3=(1GBytes,50任务/s,50,0.25GBytes,0.25)。
为了更清楚地表述出PM1,PM2的峰值负载状态,将以上两个物理机的峰值负载能力表述为:
PM1=(15TBytes,1000任务/s,8GBytes,800)。
PM2=(5TBytes,1000任务/s,4GBytes,600)。
步骤2、获取当前分配数据集的各属性值
当前数据集D4=(4GBytes,150任务/s,50,0.5GBytes,1)。
步骤3、计算服务器的数据集列表中的平均IOPS、CPU、内存值。
具体包括:
(1)将数据集D4加入服务器PM1的数据集列表中,根据公式计算:
①IOPSaverage,IOPStotal:
IOPSaverage=(5*100*0.5)+(3*80*0.25)+(2*50*1)+(1*50*1)/(5*0.5+3*0.25+2*1+1*1)=73.6
IOPStotal=IOPSaverage*11=809.6
②CPUaverage,CPUtotal:
CPUaverage=(5*100*0.5)+(3*100*0.25)+(2*50*1)+(1*150*1)/(5*0.5+3*0.25+2*1+1*1)=92
CPUtotal=CPUaverage*11=920
③MEMORYaverage,MEMORYtotal:
MEMORYverage=(5*1*0.5)+(3*0.5*0.25)+(2*0.25*1)+(1*0.5*1)/(5*0.5+3*0.25+2*1+1*1)=0.62
MEMORYtotal=MEMORYaverage*11=6.82(GBytes)
与PM1服务器IOPS的峰值能力800比较,平均IOPS值大于PM1服务器IOPS的峰值能力,而平均CPU和IOPS值均小于PM1服务器CPU和内存峰值,即使如此,我们得出的结论依然是:PM1不满足分配条件,选取待分配列表中下一服务器PM2,重新计算IOPS,CPU,内存值,部署待分配数据集。
(2)将数据集D4加入服务器PM2的数据集列表中,根据公式计算:
①IOPSaverage,IOPStotal:
IOPSaverage=(3*100*1)+(1*80*0.5)+(2*50*0.25)+(1*50*1)/(3*1+1*0.5+2*0.25+1*1)=83
IOPStotal=IOPSaverage*7=581
②CPUaverage,CPUtotal:
CPUaverage=(3*100*1)+(1*100*0.5)+(2*50*0.25)+(1*150*1)/(3*1+1*0.5+2*0.25+1*1)=105
CPUtotal=CPUaverage*7=735
③MEMORYaverage,MEMORYtotal:
MEMORYverage=(3*0.5*1)+(1*0.25*0.5)+(2*0.25*0.25)+(1*0.5*1)/(3*1+1*0.5+2*0.25+1*1)=0.45
MEMORYtotal=MEMORYaverage*7=3.15(GBytes)
与PM2服务器IOPS的峰值能力600比较,平均IOPS值581小于PM2的IOPS峰值600,同时平均CPU值735小于PM2的CPU峰值1000,内存值3.15小于PM2的内存值4GBytes,由此得出结论,PM2的剩余能力够。则将数据集D4分配到该数据中心服务器。
步骤4、输出分配结果:将分配数据集D4部署在服务器PM2上。
由上述实施例可知,本发明实施的一种面向数据处理的能耗优化数据集分配方法,以IOPS优先,以数据集访问频率作为加权,进行数据集到物理服务器的分配,这样使得热点数据集得以集中分配在服务器上,避免了处理数据过程中虚拟机的迁移,减少了物理服务器的开启台数,达到了全面优化数据中心能耗值的目的。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种面向数据处理的能耗优化数据集分配方法,其特征在于,包括以下步骤:
(1)获取待分配数据集的属性值,以得到第一属性值集合A;
(2)获取数据中心服务器的属性值,以得到第二属性值集合B;
(3)把第一属性值集合A中待分配数据集按照其IOPS属性值从大到小依次排序形成待分配数据集队列,把第二属性集集合B中所有数据中心服务器也按照其IOPS属性值从大到小依次排序构成待分配服务器队列;
(4)从待分配数据集队列M中选取出将进行分配的当前数据集,同时根据已分配服务器队列L和待分配服务器队列N中队列元素的不同情况选取出对应的当前数据中心服务器,将该当前数据集分配到当前数据中心服务器中,并重新计算当前数据中心服务器的平均CPU使用值、平均IOPS使用值、以及平均内存使用值;
(5)将获取的当前数据中心服务器的平均IOPS使用值、平均CPU使用值、以及平均内存使用值,乘以该数据中心服务器已分配数据集列表中已分配数据集的总数,得到总IOPS、CPU、内存使用值,与数据中心服务器的峰值IOPS、峰值CPU和峰值内存进行比较,根据比较结果将数据集部署到符合条件的数据中心服务器上,当所有待分配数据集都分配完成或者所有数据中心服务器都分配完成,过程结束。
2.根据权利要求1所述的能耗优化数据集分配方法,其特征在于,
分配数据集的属性包括:存储容量、内存容量、数据集对CPU的需求值、IOPS以及访问频率;
数据中心服务器的属性包括存储容量、内存容量、CPU对数据集的处理能力、以及IOPS。
3.根据权利要求1所述的能耗优化数据集分配方法,其特征在于,步骤(3)包括以下子步骤:
(3-1)将第一属性值集合A中的待分配数据集按照其IOPS属性从大到小进行排序,以形成待分配数据集队列M;
(3-2)将第二属性值集合B中的数据中心服务器按照其IOPS属性从大到小依次排列,以形成待分配服务器队列N;
(3-3)建立全局已分配服务器队列L,并为所有n台数据中心服务器建立已分配数据集队列集合(K1,K2....,Kn),该已分配数据集队列集合中的每个已分配数据集队列K1,K2....,Kn分别对应于第一台数据中心服务器、第二台数据中心服务器、…第n台数据中心服务器。
4.根据权利要求1所述的能耗优化数据集分配方法,其特征在于,步骤(4)包括以下子步骤:
(4-1)从待分配数据集队列M中取出位于队首的待分配数据集作为当前数据集;
(4-2)判断已分配服务器队列L是否为空,如果为空,则转入步骤(4-3),否则转入步骤(4-4);
(4-3)从待分配服务器队列N中取出位于队首的待分配服务器作为当前数据中心服务器t,然后转入步骤(4-5);
(4-4)从已分配服务器队列L中取出位于队首的已分配服务器作为当前数据中心服务器t;
(4-5)将当前数据集放到当前数据中心服务器t的已分配数据集队列Kt中,并重新计算当前数据中心服务器的平均IOPS使用值、平均CPU使用值、以及平均内存使用值。
5.根据权利要求4所述的能耗优化数据集分配方法,其特征在于,步骤(4-5)中计算平均IOPS使用值的过程采用以下公式:
其中,k为当前数据中心服务器t已分配数据集队列中数据集总个数,f为已分配数据集访问频率,fi表示第i个已分配数据集的访问频率。
6.根据权利要求5所述的能耗优化数据集分配方法,其特征在于,步骤(4-5)中计算平均CPU使用值的过程采用以下公式:
7.根据权利要求6所述的能耗优化数据集分配方法,其特征在于,步骤(4-5)中计算平均内存使用值的过程采用以下公式:
8.根据权利要求1所述的能耗优化数据集分配方法,其特征在于,步骤(5)包括以下子步骤:
(5-1)将获取的当前数据中心服务器的平均IOPS使用值、平均CPU使用值、以及平均内存使用值,乘以该数据中心服务器已分配数据集列表中已分配数据集的总数,以得到总IOPS、CPU、内存使用值,并判断其是否均分别小于数据中心服务器的峰值IOPS、峰值CPU和峰值内存,如果小于,则将当前数据集分配到该数据中心服务器,然后转到步骤(5-6),否则转到步骤(5-2);
(5-2)将当前数据集从当前数据中心服务器t的已分配数据集队列Kt中取出;
(5-3)判断已分配服务器队列是否到尾部,若已到尾部,则从待分配服务器队列N中取出位于队首的待分配服务器作为当前数据中心服务器t,然后转入步骤(5-5),否则,转入步骤(5-4);
(5-4)从已分配服务器队列L中选取下一数据中心服务器作为当前数据中心服务器t;
(5-5)将当前数据集作为该数据中心服务器的负载,即将当前数据集加入数据中心服务器t的已分配数据集队列Kt,计算当前数据中心服务器的平均IOPS值、平均CPU和平均内存值,将其乘以该服务器已分配数据集列表中已分配数据集的总数,以得到总IOPS、CPU、并判断其是否都小于数据中心服务器t的对应峰值,若总IOPS值、CPU值、内存值都小于数据中心服务器t的峰值,则将当前数据集分配到该数据中心服务器,然后进入步骤(5-6),否则返回步骤(5-1);
(5-6)单次分配完成,然后转步骤(4),继续进行分配,直到待分配数据集分配完成或者待分配服务器分配完成为止,然后过程结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410124657.9A CN103927231B (zh) | 2014-03-31 | 2014-03-31 | 一种面向数据处理的能耗优化数据集分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410124657.9A CN103927231B (zh) | 2014-03-31 | 2014-03-31 | 一种面向数据处理的能耗优化数据集分配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103927231A CN103927231A (zh) | 2014-07-16 |
CN103927231B true CN103927231B (zh) | 2016-10-05 |
Family
ID=51145459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410124657.9A Active CN103927231B (zh) | 2014-03-31 | 2014-03-31 | 一种面向数据处理的能耗优化数据集分配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103927231B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105183375B (zh) * | 2015-08-31 | 2019-04-23 | 成都华为技术有限公司 | 一种热点数据的服务质量的控制方法和装置 |
CN106101212A (zh) * | 2016-06-08 | 2016-11-09 | 四川新环佳科技发展有限公司 | 云平台下的大数据访问方法 |
CN106254452A (zh) * | 2016-08-01 | 2016-12-21 | 成都鼎智汇科技有限公司 | 云平台下的医疗大数据访问方法 |
CN108932150B (zh) * | 2017-05-24 | 2023-09-15 | 中兴通讯股份有限公司 | 基于ssd和磁盘混合存储的缓存方法、装置及介质 |
CN108900565B (zh) * | 2018-05-16 | 2020-11-13 | 北京奇艺世纪科技有限公司 | 一种数据部署方法及装置 |
CN108833531A (zh) * | 2018-06-12 | 2018-11-16 | 合肥工业大学 | 一种基于数据中心能耗和网络能耗的数据放置方法 |
CN109145053B (zh) | 2018-08-01 | 2021-03-23 | 创新先进技术有限公司 | 数据处理方法和装置、客户端、服务器 |
CN109062518B (zh) * | 2018-09-19 | 2021-09-17 | 郑州云海信息技术有限公司 | 一种请求处理方法、装置、设备及可读存储介质 |
CN110865872B (zh) * | 2019-11-14 | 2022-07-08 | 北京京航计算通讯研究所 | 基于资源合理化应用的虚拟化集群资源调度系统 |
CN113112139A (zh) * | 2021-04-07 | 2021-07-13 | 上海联蔚盘云科技有限公司 | 云平台账单的处理方法和设备 |
CN113821339B (zh) * | 2021-08-20 | 2022-11-08 | 广州云硕科技发展有限公司 | 一种用于idc数据中心机房的能耗监控方法与装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662750A (zh) * | 2012-03-23 | 2012-09-12 | 上海交通大学 | 基于弹性虚拟机池的虚拟机资源优化控制方法及其系统 |
CN103412635A (zh) * | 2013-08-02 | 2013-11-27 | 清华大学 | 数据中心节能方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7890454B2 (en) * | 2008-05-08 | 2011-02-15 | International Business Machines Corporation | Method and system for data disaggregation |
-
2014
- 2014-03-31 CN CN201410124657.9A patent/CN103927231B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662750A (zh) * | 2012-03-23 | 2012-09-12 | 上海交通大学 | 基于弹性虚拟机池的虚拟机资源优化控制方法及其系统 |
CN103412635A (zh) * | 2013-08-02 | 2013-11-27 | 清华大学 | 数据中心节能方法及装置 |
Non-Patent Citations (2)
Title |
---|
Energy Optimized Modeling for Live Migration in Virtual Data Center;Bing Wei, Chuang Lin and Xiangzhen Kong;《Computer Science and Network Technology》;20111216;全文 * |
基于QoS的数据迁移模型的设计;罗益辉,谢长生;《计算机工程》;20090331;第35卷(第6期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN103927231A (zh) | 2014-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103927231B (zh) | 一种面向数据处理的能耗优化数据集分配方法 | |
CN102063336B (zh) | 一种分布式计算多应用功能异步并发调度方法 | |
CN102541858B (zh) | 基于映射和规约的数据均衡性处理方法、装置及系统 | |
CN103312825B (zh) | 一种数据分布存储方法和装置 | |
Li et al. | An improved max-min task-scheduling algorithm for elastic cloud | |
CN109254842A (zh) | 分布式流式系统的资源管理方法、装置及可读存储介质 | |
CN102932279A (zh) | 一种云环境数据中心多维资源调度系统及方法 | |
CN103634330A (zh) | 一种云计算环境下的资源自动分配方法 | |
CN104793990A (zh) | 一种多时序任务调度方法和系统 | |
CN104023042B (zh) | 云平台资源调度方法 | |
CN106445629A (zh) | 一种负载均衡的方法及其装置 | |
CN103475538A (zh) | 一种基于多接口的自适应的云服务测试方法 | |
Zhang et al. | The real-time scheduling strategy based on traffic and load balancing in storm | |
CN102981890A (zh) | 一种在虚拟化数据中心内的计算任务及虚拟机部署方法 | |
CN104270421A (zh) | 一种支持带宽保证的多租户云平台任务调度方法 | |
CN110311965A (zh) | 一种云计算环境下的任务调度方法及系统 | |
CN106897136A (zh) | 一种任务调度方法及装置 | |
Sharma et al. | An improved task allocation strategy in cloud using modified k-means clustering technique | |
CN103617083B (zh) | 存储调度方法和系统、作业调度方法和系统及管理节点 | |
CN103268261A (zh) | 一种适用于大规模高效能计算机的层次式计算资源管理方法 | |
CN107589980A (zh) | 一种云计算资源的调度方法 | |
CN111580950A (zh) | 一种提升云可靠性的自适应反馈资源调度方法 | |
CN105653243B (zh) | 一种通用图形处理器多任务并发执行的任务派发方法 | |
CN105120008B (zh) | 一种基于分层的分布式云计算中心负载平衡方法 | |
CN110399203A (zh) | 一种基于弗雷歇距离的云计算虚拟机迁移方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |