JP6236996B2 - 情報処理装置および情報処理装置の制御方法 - Google Patents

情報処理装置および情報処理装置の制御方法 Download PDF

Info

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
Application number
JP2013176974A
Other languages
English (en)
Other versions
JP2015046020A (ja
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013176974A priority Critical patent/JP6236996B2/ja
Priority to EP14177385.3A priority patent/EP2860628A3/en
Priority to US14/446,386 priority patent/US9841973B2/en
Publication of JP2015046020A publication Critical patent/JP2015046020A/ja
Application granted granted Critical
Publication of JP6236996B2 publication Critical patent/JP6236996B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30021Compare instructions, e.g. Greater-Than, Equal-To, MINMAX
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
    • 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/522Barrier synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Description

本発明は、情報処理装置、および情報処理装置の制御方法に関する。
近年、複数の演算処理装置としてのプロセッサを用いて、1つのタスクを分散して処理
の高速化を図る並列コンピューティング技術が広く用いられている。このような並列コンピューティングシステムではプロセッサの接続方式に、複数のコンピュータをネットワークで接続した疎結合マルチプロセッサシステムや、プロセッサをバスレベルで結合した密結合マルチプロセッサシステムと呼ばれるものがある。また、同一チップ上に複数のプロセッサを集積したチップマルチプロセッサ(CMP)も実用化され普及に至っている。
また、CMPにおいて、プロセッサ毎にそのクロック周波数や電圧を動的に変更して動作
させるようなDVFS(Dynamic Voltage and Frequency Scaling)技術や、複数あるプロセ
ッサの内の一部のプロセッサについてチップ全体の熱設計電力に余裕がある場合に定格動作周波数を超えて高速動作をさせるような技術(Intel Turbo Boost Technology)などが、市場に登場してきている。
ここで、あるタスクを並列コンピューティングシステムで処理する際には、例えば、オペレーティングシステム(OS)が、まず、タスクを適当な処理単位に分割する。処理単位としてはプログラム、プロセス、スレッド等が考えられる。タスクがスレッドに分割されたとすると、このタスクは分割されたスレッドを複数のプロセッサに割り当て、並列に処理を行う。そして、タスクは各プロセッサでの処理が完了するのを待ち、次の処理へ移っていく。なお、タスク等が各プロセッサでの処理が完了するのを待つことを、同期をとる、ともいう。このように、複数のプロセッサがスレッド等の処理を並列して行う分散処理の方法によって、並列コンピューティングシステムは高速に処理を行うことができる。
特開平11−134804号公報 特開2002−258980号公報
前述の並列処理の方法では、処理効率の観点から各プロセッサに割り当てた処理が、極力時間差なく完了することが望ましい。しかし、各プロセッサに均等に処理が割り当てられたとしても、プロセッサ間の通信、メモリ帯域の不均衡、キャッシュミス、オペレーティングシステムの処理などの要因により遅延が生じるため、すべてのプロセッサでの処理が同時に終了することはほとんどない。各プロセッサでの処理の完了に時間差が生じると、同期を待つ時間が増加するため、全体の処理性能が低下する。従って、各プロセッサでの処理の完了に時間差が生じない、または少ないことが望まれている。
そこで、本発明の一態様は、複数のプロセッサで実行されるスレッドの実行時間差の低減、即ち同期待ち時間の低減を行い、並列コンピューティングシステム全体の処理性能を向上させることを目的とする。
実施の形態の一側面は、情報処理装置によって例示される。本情報処理装置は、複数の
演算処理装置と、前記複数の演算処理装置について共通に時間を計測する共通計時部と、前記複数の演算処理装置ごとにプログラムの実行時間を計測する個別計時部と、前記個別計時部による前記複数の演算処理装置のそれぞれのプログラムの実行時間と前記共通計時部による計測時間とを比較する比較部と、前記比較部による比較結果に基づき、前記複数の演算処理装置の処理を制御する制御部と、を備える。
開示の技術によれば、複数のプロセッサで実行されるスレッドの実行時間差の低減、即ち同期待ち時間の低減を行い、並列コンピューティングシステム全体の処理性能を向上させることができる。
情報処理装置のハードウェア構成の一例を示す図である。 実施例1における情報処理装置の機能ブロック図である。 実施例1におけるプロセッサの実行制御処理手順の一例を示すフローチャートである。 実施例2における情報処理装置の機能ブロック図である。 実施例2におけるプロセッサの実行制御処理手順の一例を示すフローチャートである。
以下、図面に基づいて、本発明の実施の形態を説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
<発明の概要>
本発明の実施の一態様である情報処理装置としてのコンピュータは、複数の演算処理装置としてのプロセッサを有する。また、情報処理装置が実行する1まとまりの処理の単位をタスクと呼ぶことにする。情報処理装置は、タスクをさらにスレッドと呼ばれる複数の処理単位に分割する。本実施例においては、処理単位をスレッドとするが、プログラム、プロセス等であってもよい。情報処理装置は、分割したスレッドを、各プロセッサに割り当てる。各プロセッサは、他のプロセッサとのスレッドの実行時間差を低減するため、自身のプロセッサのクロック周波数および電圧値を制御して、処理を促進させたり抑制させたりする。具体的には、各プロセッサは、スレッドの処理時間を計測し、処理が遅れている場合には処理を促進させる。一方、各プロセッサは、処理が進んでいる場合には処理を抑制させる。上記の処理速度の制御を一定間隔で行うことにより、各プロセッサ間のスレッドの実行時間差を低減させることができる。
なお、本発明の実施に係る並列コンピューティングシステムにおいて、複数のプロセッサは、情報処理装置においてバスレベルで結合される場合に限られない。複数のプロセッサが、ネットワークで接続した複数のコンピュータに含まれる場合や、同一チップ上に含まれる場合のような並列コンピューティングシステムであってもよい。
[実施例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を備える。
ローカルタイムレジスタ6a、6b、6cを総称する場合には、ローカルタイムレジスタ6という。また、プロセッサ7a、7b、7cを総称する場合には、プロセッサ7という。電力供給回路8a、8b、8cを総称する場合には、電力供給回路8という。クロック供給回路9a、9b、9cを総称する場合には、クロック供給回路9という。クロック制御レジスタ10a、10b、10cを総称する場合には、クロック制御レジスタ10という。電圧制御レジスタ11a、11b、11cを総称する場合には、電圧制御レジスタ11という。
なお、各プロセッサ7は、特定のローカルタイムレジスタ6、電力供給回路8、クロック供給回路9、クロック制御レジスタ10および電圧制御レジスタ11を使用して処理を行う。すなわち、プロセッサ7aは、ローカルタイムレジスタ6a、電力供給回路8a、クロック供給回路9a、クロック制御レジスタ10aおよび電圧制御レジスタ11aを使用する。また、プロセッサ7bは、ローカルタイムレジスタ6b、電力供給回路8b、クロック供給回路9b、クロック制御レジスタ10bおよび電圧制御レジスタ11bを使用する。プロセッサ7cは、ローカルタイムレジスタ6c、電力供給回路8c、クロック供給回路9c、クロック制御レジスタ10cおよび電圧制御レジスタ11cを使用する。
主記憶2は、プロセッサ7に、プログラムをロードする記憶領域および作業領域を提供したり、バッファとして用いられたりする。主記憶2は、例えば、RAM(Random
Access Memory)のような半導体メモリである。メモリバス3は、主記憶2とプロセッサ7との間の信号線で、データやアドレス等の信号をやりとりするために用いられる。メインクロック供給回路4は、複数のプロセッサから共通に参照できるメインクロックの時刻を供給する。
グローバルタイムレジスタ5は、タスクの開始時点から、メインクロックの時刻を計数し、タスクの開始時点からの経過時間を、グローバルタイムとして記憶する。ローカルタイムレジスタ6は、プロセッサ7が実行するスレッドの実行時間を計測し、ローカルタイムとして記憶する。
プロセッサ7は、情報処理装置1により割り当てられたスレッドを実行する。電力供給回路8は、プロセッサ7に電力を供給し、プロセッサ7を駆動する。クロック供給回路9は、プロセッサ7から参照できるクロックの時刻を供給する。クロック制御レジスタ10は、プロセッサ7が指定したクロック周波数を記憶する。電圧制御レジスタ11は、プロセッサ7が指定した電圧値を記憶する。
なお、図1では、それぞれ3つのローカルタイムレジスタ6、プロセッサ7、電力供給回路8、クロック供給回路9、クロック制御レジスタ10および電圧制御レジスタ11が例示されているが、いずれも数に限定がある訳ではない。情報処理装置1は、複数のプロセッサ7を有し、各プロセッサ7はそれぞれにローカルタイムレジスタ6、電力供給回路8、クロック供給回路9、クロック制御レジスタ10および電圧制御レジスタ11を有していればよい。
<情報処理装置の機能ブロック>
図2は、実施例1における情報処理装置1の機能ブロック図である。図2において、試
情報処理装置1は、主記憶2、グローバルタイマー50、プロセッサ7a、7b、7c、電源供給部80a、80b、80c、およびクロック供給部90a、90b、90cを有する。
グローバルタイマー50は、複数のプロセッサについて共通に時間を計測する共通計時部である。グローバルタイマー50は、タスクの開始時点から、メインクロックの時刻を計数し、タスクの開始時点からの経過時間を、グローバルタイムとして計測する。グローバルタイムは、複数のプロセッサから共通に参照することができる。
プロセッサ7aは、個々のプロセッサについての実行時間を計測する個別計時部であるローカルタイマー60aを有する。また、プロセッサ7bは、ローカルタイマー60bを有する。プロセッサ7cは、ローカルタイマー60cを有する。ローカルタイマー60a、60b、60cを総称する場合には、ローカルタイマー60という。なお、図2では、3つのプロセッサ7が例示されているが、数に限定がある訳ではない。情報処理装置1は、複数のプロセッサ7を有し、各プロセッサは、それぞれのローカルタイマー60を有していればよい。
ローカルタイマー60は、プロセッサ7のそれぞれの処理環境でのスレッドの実行時間を、ローカルタイムとして計測する。ローカルタイマー60は、以下のいずれかの方法によって、ローカルタイムを計測する。第1の方法では、ローカルタイマー60は、スレッドの実行開始時点でメインクロックの計数を開始し、OS処理やIO処理中はメインクロックの計数を停止することで、スレッドの実行時間を計測する。第2の方法では、ローカルタイマー60は、スレッドの実行開始時点からの実行時間を、独自に計測する。
電源供給部80aは、プロセッサ7aに電力を供給する。また、電源供給部80bは、プロセッサ7bに電力を供給する。電源供給部80cは、プロセッサ7cに電力を供給する。電源供給部80a、80b、80cを総称する場合には、電源供給部80という。なお、情報処理装置1は、プロセッサ7と同数の電源供給部80を有する。各プロセッサ7は、独自の電源供給部から電力供給を受ける。
クロック供給部90aは、プロセッサ7aにクロックを供給する。また、クロック供給部90bは、プロセッサ7bにクロックを供給する。クロック供給部90cは、プロセッサ7cにクロックを供給する。クロック供給部90a、90b、90cを総称する場合には、クロック供給部90という。なお、情報処理装置1は、プロセッサ7と同数のクロック供給部90を有する。各プロセッサ7は、独自のクロック供給部からクロック供給を受ける。
主記憶2は、比較部21および制御部22として機能するプログラムモジュールを格納する。プログラムモジュールは、サブプログラムなどとも呼ばれる。但し、比較部21および制御部22のいずれかを、ハードウェア回路、専用LSI等で実現してもよい。
比較部21は、グローバルタイマー50が計測するグローバルタイムと、ローカルタイマー60が計測するローカルタイムとを比較する。制御部22は、ローカルタイムがグローバルタイムより小さい場合に、処理が遅延しているプロセッサ7のクロック周波数および電圧値を制御して、処理を促進させる。
<処理フロー>
図3は、実施例1におけるプロセッサの実行制御処理手順の一例を示すフローチャートである。ステップS11において、プロセッサ7は、ローカルタイマー60が計測するローカルタイムと、グローバルタイマー50が計測するグローバルタイムとを比較する。
ステップS12において、プロセッサ7は、ステップS11の比較により、自身のプロセッサ7の処理が、一定時間遅れているか否かを判定する。プロセッサ7は、自身のプロセッサ7の処理が一定時間遅れている場合にはステップS13に、遅れていない場合にはステップS11に戻る。
ステップS13において、プロセッサ7は、自身のプロセッサのクロック周波数および電圧値の少なくとも一方を制御して、処理を促進させる。例えば、プロセッサ7は、クロック供給部90を制御して、クロックを所定値に増加させる。具体的には、プロセッサ7は、図示しないレジスタに設定されるクロック周波数の設定値を増加させる。クロック周波数の増加値に限定があるわけではない。例えば、プロセッサ7は、クロック周波数を固定値(Δf)増加させてもよい。また、プロセッサ7は、所定比R(1<R)により、クロック周波数fをf×Rに増加してもよい。プロセッサ7は、所定値Δfまたは所定比Rを、図示しないレジスタまたは主記憶2にパラメータとして保持しておけばよい。また、例えば、プロセッサ7は、電源電圧が可変の情報処理装置において、電源電圧を増加すればよい。例えば、プロセッサ7は、電源電圧を可変範囲での最大値としてもよい。
ステップS14において、プロセッサ7は、各プロセッサでの処理がすべて完了したか否かを判定する。プロセッサ7は、各プロセッサでの処理がすべて完了していない場合には、ステップS11に戻る。プロセッサ7は、各プロセッサでの処理がすべて完了した場合には、プロセッサの実行制御処理を終了する。
プロセッサ7は、自身のプロセッサが実行するスレッドの処理時間が、グローバルタイムと比較して一定時間遅れている場合には、処理を促進させる。その結果、複数のプロセッサにより処理を行う並列コンピューティングシステムにおいて、性能向上の阻害要因であったスレッド間での同期待ち時間が減少する。同期待ち時間の減少により、情報処理装置1は、並列コンピューティングシステム全体の処理性能を向上させることができる。
[実施例2]
実施例2では、複数のプロセッサは、それぞれの処理環境でのスレッドの実行時間を、他のプロセッサの処理環境でのスレッドの実行時間と比較することにより、自身のプロセッサの処理が進んでいるか否かを判断する。各プロセッサは、自身の処理が進んでいると判断した場合には、処理を抑制させる。
<ハードウェア構成>
実施例2における、情報処理装置1のハードウェア構成は、実施例1と同様であるため、その説明を省略する。
<情報処理装置の機能ブロック>
図4は、実施例2における情報処理装置の機能ブロック図である。図4において、情報処理装置1は、グローバルタイマー50を有しない点を除いて実施例1と同様であるため、その説明を省略する。なお、実施例2において、プロセッサ7は、他のプロセッサが有するローカルタイマー60が計測するローカルタイムを参照することができるものとする。
<処理フロー>
図5は、実施例2におけるプロセッサの実行制御処理手順の一例を示すフローチャートである。
ステップS21において、プロセッサ7は、自身のプロセッサ7のローカルタイマー6
0が計測するローカルタイムと、他のプロセッサ7のローカルタイマー60が計測するローカルタイムとを比較する。例えば、プロセッサ7aは、ローカルタイマー60aが計測するローカルタイムと、他のプロセッサ7bのローカルタイマー60bが計測するローカルタイムとを比較する。また、プロセッサ7aは、ローカルタイマー60aが計測するローカルタイムと、他のプロセッサ7cのローカルタイマー60cが計測するローカルタイムとを比較する。
ステップS22において、プロセッサ7は、ステップS21の比較により、自身のプロセッサの処理が、自身のローカルタイマー60bが計測するローカルタイムが、他のプロセッサのローカルタイマー60bが計測するローカルタイムよりも大きいことにより、他のプロセッサの処理と比べて一定時間進んでいるか否かを判定する。プロセッサ7は、自身のプロセッサ7の処理が一定時間進んでいる場合にはステップS23に、遅れていない場合にはステップS21に戻る。
ステップS23において、プロセッサ7は、自身のプロセッサのクロック周波数および電圧値の少なくとも一方を制御して、処理を抑制させる。例えば、プロセッサ7は、クロック供給部90を制御して、クロックを所定値に減少させる。また、例えば、プロセッサ7は、電源電圧が可変の情報処理装置において、電源電圧を減少すればよい。例えば、プロセッサ7は、電源電圧を可変範囲での最小値としてもよい。
ステップS24において、プロセッサ7は、各プロセッサでの処理がすべて完了したか否かを判定する。プロセッサ7は、各プロセッサでの処理がすべて完了していない場合には、ステップS21に戻る。プロセッサ7は、各プロセッサでの処理がすべて完了した場合には、プロセッサの実行制御処理を終了する。
プロセッサ7は、自身のプロセッサが実行するスレッドの処理時間が、他のプロセッサのローカルタイムと比較して大きい場合には、処理を抑制させる。遅れが生じた他のプロセッサに合わせて処理を抑制させるため、プロセッサ7は、クロック周波数を下げる。その結果、並列コンピューティングシステム全体の消費電力を低減することができる。
1 情報処理装置
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)

  1. 複数の演算処理装置と、
    前記複数の演算処理装置について共通に時間を計測する共通計時部と、
    前記複数の演算処理装置ごとにプログラムの実行時間を計測する個別計時部と、
    前記個別計時部による前記複数の演算処理装置のそれぞれのプログラムの実行時間と前記共通計時部による計測時間とを比較する比較部と、
    前記比較部による比較結果に基づき、前記複数の演算処理装置の処理を制御する制御部と、を備え、
    前記制御部は、
    前記比較部による比較結果に基づき、前記複数の演算処理装置のうち、前記共通計時部による計測時間よりも、個別計時部によるプログラムの実行時間が小さい演算処理装置の処理を促進させる、
    情報処理装置。
  2. 複数の演算処理装置と、前記複数の演算処理装置について共通に時間を計測する共通計時部と、前記複数の演算処理装置ごとにプログラムの実行時間を計測する個別計時部とを有する情報処理装置の制御方法において、
    前記情報処理装置が有する比較する比較部が、前記個別計時部による前記複数の演算処理装置のそれぞれのプログラムの実行時間と前記共通計時部による計測時間と比較し、
    前記比較部による比較結果に基づき、前記情報処理装置が有する制御部が、前記複数の演算処理装置の処理を制御し、
    前記制御では、
    前記制御部が、前記比較部による比較結果に基づき、前記複数の演算処理装置のうち、前記共通計時部による計測時間よりも、個別計時部によるプログラムの実行時間が小さい演算処理装置の処理を促進させる、
    情報処理装置の制御方法。
JP2013176974A 2013-08-28 2013-08-28 情報処理装置および情報処理装置の制御方法 Active JP6236996B2 (ja)

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)

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

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

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