发明名称 具有功耗意识的数据中心应用服务调度方法
摘要 本发明公开了一种具有功耗意识的数据中心应用服务调度方法,包括:S1:获取当前数据中心中所有节点服务器的状态,以及应用服务在节点的分布和资源占用情况;S2:利用历史日志数据和当前应用负载情况,采用多尺度时间序列回归分析方法对数据中心的每个应用服务负载进行预测;S3:根据预测的负载和当前应用负载情况,进行具有功耗意识的应用服务调度优化计算;S4:依据应用服务调度优化计算结果,对节点进行管理,对应用服务进行调度。本发明通过对服务器负载进行统一监控和统一管理,来选择服务的执行节点和调整节点的运行状态,从而有效降低整个数据中心的能耗。
申请公布号 CN102063327B 申请公布日期 2013.07.24
申请号 CN201010589580.4 申请日期 2010.12.15
申请人 中国科学院深圳先进技术研究院 发明人 文高进;冯圣中;樊建平;贝振东;赵娟娟;杨念
分类号 G06F9/46(2006.01)I;G06F1/32(2006.01)I 主分类号 G06F9/46(2006.01)I
代理机构 深圳市君胜知识产权代理事务所 44268 代理人 王永文;杨宏
主权项 1.一种具有功耗意识的数据中心应用服务调度方法,其特征在于,包括:     S1:获取当前数据中心中所有节点服务器的状态,以及应用服务在节点的分布和资源占用情况;    S2:利用历史日志数据和当前应用负载情况,采用多尺度时间序列回归分析方法对数据中心的每个应用服务负载进行预测;    S3:根据预测的负载和当前应用负载情况,进行具有功耗意识的应用服务调度优化计算;S4:依据应用服务调度优化计算结果,对节点进行管理,对应用服务进行调度;步骤S2具体包括:S201:选择历史日志数据作为初始时间序列回归分析输入数据,并设定最大匹配尺度层数;S202:逐尺度对每一个应用服务的历史序列数据进行时间序列回归分析;S203:每尺度下,采用多种时间序列回归分析方法进行分析,选择误差最小的回归模型作为当前尺度的预测模型;S204:用当前时间序列输入数据减去当前预测模型预测数据作为下一尺度的时间序列回归分析输入数据;S205:检查当前匹配误差是否小于设定的误差上限,如果是,转入步骤S206,如果否,转入步骤S207;S206:检查当前匹配尺度层数是否小于设定的最大匹配尺度层数,如果是,将当前匹配尺度层数加1,然后转入步骤204,如果否,转入步骤S207;S207:检查当前所有的应用是否预测完,如果是,转入步骤S3,如果否,转入步骤S201;步骤S3具体包括:S301:根据预测模型逐应用服务进行一段时间内的负载预测;S302:计算<img file="2010105895804100001DEST_PATH_IMAGE001.GIF" wi="22" he="18" />个预测时间段内的CPU占用率<img file="2010105895804100001DEST_PATH_IMAGE002.GIF" wi="42" he="26" />,内存占用率<img file="2010105895804100001DEST_PATH_IMAGE003.GIF" wi="48" he="26" />,存储占用率<img file="2010105895804100001DEST_PATH_IMAGE004.GIF" wi="41" he="26" />,故障节点发生量<img file="2010105895804100001DEST_PATH_IMAGE005.GIF" wi="42" he="26" />;S303:根据预测负载值估计第j个应用服务所需的节点总数;S304:找出节点的热启动时间点集<img file="2010105895804100001DEST_PATH_IMAGE006.GIF" wi="25" he="26" />和休眠时间点集<img file="DEST_PATH_IMAGE007.GIF" wi="25" he="26" />;步骤S304具体包括:a:依据步骤S303计算第<img file="2010105895804100001DEST_PATH_IMAGE008.GIF" wi="14" he="21" />个应用服务在时间段<img file="DEST_PATH_IMAGE009.GIF" wi="9" he="18" />所需的节点总数<img file="DEST_PATH_IMAGE010.GIF" wi="36" he="28" />,将计算结果与该应用服务在上一时间段<img file="DEST_PATH_IMAGE011.GIF" wi="30" he="20" />的计算节点总数<img file="DEST_PATH_IMAGE012.GIF" wi="52" he="28" />进行比较,若<img file="272350DEST_PATH_IMAGE010.GIF" wi="36" he="28" />大于<img file="189491DEST_PATH_IMAGE012.GIF" wi="52" he="28" />,则转入b,反之,转入c;b:比较第<img file="969228DEST_PATH_IMAGE008.GIF" wi="14" he="21" />个应用服务在时间段<img file="DEST_PATH_IMAGE013.GIF" wi="9" he="18" />所需的节点总数<img file="800656DEST_PATH_IMAGE010.GIF" wi="36" he="28" />与当前工作的节点数<img file="DEST_PATH_IMAGE014.GIF" wi="42" he="25" />的大小,若<img file="615028DEST_PATH_IMAGE010.GIF" wi="36" he="28" />大于<img file="375173DEST_PATH_IMAGE014.GIF" wi="42" he="25" />,则表示需要启动新的节点,计算<img file="642207DEST_PATH_IMAGE013.GIF" wi="9" he="18" />时刻需要启动的新节点数<img file="DEST_PATH_IMAGE015.GIF" wi="113" he="28" />的值,将当前时间段<img file="778790DEST_PATH_IMAGE013.GIF" wi="9" he="18" />和当前时间段<img file="447669DEST_PATH_IMAGE013.GIF" wi="9" he="18" />需要启动的新节点数作为一个二元元素<img file="DEST_PATH_IMAGE016.GIF" wi="126" he="28" />加入集合<img file="DEST_PATH_IMAGE017.GIF" wi="28" he="26" />,将当前工作结点总数<img file="378716DEST_PATH_IMAGE014.GIF" wi="42" he="25" />设置为<img file="DEST_PATH_IMAGE018.GIF" wi="38" he="28" />,转入d;c:计算时间段<img file="DEST_PATH_IMAGE019.GIF" wi="30" he="20" />之后的连续<img file="DEST_PATH_IMAGE020.GIF" wi="18" he="18" />个时间段内分别所需的节点数,计算所得的<img file="572193DEST_PATH_IMAGE020.GIF" wi="18" he="18" />个结果都加入集合<img file="DEST_PATH_IMAGE021.GIF" wi="166" he="28" />,并与<img file="246888DEST_PATH_IMAGE010.GIF" wi="36" he="28" />进行比较,若<img file="770273DEST_PATH_IMAGE010.GIF" wi="36" he="28" />小于集合中的所有值,则表示确实可以进行节点休眠,找出<img file="DEST_PATH_IMAGE022.GIF" wi="84" he="28" />的最小值<img file="DEST_PATH_IMAGE023.GIF" wi="32" he="20" />,计算<img file="137801DEST_PATH_IMAGE013.GIF" wi="9" he="18" />时刻需要休眠的节点数<img file="DEST_PATH_IMAGE024.GIF" wi="77" he="25" />;将当前时间段<img file="317109DEST_PATH_IMAGE013.GIF" wi="9" he="18" />和当前时间段<img file="DEST_PATH_IMAGE025.GIF" wi="9" he="18" />需要休眠的节点数作为一个二元元素<img file="DEST_PATH_IMAGE026.GIF" wi="145" he="25" />加入集合<img file="DEST_PATH_IMAGE027.GIF" wi="21" he="26" />,转入d;d:判断当前时间段<img file="28451DEST_PATH_IMAGE013.GIF" wi="9" he="18" />是否小于<img file="671922DEST_PATH_IMAGE001.GIF" wi="22" he="18" />,如果是,使i=i+1,然后转入a;否则,转入e;e:假定热启动的预热时间为<img file="DEST_PATH_IMAGE028.GIF" wi="17" he="18" />,遍历热启动时间点集<img file="944771DEST_PATH_IMAGE006.GIF" wi="25" he="26" />,将第一维的值减<img file="673693DEST_PATH_IMAGE028.GIF" wi="17" he="18" />,使得<img file="690191DEST_PATH_IMAGE006.GIF" wi="25" he="26" />记录的是第j个应用服务需要热启动节点的实际启动时间。
地址 518055 广东省深圳市南山区西丽大学城学苑大道1068号