CN106843815B - 片上多处理器系统多线程同时运行的优化方法 - Google Patents

片上多处理器系统多线程同时运行的优化方法 Download PDF

Info

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
Application number
CN201710037875.2A
Other languages
English (en)
Other versions
CN106843815A (zh
Inventor
陈哲
牟江
王坚
李桓
李玉柏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201710037875.2A priority Critical patent/CN106843815B/zh
Publication of CN106843815A publication Critical patent/CN106843815A/zh
Application granted granted Critical
Publication of CN106843815B publication Critical patent/CN106843815B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction 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所述的片上多处理器系统多线程同时运行的优化方法,其特征在于,当前动态电压频率缩放等级的功率为当前动态电压频率缩放等级的平均功率。
CN201710037875.2A 2017-01-18 2017-01-18 片上多处理器系统多线程同时运行的优化方法 Active CN106843815B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101655137B1 (ko) * 2012-02-04 2016-09-07 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 칩 멀티프로세서에서 코어-수준 동적 전압과 주파수 스케일링
WO2016090642A1 (zh) * 2014-12-12 2016-06-16 上海兆芯集成电路有限公司 动态电压频率调整系统及其方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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