CN106843815B - 片上多处理器系统多线程同时运行的优化方法 - Google Patents
片上多处理器系统多线程同时运行的优化方法 Download PDFInfo
- Publication number
- CN106843815B CN106843815B CN201710037875.2A CN201710037875A CN106843815B CN 106843815 B CN106843815 B CN 106843815B CN 201710037875 A CN201710037875 A CN 201710037875A CN 106843815 B CN106843815 B CN 106843815B
- Authority
- CN
- China
- Prior art keywords
- multithreading
- dynamic voltage
- zoom level
- processor system
- run simultaneously
- 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
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000005457 optimization Methods 0.000 title claims abstract description 13
- 238000013461 design Methods 0.000 claims abstract description 26
- 230000017525 heat dissipation Effects 0.000 claims abstract description 21
- 238000011156 evaluation Methods 0.000 claims description 2
- 230000009192 sprinting Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 6
- 238000001816 cooling Methods 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
本发明公开了片上多处理器系统多线程同时运行的优化方法,该方法包括获取片上多处理器系统散热设计功耗所在的动态电压频率缩放等级;当散热设计功耗大于其所在动态电压频率缩放等级的最小功率时,获取片上多处理器系统当前尝试多线程同时运行的频率值;计算当前尝试多线程同时运行的频率值与散热设计功耗之间的差异;当差异大于预设精度时,采用当前尝试多线程同时运行的频率值与预设步长的累计值更新当前尝试多线程同时运行的频率值;当差异小于等于预设精度时,输出当前尝试多线程同时运行的频率值作为片上多处理器系统多线程同时运行的频率。
Description
技术领域
本发明涉及多处理器技术领域,具体涉及片上多处理器系统多线程同时运行的优化方法。
背景技术
随着计算机技术的发展,CMP(片上多处理器)凭借其强大的并行处理能力,逐渐成为主流,而CMP的并行处理能力,也随着集成核心数量的增加而逐渐提高。然而,核心数量的增加也带来了问题:假如同时激活CMP的所有核心,可能会使CMP系统的整体功耗超过TDP(散热设计功耗),此时系统的发热量,已经超出散热系统可以承载的范围,若不进行冷却,温度会进一步升高,对CMP造成损害。
为了提高CMP内部程序的响应速度,有研究者提出了短时sprinting(多线程同时运行)方案和sprint-and-rest(这是一种周期性的sprinting模式,假如sprinting阶段,系统以超过TDP的状态运行,那么在温度到达系统能够容忍的上限后,便转为冷却状态,待冷却一定时间后,又重复之前的sprinting过程)方案,短时sprinting这种模式根据sprinting频率的不同,运算性能会优于或者劣于单核/单线程模式。
针对sprint-and-rest,采用4核1.6G的sprinting模式与4核3.2G的sprinting模式进行分析,发现1.6G的表现优于单线程,而3.2G的表现弱于单线程。所以,对于sprint-and-rest模式,并不是sprinting频率越高越好,较低的频率配合较长的时间反而可以有更优秀的性能。
发明内容
针对现有技术中的上述不足,本发明提供的片上多处理器系统多线程同时运行的优化方法通过获取的最佳运行频率能够使片上多处理器拥有持续强大的并行处理能力。
为了达到上述发明目的,本发明采用的技术方案为:
提供一种片上多处理器系统多线程同时运行的优化方法,其包括以下步骤:
获取片上多处理器系统散热设计功耗所在的动态电压频率缩放等级;
当散热设计功耗大于其所在动态电压频率缩放等级的最小功率时,获取片上多处理器系统当前尝试多线程同时运行的频率值;
计算当前尝试多线程同时运行的频率值与散热设计功耗之间的差异;
当差异大于预设精度时,采用当前尝试多线程同时运行的频率值与预设步长的累计值更新当前尝试多线程同时运行的频率值;
当差异小于等于预设精度时,输出当前尝试多线程同时运行的频率值作为片上多处理器系统多线程同时运行的频率。
本发明的有益效果为:采用本方案的方法能够在预设精度下,准确获取CMP的所有核心长时间拥有强大的并行处理能力的最佳频率,CMP的所有核心在最佳频率下运行时,其温度不会超过所设定的上限温度,整个系统可以持续不断地运行,具有最佳的每秒执行指令数。
附图说明
图1为片上多处理器系统多线程同时运行的优化方法一个实施例的流程图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
图1示出了片上多处理器系统多线程同时运行的优化方法一个实施例的流程图。如图1所示,该优化方法100包括步骤101至步骤105。
在步骤101中,获取片上多处理器系统散热设计功耗所在的动态电压频率缩放等级;在获取之前,首先需要输入预先设定的动态电压频率缩放等级,并将搜索的初始等级设为1。
在本发明的一个实施例中,获取片上多处理器系统散热设计功耗所在的动态电压频率缩放等级进一步包括:
获取预先设定的所有动态电压频率缩放等级;
判断当前动态电压频率缩放等级的功率是否大于等于散热设计功耗:
若是,则片上多处理器系统的散热设计功耗位于当前动态电压频率缩放等级(DVFS等级);
否则,判断当前动态电压频率缩放等级的下一个动态电压频率缩放等级与散热设计功耗的大小关系。
实施时,本方案优选当前动态电压频率缩放等级的功率为当前动态电压频率缩放等级的平均功率。
在步骤102中,当散热设计功耗大于其所在动态电压频率缩放等级的最小功率时,获取片上多处理器系统当前尝试多线程同时运行的频率值。
其中当前尝试多线程同时运行的频率值的初始值可以设置为散热设计功耗所在的动态电压频率缩放等级内的最小功率,也可以设置为在该等级下的最小功率加一固定频率步长。
当散热设计功耗大于其所在动态电压频率缩放等级的最小功率时,则表明片上多处理器系统在动态电压频率缩放等级内最大功率与最小功率区间内能够找到使片上多处理器拥有持续强大的并行处理能力的最佳功率。
在步骤103中,计算当前尝试多线程同时运行的频率值与散热设计功耗之间的差异。
在步骤104中,当差异大于预设精度时,采用当前尝试多线程同时运行的频率值与预设步长的累计值更新当前尝试多线程同时运行的频率值。
在本发明的一个实施例中,更新当前尝试多线程同时运行的频率值时,还包括:
记录当前尝试多线程同时运行时的差异和上一次尝试多线程同时运行时的差异;
当当前尝试多线程同时运行时的差异与上一次尝试多线程同时运行时的差异的正负符号互异(其中一个为正数,另一个为负数)时,则表明不能寻找到使片上多处理器拥有持续强大的并行处理能力的最佳功率。
为了规避这种情况,本方案将当前步长按预设的比例缩小,以减小搜索范围,提高搜索精度,从而逼近要寻找的最佳功率。其中,预设步长的初始值为一个大于零的常数。
实施时,本方案优选当散热设计功耗小于等于其所在动态电压频率缩放等级的最小功率时,输出散热设计功耗所在动态电压频率缩放等级的上一个动态电压频率缩放等级的最高频率作为片上多处理器系统多线程同时运行的频率。
在步骤105中,当差异小于等于预设精度时,输出当前尝试多线程同时运行的频率值作为片上多处理器系统多线程同时运行的频率。
实施例
下面使用sniper,hotspot以及mcpat作为联合仿真平台,在多种电压/频率下进行实验:
实验设置的上限温度为80摄氏度,下限温度为50摄氏度,TDP值约为42W。CMP在sprinting模式下的温度到达上限后,便切换为rest模式,待温度冷却至下限温度后,再次切换为sprinting模式。在如表1所示的实验条件进行实验,实验统计数据见表2,其中,Inf表示当前电压/频率下,CMP可以持续运行。表2前五行是本方案预先设定的DVFS等级下运行得到的统计数据,最后一行是在寻找到的最佳的频率或电压情况下,运行的统计数据。
表1实验条件
参数 | 配置 |
核心数量 | 64 |
一级指令缓存(私有) | 64KB |
一级数据缓存(私有) | 64KB |
二级缓存(私有) | 64KB |
末级缓存(共享) | 16MB |
互联方式 | NoC |
工艺 | 22nm |
表2实验统计数据
可以看出,在最佳频率下,CMP可以持续运行,且此时每秒执行指令数优于其余DVFS等级下的每秒执行指令数。
Claims (5)
1.片上多处理器系统多线程同时运行的优化方法,其特征在于,包括以下步骤:
获取片上多处理器系统散热设计功耗所在的动态电压频率缩放等级;
当散热设计功耗大于其所在动态电压频率缩放等级的最小功率时,获取片上多处理器系统当前尝试多线程同时运行的频率值;
计算当前尝试多线程同时运行的频率值与散热设计功耗之间的差异;
当所述差异大于预设精度时,采用当前尝试多线程同时运行的频率值与预设步长的累计值更新当前尝试多线程同时运行的频率值;
当所述差异小于等于预设精度时,输出当前尝试多线程同时运行的频率值作为片上多处理器系统多线程同时运行的频率。
2.根据权利要求1所述的片上多处理器系统多线程同时运行的优化方法,其特征在于,更新所述当前尝试多线程同时运行的频率值时,还包括:
记录当前尝试多线程同时运行时的差异和上一次尝试多线程同时运行时的差异;
当当前尝试多线程同时运行时的差异与上一次尝试多线程同时运行时的差异的正负符号互异时,将当前步长按预设的比例缩小。
3.根据权利要求1所述的片上多处理器系统多线程同时运行的优化方法,其特征在于,当散热设计功耗小于等于其所在动态电压频率缩放等级的最小功率时,输出散热设计功耗所在动态电压频率缩放等级的上一个动态电压频率缩放等级的最高频率作为片上多处理器系统多线程同时运行的频率。
4.根据权利要求1-3任一所述的片上多处理器系统多线程同时运行的优化方法,其特征在于,所述获取片上多处理器系统散热设计功耗所在的动态电压频率缩放等级进一步包括:
获取预先设定的所有动态电压频率缩放等级;
判断当前动态电压频率缩放等级的功率是否大于等于散热设计功耗:
若是,则片上多处理器系统的散热设计功耗位于当前动态电压频率缩放等级;
否则,判断当前动态电压频率缩放等级的下一个动态电压频率缩放等级与散热设计功耗的大小关系。
5.根据权利要求4所述的片上多处理器系统多线程同时运行的优化方法,其特征在于,当前动态电压频率缩放等级的功率为当前动态电压频率缩放等级的平均功率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710037875.2A CN106843815B (zh) | 2017-01-18 | 2017-01-18 | 片上多处理器系统多线程同时运行的优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710037875.2A CN106843815B (zh) | 2017-01-18 | 2017-01-18 | 片上多处理器系统多线程同时运行的优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106843815A CN106843815A (zh) | 2017-06-13 |
CN106843815B true CN106843815B (zh) | 2019-02-19 |
Family
ID=59124541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710037875.2A Active CN106843815B (zh) | 2017-01-18 | 2017-01-18 | 片上多处理器系统多线程同时运行的优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106843815B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108563949B (zh) * | 2018-04-16 | 2021-06-22 | 电子科技大学 | 针对多核处理器信息安全的任务映射方法 |
CN111242943B (zh) * | 2020-01-22 | 2022-10-28 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、图像处理设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102708007A (zh) * | 2012-04-06 | 2012-10-03 | 沈阳航空航天大学 | 片上多线程计算机系统中线程性能预测和控制方法 |
US20130191541A1 (en) * | 2012-01-20 | 2013-07-25 | Microsoft Corporation | Background task resource control |
CN104866379A (zh) * | 2014-02-24 | 2015-08-26 | 中兴通讯股份有限公司 | 一种多核处理器调度方法、装置及终端 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101655137B1 (ko) * | 2012-02-04 | 2016-09-07 | 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 | 칩 멀티프로세서에서 코어-수준 동적 전압과 주파수 스케일링 |
WO2016090642A1 (zh) * | 2014-12-12 | 2016-06-16 | 上海兆芯集成电路有限公司 | 动态电压频率调整系统及其方法 |
-
2017
- 2017-01-18 CN CN201710037875.2A patent/CN106843815B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130191541A1 (en) * | 2012-01-20 | 2013-07-25 | Microsoft Corporation | Background task resource control |
CN102708007A (zh) * | 2012-04-06 | 2012-10-03 | 沈阳航空航天大学 | 片上多线程计算机系统中线程性能预测和控制方法 |
CN104866379A (zh) * | 2014-02-24 | 2015-08-26 | 中兴通讯股份有限公司 | 一种多核处理器调度方法、装置及终端 |
Non-Patent Citations (1)
Title |
---|
多处理器的节能调度算法;桑楠;《电子科技大学学报》;20080130;第116-119页 * |
Also Published As
Publication number | Publication date |
---|---|
CN106843815A (zh) | 2017-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lee et al. | Optimizing throughput of power-and thermal-constrained multicore processors using DVFS and per-core power-gating | |
US9189047B2 (en) | Organizing databases for energy efficiency | |
CN108780349B (zh) | 用于在具有异构集群架构的片上系统中进行智能热管理的系统和方法 | |
Marathe et al. | An empirical survey of performance and energy efficiency variation on intel processors | |
CN106170742A (zh) | 多处理器片上系统中的能效感知热管理 | |
US7941426B2 (en) | Optimizing database queries | |
US9552046B2 (en) | Performance management methods for electronic devices with multiple central processing units | |
US8612781B2 (en) | Method and apparatus for application of power density multipliers optimally in a multicore system | |
US20060095913A1 (en) | Temperature-based thread scheduling | |
US20150046685A1 (en) | Intelligent Multicore Control For Optimal Performance Per Watt | |
KR20160099587A (ko) | 증가된 동작 수명 및 최대화된 성능을 위한 멀티-코어 시스템 설계들의 실행시간 최적화 | |
WO2012036918A1 (en) | Mechanism for controlling power consumption in a processing node | |
US8312007B2 (en) | Generating database query plans | |
JP6236572B2 (ja) | マルチプロセッサシステムにおける動的周波数スケーリング | |
CN105830035A (zh) | 多核动态工作负荷管理 | |
CN106843815B (zh) | 片上多处理器系统多线程同时运行的优化方法 | |
US10539986B2 (en) | Semiconductor device, operating condition controlling method, and non-transitory computer readable medium | |
Catena et al. | Load-sensitive cpu power management for web search engines | |
CN105654120B (zh) | 一种基于SOM和K-means两阶段聚类的软件负载特征提取方法 | |
Mahajan et al. | Energy efficiency analysis of query optimizations on MongoDB and Cassandra | |
Wu et al. | Hardware partitioning for big data analytics | |
WO2017016359A1 (zh) | 运算资源的控制方法、装置和计算机存储介质 | |
Choi et al. | Analyzing the energy efficiency of the fast multipole method using a DVFS-aware energy model | |
KR101682985B1 (ko) | 우선순위 기반 지능형 플랫폼 패시브 열 관리 | |
CN105868016B (zh) | 一种避免多核处理器局部过热的线程转移分配方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |