JP6236996B2 - 情報処理装置および情報処理装置の制御方法 - Google Patents
情報処理装置および情報処理装置の制御方法 Download PDFInfo
- Publication number
- JP6236996B2 JP6236996B2 JP2013176974A JP2013176974A JP6236996B2 JP 6236996 B2 JP6236996 B2 JP 6236996B2 JP 2013176974 A JP2013176974 A JP 2013176974A JP 2013176974 A JP2013176974 A JP 2013176974A JP 6236996 B2 JP6236996 B2 JP 6236996B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- time
- unit
- information processing
- arithmetic processing
- 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
Images
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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30021—Compare instructions, e.g. Greater-Than, Equal-To, MINMAX
-
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4893—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
-
- 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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/522—Barrier synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- 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
Description
の高速化を図る並列コンピューティング技術が広く用いられている。このような並列コンピューティングシステムではプロセッサの接続方式に、複数のコンピュータをネットワークで接続した疎結合マルチプロセッサシステムや、プロセッサをバスレベルで結合した密結合マルチプロセッサシステムと呼ばれるものがある。また、同一チップ上に複数のプロセッサを集積したチップマルチプロセッサ(CMP)も実用化され普及に至っている。
させるようなDVFS(Dynamic Voltage and Frequency Scaling)技術や、複数あるプロセ
ッサの内の一部のプロセッサについてチップ全体の熱設計電力に余裕がある場合に定格動作周波数を超えて高速動作をさせるような技術(Intel Turbo Boost Technology)などが、市場に登場してきている。
演算処理装置と、前記複数の演算処理装置について共通に時間を計測する共通計時部と、前記複数の演算処理装置ごとにプログラムの実行時間を計測する個別計時部と、前記個別計時部による前記複数の演算処理装置のそれぞれのプログラムの実行時間と前記共通計時部による計測時間とを比較する比較部と、前記比較部による比較結果に基づき、前記複数の演算処理装置の処理を制御する制御部と、を備える。
本発明の実施の一態様である情報処理装置としてのコンピュータは、複数の演算処理装置としてのプロセッサを有する。また、情報処理装置が実行する1まとまりの処理の単位をタスクと呼ぶことにする。情報処理装置は、タスクをさらにスレッドと呼ばれる複数の処理単位に分割する。本実施例においては、処理単位をスレッドとするが、プログラム、プロセス等であってもよい。情報処理装置は、分割したスレッドを、各プロセッサに割り当てる。各プロセッサは、他のプロセッサとのスレッドの実行時間差を低減するため、自身のプロセッサのクロック周波数および電圧値を制御して、処理を促進させたり抑制させたりする。具体的には、各プロセッサは、スレッドの処理時間を計測し、処理が遅れている場合には処理を促進させる。一方、各プロセッサは、処理が進んでいる場合には処理を抑制させる。上記の処理速度の制御を一定間隔で行うことにより、各プロセッサ間のスレッドの実行時間差を低減させることができる。
実施例1では、複数のプロセッサは、それぞれの処理環境でのスレッドの実行時間を、情報処理装置1において共通に時間を計測するグローバルタイマーによる計測時間と比較することにより、自身のプロセッサの処理が遅れているか否かを判断する。各プロセッサは、自身の処理が遅れていると判断した場合には、処理を促進させる。
図1は、情報処理装置1のハードウェア構成の一例を示す図である。図1において、情
報処理装置1は、主記憶2、メモリバス3、メインクロック供給回路4、グローバルタイムレジスタ5、ローカルタイムレジスタ6a、6b、6c、プロセッサ7a、7b、7c、電力供給回路8a、8b、8c、クロック供給回路9a、9b、9c、クロック制御レジスタ10a、10b、10cおよび電圧制御レジスタ11a、11b、11cを備える。
Access Memory)のような半導体メモリである。メモリバス3は、主記憶2とプロセッサ7との間の信号線で、データやアドレス等の信号をやりとりするために用いられる。メインクロック供給回路4は、複数のプロセッサから共通に参照できるメインクロックの時刻を供給する。
図2は、実施例1における情報処理装置1の機能ブロック図である。図2において、試
情報処理装置1は、主記憶2、グローバルタイマー50、プロセッサ7a、7b、7c、電源供給部80a、80b、80c、およびクロック供給部90a、90b、90cを有する。
図3は、実施例1におけるプロセッサの実行制御処理手順の一例を示すフローチャートである。ステップS11において、プロセッサ7は、ローカルタイマー60が計測するローカルタイムと、グローバルタイマー50が計測するグローバルタイムとを比較する。
実施例2では、複数のプロセッサは、それぞれの処理環境でのスレッドの実行時間を、他のプロセッサの処理環境でのスレッドの実行時間と比較することにより、自身のプロセッサの処理が進んでいるか否かを判断する。各プロセッサは、自身の処理が進んでいると判断した場合には、処理を抑制させる。
実施例2における、情報処理装置1のハードウェア構成は、実施例1と同様であるため、その説明を省略する。
図4は、実施例2における情報処理装置の機能ブロック図である。図4において、情報処理装置1は、グローバルタイマー50を有しない点を除いて実施例1と同様であるため、その説明を省略する。なお、実施例2において、プロセッサ7は、他のプロセッサが有するローカルタイマー60が計測するローカルタイムを参照することができるものとする。
図5は、実施例2におけるプロセッサの実行制御処理手順の一例を示すフローチャートである。
0が計測するローカルタイムと、他のプロセッサ7のローカルタイマー60が計測するローカルタイムとを比較する。例えば、プロセッサ7aは、ローカルタイマー60aが計測するローカルタイムと、他のプロセッサ7bのローカルタイマー60bが計測するローカルタイムとを比較する。また、プロセッサ7aは、ローカルタイマー60aが計測するローカルタイムと、他のプロセッサ7cのローカルタイマー60cが計測するローカルタイムとを比較する。
2 主記憶
3 メモリバス
4 メインクロック供給回路
5 グローバルタイムレジスタ
6a、6b、6c ローカルタイムレジスタ
7a、7b、7c プロセッサ
8a、8b、8c 電力供給回路
9a、9b、9c クロック供給回路
10a、10b、10c クロック制御レジスタ
11a、11b、11c 電圧制御レジスタ
21 比較部
22 制御部
50 グローバルタイマー
60a、60b、60c ローカルタイマー
80a、80b、80c 電源供給部
90a、90b、90c クロック供給部
Claims (2)
- 複数の演算処理装置と、
前記複数の演算処理装置について共通に時間を計測する共通計時部と、
前記複数の演算処理装置ごとにプログラムの実行時間を計測する個別計時部と、
前記個別計時部による前記複数の演算処理装置のそれぞれのプログラムの実行時間と前記共通計時部による計測時間とを比較する比較部と、
前記比較部による比較結果に基づき、前記複数の演算処理装置の処理を制御する制御部と、を備え、
前記制御部は、
前記比較部による比較結果に基づき、前記複数の演算処理装置のうち、前記共通計時部による計測時間よりも、個別計時部によるプログラムの実行時間が小さい演算処理装置の処理を促進させる、
情報処理装置。 - 複数の演算処理装置と、前記複数の演算処理装置について共通に時間を計測する共通計時部と、前記複数の演算処理装置ごとにプログラムの実行時間を計測する個別計時部とを有する情報処理装置の制御方法において、
前記情報処理装置が有する比較する比較部が、前記個別計時部による前記複数の演算処理装置のそれぞれのプログラムの実行時間と前記共通計時部による計測時間と比較し、
前記比較部による比較結果に基づき、前記情報処理装置が有する制御部が、前記複数の演算処理装置の処理を制御し、
前記制御では、
前記制御部が、前記比較部による比較結果に基づき、前記複数の演算処理装置のうち、前記共通計時部による計測時間よりも、個別計時部によるプログラムの実行時間が小さい演算処理装置の処理を促進させる、
情報処理装置の制御方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013176974A JP6236996B2 (ja) | 2013-08-28 | 2013-08-28 | 情報処理装置および情報処理装置の制御方法 |
EP14177385.3A EP2860628A3 (en) | 2013-08-28 | 2014-07-17 | Information processing apparatus and method of controlling information processing apparatus |
US14/446,386 US9841973B2 (en) | 2013-08-28 | 2014-07-30 | Information processing apparatus and method of controlling information processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013176974A JP6236996B2 (ja) | 2013-08-28 | 2013-08-28 | 情報処理装置および情報処理装置の制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015046020A JP2015046020A (ja) | 2015-03-12 |
JP6236996B2 true JP6236996B2 (ja) | 2017-11-29 |
Family
ID=51260584
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013176974A Active JP6236996B2 (ja) | 2013-08-28 | 2013-08-28 | 情報処理装置および情報処理装置の制御方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9841973B2 (ja) |
EP (1) | EP2860628A3 (ja) |
JP (1) | JP6236996B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107479983B (zh) * | 2017-07-11 | 2021-04-20 | 核动力运行研究所 | 基于时域控制技术的变步长多程序同步计算系统及方法 |
WO2021015794A1 (en) * | 2019-07-25 | 2021-01-28 | Hewlett-Packard Development Company, L.P. | Power supplies to variable performance electronic components |
US11429910B1 (en) | 2021-08-05 | 2022-08-30 | Transit Labs Inc. | Dynamic scheduling of driver breaks in a ride-sharing service |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4228496A (en) * | 1976-09-07 | 1980-10-14 | Tandem Computers Incorporated | Multiprocessor system |
JPH11134804A (ja) | 1997-10-31 | 1999-05-21 | Toshiba Corp | 映像音声同期システム |
DE10059270B4 (de) | 2000-11-29 | 2012-08-02 | Heidelberger Druckmaschinen Ag | Vorrichtung und Verfahren zur Synchronisation von an mehreren Einheiten ablaufende Prozesse |
JP2006172229A (ja) * | 2004-12-16 | 2006-06-29 | Nec Corp | タスクの動作制御方法、タスクの動作制御システムおよびプログラム |
US8108863B2 (en) * | 2005-12-30 | 2012-01-31 | Intel Corporation | Load balancing for multi-threaded applications via asymmetric power throttling |
WO2007132424A2 (en) * | 2006-05-17 | 2007-11-22 | Nxp B.V. | Multi-processing system and a method of executing a plurality of data processing tasks |
WO2007141849A1 (ja) * | 2006-06-07 | 2007-12-13 | Hitachi, Ltd. | 半導体集積回路 |
JP4308241B2 (ja) * | 2006-11-10 | 2009-08-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ジョブ実行方法、ジョブ実行システム及びジョブ実行プログラム |
US7930574B2 (en) * | 2007-12-31 | 2011-04-19 | Intel Corporation | Thread migration to improve power efficiency in a parallel processing environment |
EP2437170A4 (en) * | 2009-05-25 | 2013-03-13 | Panasonic Corp | MULTIPROCESSOR SYSTEM, MULTIPROCESSOR CONTROL METHOD AND INTEGRATED MULTIPROCESSOR CIRCUIT |
KR20120053857A (ko) * | 2010-11-18 | 2012-05-29 | 한국전자통신연구원 | 응용프로그램의 응답 시간 제어 장치 및 그 방법 |
US8972767B2 (en) * | 2012-11-16 | 2015-03-03 | Oracle International Corporation | Method and apparatus for synchronizing the time reference of a dynamically activated processor to the system time reference |
-
2013
- 2013-08-28 JP JP2013176974A patent/JP6236996B2/ja active Active
-
2014
- 2014-07-17 EP EP14177385.3A patent/EP2860628A3/en not_active Withdrawn
- 2014-07-30 US US14/446,386 patent/US9841973B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015046020A (ja) | 2015-03-12 |
US20150067304A1 (en) | 2015-03-05 |
US9841973B2 (en) | 2017-12-12 |
EP2860628A2 (en) | 2015-04-15 |
EP2860628A3 (en) | 2016-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10649935B2 (en) | Deferred inter-processor interrupts | |
US8190863B2 (en) | Apparatus and method for heterogeneous chip multiprocessors via resource allocation and restriction | |
US7389440B2 (en) | Method, system, and apparatus for improving multi-core processor performance | |
US7565563B2 (en) | Non-volatile memory arrangement and method in a multiprocessor device | |
US9164931B2 (en) | Clamping of dynamic capacitance for graphics | |
US10176014B2 (en) | System and method for multithreaded processing | |
WO2007103051A2 (en) | Method and apparatus for using dynamic workload characteristics to control cpu frequency and voltage scaling | |
TWI564810B (zh) | 多核心處理器之晶粒內差異特性化技術 | |
WO2011116841A1 (en) | Power management in a multi-processor computer system | |
JP7160941B2 (ja) | アクセラレータ要求を処理する際の中央処理装置の処理品質保証の実施 | |
JP6236996B2 (ja) | 情報処理装置および情報処理装置の制御方法 | |
CN110941325A (zh) | 处理器的调频方法及装置、计算设备 | |
TW201314433A (zh) | 伺服器系統及其電源管理方法 | |
EP2972660A1 (en) | Controlling power supply unit power consumption during idle state | |
US9785463B2 (en) | Using per task time slice information to improve dynamic performance state selection | |
US9507645B2 (en) | Thread processing method for using a multi-core processor and systems therefor | |
JP2014021786A (ja) | コンピュータ・システム | |
JP2004512614A (ja) | オペレーティングシステムサポートのために一定の時間基準を用いるマルチモード電力管理システムのハードウェアアーキテクチャ | |
CN108009121B (zh) | 面向应用的动态多核配置方法 | |
EP2800007B1 (en) | Apparatus and method for adjusting memory bandwidth | |
JP2009070389A (ja) | 処理装置のためのコントローラ | |
US9043507B2 (en) | Information processing system | |
US9213585B2 (en) | Controlling sprinting for thermal capacity boosted systems | |
JP2013120417A (ja) | データ処理装置およびその制御方法 | |
Kuo | Ratio-based aggressive reclaim algorithm for mixed task sets |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160510 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170314 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170321 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170522 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20170627 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170830 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20170908 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20171003 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171016 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6236996 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |