CN101943944B - 一种基于空闲历史信息的计算阵列节能方法 - Google Patents
一种基于空闲历史信息的计算阵列节能方法 Download PDFInfo
- Publication number
- CN101943944B CN101943944B CN2010102820774A CN201010282077A CN101943944B CN 101943944 B CN101943944 B CN 101943944B CN 2010102820774 A CN2010102820774 A CN 2010102820774A CN 201010282077 A CN201010282077 A CN 201010282077A CN 101943944 B CN101943944 B CN 101943944B
- Authority
- CN
- China
- Prior art keywords
- node
- idle
- consumption state
- time
- power consumption
- 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.)
- Expired - Fee Related
Links
Images
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
- Power Sources (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种基于空闲历史信息的计算阵列节能方法,目的是实现好的节能效果。技术方案是构造由能耗状态调节模块和能耗状态控制模块组成计算阵列节能系统,能耗状态调节模块构造计算结点的空闲历史信息队列,根据空闲历史信息设定计算结点进入S3休眠状态的时间点,将计算结点休眠的时间点传递给能耗控制模块。能耗状态控制模块根据能耗状态调节模块指定的时间点将空闲计算结点置于S3休眠状态,在已休眠计算结点被分配作业后唤醒计算结点。采用本发明能够有效控制计算结点的能耗状态切换次数,避免由于结点能耗状态频繁切换导致的系统不稳定,有效地实现计算阵列节能。
Description
技术领域
本发明涉及高性能计算系统计算阵列的节能方法。
背景技术
随着高性能计算系统技术的不断发展,新一代大规模并行计算系统的研制面临许多新的挑战。特别是随着系统性能的不断提升,规模越来越庞大,系统的能耗飞速增长,造成了大规模计算系统的能耗危机。系统能耗和系统性能的比值正成为高性能计算的主要评价指标之一。
高性能计算系统通常包括前端服务阵列、计算阵列、后端存储阵列三个组成部分。计算阵列由大量的计算结点组成,对外提供作业的执行服务。计算阵列作为高性能计算阵列的主要能耗部件,是能耗优化研究和工程设计的重点。目前常见的计算阵列节能方法包括:
1)限制可用结点数量的节能方法。根据计算系统的历史平均利用率P,关闭计算阵列中百分比为(1-P)的计算结点,达到节能的目的。该方法会增加作业的平均等待时间,降低用户满意度。此外该方法不能适应系统利用率频繁变化的用户环境。
2)定时休眠空闲结点的节能方法。管理员手工设定一个时间参数T。当计算结点空闲时间达到T后,将空闲结点置于S3休眠状态。S3休眠状态是ACPI(AdvancedConfiguration and Power Interface Specification)标准定义的计算系统的一种低功耗状态,相比开机状态能够节省90%-95%的能耗。广泛应用的slurm高性能资源管理系统即采用该手工设定时间参数T的节能方法。如果T参数的设定时间过短,则计算结点可能刚进入休眠状态,很快又被分配作业然后被唤醒,导致计算结点状态切换频繁,影响系统稳定性。如果T参数的设定时间过长,则计算结点空闲很长时间后才进入休眠状态,影响节能效果。
当前绝大多数计算结点生产厂商和通用操作系统均支持ACPI标准规定的S3休眠状态,为基于S3休眠状态的节能方法提供了支持。由于用户作业提交的不均衡特性和作业调度策略的部分保序特性,计算阵列运行过程中存在大量的空闲计算结点。如何对这些空闲的计算结点进行节能设计,是本领域技术人员极为关注的技术问题。
发明内容
本发明要解决的技术问题在于:针对高性能计算系统计算阵列的节能问题,提出一种基于空闲历史信息的计算结点节能方法,利用结点空闲时间的历史记录动态自适应地控制计算结点进入S3休眠状态,达到较好的节能效果,同时维持结点的能耗状态切换次数在一个可控的低水平。
为了解决上述技术问题,本发明的技术方案为:为每个计算结点建立一个独立的空闲历史信息队列,根据空闲历史信息队列对每个计算结点的能耗状态进行独立控制。每当计算结点上作业被释放时,结合管理员配置的结点能耗状态切换次数限制和空闲历史信息队列设定空闲结点进入S3休眠状态的时间点。结点从空闲状态切换到S3休眠状态、S3休眠状态切换到开机状态均算一次能耗状态切换。每当该计算结点从空闲状态加载作业或者S3休眠状态被重新唤醒然后加载作业时,将该次空闲的开始时间和空闲时间长度加入空闲历史信息队列。根据大量高性能计算系统的运行数据统计,结点的空闲时间长度具有相似性,根据结点的空闲历史规律预测结点未来的空闲时间长度具有较高的准确度,这奠定了本发明的理论基础。
具体技术方案为:
第一步,构造计算阵列节能系统。计算阵列节能系统是部署在高性能计算系统前端服务阵列中的服务器上的软件包,由能耗状态调节模块和能耗状态控制模块组成。能耗状态调节模块是节能优化决策模块,构造计算结点的空闲历史信息队列,根据空闲历史信息设定计算结点进入S3休眠状态的时间点,将计算结点休眠的时间点传递给能耗状态控制模块。能耗状态控制模块是节能优化实施模块,负责根据能耗状态调节模块指定的时间点将空闲计算结点置于S3休眠状态,在已休眠计算结点被分配作业后唤醒计算结点。
第二步,设定节能参数:历史信息队列的时间窗口HISTORY_WINDOW(单位为秒),其取值范围为7天到1个月,其取值决定了历史信息队列中保存的记录的时间约束;计算结点一天中允许能耗状态切换的次数SWITCHS_LIMIT,其取值范围为2到10次;结点从空闲状态进入S3休眠状态的最短时间限制MINI_SUSPEND_TIME,其取值范围为1到5分钟,避免过于频繁的结点能耗状态切换。
第三步,能耗状态调节模块构造空闲历史信息队列,根据空闲历史信息设定计算结点进入S3休眠状态的时间点。方法是:
3.1构造空闲历史信息队列hqueue。空闲历史信息队列的每条记录包括结点空闲开始时间戳S、结点本次空闲时间长度J。每当计算节点进入空闲状态时,记录当前时间为计算结点的空闲开始时间m。此后当计算结点被分配作业时,当前时间为n,则在空闲历史信息队列中增加一条记录,该记录的值S=m,J=n-m。空闲历史信息队列按照J的值从大到小排序,J值大的记录放在队列前面。
3.2定期检查hqueue队列中的记录项,删除S值小于T1(T1=当前时间-HISTORY_WINDOW)的过期历史记录。
3.3当计算结点上的作业全部结束时,能耗状态调节模块按以下方法动态设定允许该计算结点进入S3休眠状态的时间点SleepTime,达到节能目标。方法是:
3.3.1在该计算结点的hqueue队列中检索S值最小的记录,将该记录的S值记为earlist。当前系统时钟为now,则hqueue队列的时间跨度timewidth=now-earlist。
3.3.3从hqueue队列头开始检索前switchlimits条记录。如果hqueue队列中记录的总条数小于等于switchlimits,说明该计算结点历史空闲的次数低于允许的能耗状态切换限制,设定该计算结点进入休眠状态前的空闲时间长度为T2(T2=MINI_SUSPEND_TIME),则SleepTime=now+MINI_SUSPEND_TIME,转第四步。如果hqueue队列中记录的总条数大于switchlimits,转3.3.4。
3.3.4设定该计算结点进入休眠状态前的空闲时间长度为T3(T3=(hqueue[switchlimits].J+hqueue[switchlimits-1].J)/2,其中hqueue[x].J表示hqueue队列从队列头开始的第x条记录的结点空闲时间长度J值),则根据空闲历史信息队列可预测该结点的能耗状态切换次数不会超过switchlimits限制。据此可计算允许该结点进入S3休眠状态的时间点 其中为下取整操作。
第四步,能耗状态控制模块定期检测计算结点的状态,每当计算结点处于空闲状态而且当前时间超过计算结点能耗状态调节模块设定的休眠时间点SleepTime,则将该计算结点置于S3休眠状态。
第五步,高性能计算系统的资源分配软件负责分配用户作业所占用的计算结点,计算结点能耗状态控制模块检测到S3休眠状态的计算结点被分配作业后,调用操作系统提供的ACPI控制接口唤醒该结点。
与现有技术相比,采用本发明可达到以下技术效果:
1.本发明的第一步支持本发明具有较好的通用性,当前主流的计算结点厂商和操作系统厂商均支持S3休眠状态;
2.本发明的第二步和第三步支持本发明能够有效控制计算结点的能耗状态切换次数,避免由于结点能耗状态频繁切换导致的系统不稳定,甚至降低硬件的寿命;
3.本发明的第三步支持本发明能够根据系统历史运行状态自适应的调整结点的能耗状态,避免了人工干预,有效的实现计算阵列节能;
4.本方面的第四步支持本发明对应用透明,无需修改并行应用软件。
附图说明
图1为本发明的节能方法流程图。
具体实施方式
图1为本发明的节能方法流程图。第一步,构造计算阵列节能系统。计算阵列节能系统是部署在高性能计算系统前端服务阵列中的服务器上的软件包,由能耗状态调节模块和能耗状态控制模块组成。
第二步,设定节能参数:历史信息队列的时间窗口HISTORY_WINDOW(单位为秒),其取值范围为7天到1个月,其取值决定了历史信息队列中保存的记录的时间约束;计算结点一天中允许能耗状态切换的次数SWITCHS_LIMIT,其取值范围为2到10次;结点从空闲状态进入S3休眠状态的最短时间限制MINI_SUSPEND_TIME,其取值范围为1到5分钟,避免过于频繁的结点能耗状态切换。
第三步,能耗状态调节模块构造空闲历史信息队列,根据空闲历史信息设定计算结点进入S3休眠状态的时间点。方法是:
3.1构造空闲历史信息队列hqueue。空闲历史信息队列的每条记录包括结点空闲开始时间戳S、结点本次空闲时间长度J。每当计算节点进入空闲状态时,记录当前时间为计算结点的空闲开始时间m。此后当计算结点被分配作业时,当前时间为n,则在空闲历史信息队列中增加一条记录,该记录的值S=m,J=n-m。空闲历史信息队列按照J的值从大到小排序,J值大的记录放在队列前面。
3.2定期检查hqueue队列中的记录项,删除S值小于T1(T1=当前时间-HISTORY_WINDOW)的过期历史记录。
3.3当计算结点上的作业全部结束时,能耗状态调节模块按以下方法动态设定允许该计算结点进入S3休眠状态的时间点SleepTime,达到节能目标。方法是:
3.3.1在该计算结点的hqueue队列中检索S值最小的记录,将该记录的S值记为earlist。当前系统时钟为now,则hqueue队列的时间跨度timewidth=now-earlist。
3.3.3从hqueue队列头开始检索前switchlimits条记录。如果hqueue队列中记录的总条数小于等于switchlimits,设定该计算结点进入休眠状态前的空闲时间长度为T2(T2=MINI_SUSPEND_TIME),则SleepTime=now+MINI_SUSPEND_TIME,转第四步。如果hqueue队列中记录的总条数大于switchlimits,转3.3.4。
3.3.4设定该计算结点进入休眠状态前的空闲时间长度为T3(T3=(hqueue[switchlimits].J+hqueue[switchlimits-1].J)/2,其中hqueue[x].J表示hqueue队列从队列头开始的第x条记录的结点空闲时间长度J值),则根据空闲历史信息队列可预测该结点的能耗状态切换次数不会超过switchlimits限制。据此可计算允许该结点进入S3休眠状态的时间点 其中为下取整操作。
第四步,能耗状态控制模块定期检测计算结点的状态,每当计算结点处于空闲状态而且当前时间超过计算结点能耗状态调节模块设定的休眠时间点SleepTime,则将该计算结点置于S3休眠状态。
第五步,高性能计算系统的资源分配软件负责分配用户作业所占用的计算结点,计算结点能耗状态控制模块检测到S3休眠状态的计算结点被分配作业后,调用操作系统提供的ACPI控制接口唤醒该结点。
Claims (2)
1.一种基于空闲历史信息的计算阵列节能方法,其特征在于包括以下步骤:
第一步,构造计算阵列节能系统,计算阵列节能系统是部署在高性能计算系统前端服务阵列中的服务器上的软件包,由能耗状态调节模块和能耗状态控制模块组成;能耗状态调节模块是节能优化决策模块,构造计算结点的空闲历史信息队列,根据空闲历史信息设定计算结点进入S3休眠状态的时间点,将计算结点休眠的时间点传递给能耗状态控制模块;能耗状态控制模块是节能优化实施模块,负责根据能耗状态调节模块指定的时间点将空闲计算结点置于S3休眠状态,在已休眠计算结点被分配作业后唤醒计算结点;
第二步,设定节能参数:历史信息队列的时间窗口HISTORY_WINDOW,其取值决定了历史信息队列中保存的记录的时间约束;计算结点一天中允许能耗状态切换的次数SWITCHS_LIMIT;结点从空闲状态进入S3休眠状态的最短时间限制MINI_SUSPEND_TIME;
第三步,能耗状态调节模块构造空闲历史信息队列,根据空闲历史信息设定计算结点进入S3休眠状态的时间点,方法是:
3.1构造空闲历史信息队列hqueue,空闲历史信息队列的每条记录包括结点空闲开始时间戳S、结点本次空闲时间长度J;每当计算节点进入空闲状态时,记录当前时间为计算结点的空闲开始时间m;每当计算结点被分配作业时,当前时间为n,则在空闲历史信息队列中增加一条记录,该记录的值S=m,J=n-m;空闲历史信息队列按照J的值从大到小排序,J值大的记录放在队列前面;
3.2定期检查hqueue队列中的记录项,删除S值小于T1的过期历史记录,T1=当前时间-HISTORY_WINDOW;
3.3当计算结点上的作业全部结束时,能耗状态调节模块按以下方法动态设定允许该计算结点进入S3休眠状态的时间点SleepTime,达到节能目标,方法是:
3.3.1在该计算结点的hqueue队列中检索S值最小的记录,将该记录的S值记为earlist,当前系统时钟为now,则hqueue队列的时间跨度timewidth=now-earlist;
3.3.3从hqueue队列头开始检索前switchlimits条记录,如果hqueue队列中记录的总条数小于等于switchlimits,说明该计算结点历史空闲的次数低于允许的能耗状态切换限制,设定该计算结点进入休眠状态前的空闲时间长度为T2,T2=MINI_SUSPEND_TIME,则SleepTime=now+MINI_SUSPEND_TIME,转第四步,如果hqueue队列中记录的总条数大于switchlimits,转3.3.4;
3.3.4设定该计算结点进入休眠状态前的空闲时间长度为T3,T3=(hqueue[switchlimits].J+hqueue[switchlimits-1].J)/2,其中hqueue[x].J表示hqueue队列从队列头开始的第x条记录的结点空闲时间长度J值,则根据空闲历史信息队列可预测该结点的能耗状态切换次数不会超过switchlimits限制,据此计算允许该结点进入S3休眠状态的时间点
第四步,能耗状态控制模块定期检测计算结点的状态,每当计算结点处于空闲状态而且当前时间超过计算结点能耗状态调节模块设定的休眠时间点SleepTime,则将该计算结点置于S3休眠状态;
第五步,高性能计算系统的资源分配软件负责分配用户作业所占用的计算结点,计算结点能耗状态控制模块检测到S3休眠状态的计算结点被分配作业后,调用操作系统提供的ACPI控制接口唤醒该结点。
2.如权利要求1所述的基于空闲历史信息的计算阵列节能方法,其特征在于所述HISTORY_WINDOW取值范围为7天到1个月;SWITCHS_LIMIT取值范围为2到10次;MINI_SUSPEND_TIME其取值范围为1到5分钟。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102820774A CN101943944B (zh) | 2010-09-15 | 2010-09-15 | 一种基于空闲历史信息的计算阵列节能方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102820774A CN101943944B (zh) | 2010-09-15 | 2010-09-15 | 一种基于空闲历史信息的计算阵列节能方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101943944A CN101943944A (zh) | 2011-01-12 |
CN101943944B true CN101943944B (zh) | 2012-07-04 |
Family
ID=43435968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102820774A Expired - Fee Related CN101943944B (zh) | 2010-09-15 | 2010-09-15 | 一种基于空闲历史信息的计算阵列节能方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101943944B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105988550A (zh) * | 2015-01-30 | 2016-10-05 | 深圳会当科技有限公司 | 一种省电的休眠方法 |
CN104932884A (zh) * | 2015-06-11 | 2015-09-23 | 努比亚技术有限公司 | 一种提高大数据统计闲时计算效率的方法及装置 |
CN105242775B (zh) * | 2015-09-02 | 2018-05-08 | 小米科技有限责任公司 | 状态调整的方法及装置 |
CN115550082A (zh) * | 2021-06-29 | 2022-12-30 | 中兴通讯股份有限公司 | 节能架构及其控制方法、网络设备、计算机可读存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100365544C (zh) * | 2006-03-10 | 2008-01-30 | 浙江大学 | 嵌入式系统外部设备带有等待超时判断的节能切换方法 |
CN100416463C (zh) * | 2006-10-12 | 2008-09-03 | 浙江大学 | 面向嵌入式系统低功耗实时任务参数模型调度方法 |
CN101067758B (zh) * | 2007-06-14 | 2010-05-19 | 华南理工大学 | 一种嵌入式系统的能耗管理方法 |
CN101387971A (zh) * | 2008-09-26 | 2009-03-18 | 中兴通讯股份有限公司 | 一种嵌入式软件的任务调整方法和装置 |
-
2010
- 2010-09-15 CN CN2010102820774A patent/CN101943944B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101943944A (zh) | 2011-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8996895B2 (en) | Method, apparatus, and system for energy efficiency and energy conservation including optimizing C-state selection under variable wakeup rates | |
CN102929720B (zh) | 一种节能作业调度系统 | |
KR100544402B1 (ko) | 네트워크 프로세서 전력 관리 | |
CN102955549B (zh) | 一种多核cpu的电源管理方法、系统及cpu | |
KR100661851B1 (ko) | 플랫폼의 소비 전력 관리 방법 및 그 플랫폼 | |
US8041970B2 (en) | Cluster system with reduced power consumption and power management method thereof | |
Gu et al. | Energy efficient scheduling of servers with multi-sleep modes for cloud data center | |
CN104935460B (zh) | 一种基于数据面流量预测的多控制器节能优化方法 | |
CN103472904B (zh) | 一种智能调整多个定时器的方法和装置 | |
CN100501644C (zh) | 动态降低cpu功耗的方法 | |
CN101943944B (zh) | 一种基于空闲历史信息的计算阵列节能方法 | |
CN102622273A (zh) | 基于自学习负载预测的集群按需启动方法 | |
WO2016115956A1 (zh) | 基于云计算的业务系统的调度方法及调度装置 | |
Wang et al. | Powersleep: a smart power-saving scheme with sleep for servers under response time constraint | |
KR101770736B1 (ko) | 응용프로그램의 질의 스케쥴링을 이용한 시스템의 소모전력 절감 방법 및 그 방법을 이용하여 소모전력을 절감하는 휴대단말기 | |
CN103108039A (zh) | 一种低能耗集群环境下的服务质量保证方法 | |
CN101833366B (zh) | 一种机群作业管理系统中低功耗的动态结点控制方法 | |
TWI482009B (zh) | 伺服器節能管理系統及方法 | |
WO2017014786A1 (en) | Power management for electronic devices | |
Mostowfi et al. | An energy-delay model for a packet coalescer | |
Shih et al. | An adaptive hybrid dynamic power management algorithm for mobile devices | |
Herrería-Alonso et al. | Bounded energy consumption with dynamic packet coalescing | |
JP2008217628A (ja) | Cpuの省電力システム及び省電力方法 | |
CN101751113B (zh) | 服务器节能管理系统及方法 | |
CN104883725A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120704 Termination date: 20150915 |
|
EXPY | Termination of patent right or utility model |