JP5411587B2 - マルチスレッド実行装置、マルチスレッド実行方法 - Google Patents
マルチスレッド実行装置、マルチスレッド実行方法 Download PDFInfo
- Publication number
- JP5411587B2 JP5411587B2 JP2009138327A JP2009138327A JP5411587B2 JP 5411587 B2 JP5411587 B2 JP 5411587B2 JP 2009138327 A JP2009138327 A JP 2009138327A JP 2009138327 A JP2009138327 A JP 2009138327A JP 5411587 B2 JP5411587 B2 JP 5411587B2
- Authority
- JP
- Japan
- Prior art keywords
- execution
- instruction
- thread
- target
- program
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Description
図3は、マルチスレッド実行装置100の概略構成図の一例を示す。始めにマルチスレッド実行装置100が、プログラムの実行回数を動的に最適化する手順の概略を説明する。
(1)アプリ実行プロファイル又は標準プロファイル(以下、両者を区別しない場合、「ターゲットプロファイル」という)を用意する。
(2)実行状況監視装置14が、各プログラム毎に(ハードウェア・マルチスレッド毎に)、単位時間毎の命令実行完了数又は単位処理毎の実行サイクル数をカウントする。
(3)スケジュールフィードバック装置12が、ターゲットプロファイルと命令実行完了数又は単位処理の実行サイクル数を比較して、プログラム毎に、スレッドスケジュール装置11にスケジュールパラメータをフィードバックする。
(4)スレッドスケジュール装置11は、スケジュールパラメータに応じて各プログラムの命令の発行比率を制御する。これにより、スレッドスケジュール装置11は、ターゲットプロファイルと略一致するように各プログラムの命令発行比率を調整する。
マルチスレッド実行装置100はプロセッサ50と、プロセッサ50と接続されたアプリ実行プロファイル記憶部60又は標準プロファイル記憶部70と、を有する。アプリ実行プロファイル記憶部60又は標準プロファイル記憶部70はいずれか一方があればよいが、両方を備えていてもよい。両方を備える場合、スケジュールフィードバック装置12は、どちらからターゲットプロファイルを読み出すかを選択できる。例えば、あるプログラムはエミュレート対象CPUでアプリ実行プロファイルが取得できたが、別のプログラムは取得できなかった場合、スケジュールフィードバック装置12は、プログラムに応じて読み出すターゲットプロファイルを切り替える。アプリ実行プロファイル記憶部60又は標準プロファイル記憶部70は、例えばフラッシュメモリ等の不揮発メモリを実体とする。両者を別体に設ける必要はなく、また、プロセッサ50内に搭載されていてもよい。
図4は、実行状況監視装置14の概略構成図の一例を示す。実行状況監視装置14は、実行状況監視部141とカウンタ部142を有する。単位時間当たりの命令実行完了数又は単位処理の実行サイクル数は、いずれも広い意味で命令の実行速度を表すものである。単位時間当たりの命令実行完了数は、エミュレート対象CPUとvCPU#0〜#2の命令セットアーキテクチャ(ISA)が同一の場合に、単位処理の実行サイクル数はISAが異なる場合に、それぞれスケジュールフィードバック装置12がスケジュールパラメータを生成するために用いられる。
まず、単位時間毎の命令実行完了数のカウントについて説明する。パイプライン制御回路13は、1つの命令をパイプライン処理の各ステージに遷移させながら、回路やレジスタにデータを送出する。したがって、1つの命令が実行完了したこと(例えば、レジスタファイル16へのライトバック時)は、パイプライン制御回路13にとって既知である。また、どのスレッドの命令を実行完了したかは、スレッドスケジュール装置11や切り替えスイッチ19の状態から明らかとなる。パイプライン制御回路13は、1つの命令が実行完了すると命令実行完了情報を実行状況監視装置14に出力する。具体的には、パイプライン制御回路13と実行状況監視装置14がスレッドの数だけ信号線で接続されており、パイプライン制御回路13は実行完了したスレッドに対応した信号線にHigh信号を出力する。
単位処理の実行サイクル数のカウントについて説明する。単位処理とは、例えば一連の処理をまとめた関数である。例えばC言語では「関数名〜{Return;}」が1つの単位処理である。プロセッサ50がコンパイルされたオブジェクトコードを実行する場合、コンパイルにより、オブジェクトコードには、関数の始まり・終わりにそれぞれスタックポインタの初期化・後処理する所定のコードが記述される。パイプライン制御回路13は、命令デコーダ18から、これら関数の始まりを示すコードと終わり示すコードを検出するとHigh信号を実行状況監視装置14に出力する。
図5は、スケジュールフィードバック装置12の概略構成図の一例を示す。スケジュールフィードバック装置12は、フィードバック値生成部121とターゲットパラメータ保存部122を有する。
図6は、ターゲットプロファイルを模式的に説明する図の一例である。図6(a)はエミュレート対象CPU#0〜#2の演算量(広い意味での処理負荷)を示す。時間と共に演算量が変動し、エミュレート対象CPU#0〜#2によって変動態様も異なることが示されている。プログラム#0〜2を移植する際は、エミュレート対象CPU#0〜#2が実行していたプログラム#0〜#2を、処理能力の高いvCPU#0〜#2に実行させることが多い。
まず、アプリ実行プロファイルについて説明する。アプリ実行プロファイルも、単位時間当たりの命令実行完了数と単位処理の実行サイクル数のいずれかの場合がある。これらの取得には、実行状況監視装置14が単位時間当たりの命令実行完了数又は単位処理の実行サイクル数をカウントした方法と同様の方法を利用すればよい。
アプリ実行プロファイルが、エミュレート対象CPUがプログラム#0〜#2を実行した際の実測値であるのに対し、標準プロファイルは人為的又は機械的に設定されたターゲットプロファイルである。例えば、エミュレート対象CPUでは、単位時間当たりの命令実行完了数又は単位処理の実行サイクル数のカウントが困難な場合、スケジュールフィードバック装置12は標準プロファイルを利用する。
エミュレート対象CPUとvCPU#0〜#2のISAが同一の場合、フィードバック値生成部121には、実行状況監視装置14から単位時間毎の命令実行完了数が与えられ、ISAが異なる場合、単位処理の実行サイクル数が与えられる。
図8(a)は目標IPCの算出手順の一例を示す図である。図示するように、
目標IPC= エミュレート対象CPUのIPC(ターゲットプロファイル値) ÷ エミュレート対象CPUの動作周波数とvCPUの動作周波数の比 … (1)
エミュレート対象CPUのIPCは、図7(a)のターゲットプロファイルから読み出したIPCである。また、一般にはプロセッサ50が新しいほど(プロセスルールが微細であるほど)動作周波数が大きくなるため、エミュレート対象CPUの動作周波数とvCPU#0〜#2の動作周波数の比は1以上となることが多い。以上から、エミュレート対象CPUのIPCが例えば「0.8」であり、エミュレート対象CPUの動作周波数とvCPU#0〜#2の動作周波数の比が「2」の場合、目標IPCは「0.4」となる。フィードバック値生成部121は、時刻Tnが経過する毎に、式(1)の算出を実行する。なお、これに対しスケジュールパラメータは動作クロック毎にスレッドスケジュール装置11に送出される。
図8(b)は目標実行サイクル数の算出手順の一例を示す図である。図示するように、
目標実行サイクル数= エミュレート対象CPUの単位処理の実行サイクル数(ターゲットプロファイル値) × エミュレート対象CPUの動作周波数とvCPUの動作周波数の比 … (2)
エミュレート対象CPUの単位処理の実行サイクル数は、図7(b)のターゲットプロファイルから読み出した単位処理の実行サイクル数である。エミュレート対象CPUの単位処理の実行サイクル数が例えば「100」であり、エミュレート対象CPUの動作周波数とvCPU#0〜#2の動作周波数の比が「2」の場合、目標実行サイクル数は「200」となる。フィードバック値生成部121は、時刻Tnが経過する毎に、式(2)の算出を実行する。なお、スケジュールパラメータは動作クロック毎に送出される。
スレッドスケジューリングについて説明する。1つのスレッド内でより小さい粒度のタスクについてスケジューリングする場合があるが、本実施形態では、スレッド#0〜#2間のスケジューリングについて説明する。スレッドスケジューリングは、命令デコーダ18にどの命令バッファ#0〜2を接続するか(切り替えスイッチ19の切り替え先を決定する)と同等である。
(P1)ハードウェア割り込み
(P2)スケジュールパラメータ
(P3)スレッド内部要因
ハードウェア割り込みは、スレッドに関係するセンサや電源等に異常が検出された場合や、ユーザ操作が入力された場合に、スレッドに優先的に命令を供給する状況が生じることを言う。スレッド内部要因は、入出力待ち、他のスレッドの処理待ち、ハザード、等の発生と解消により、スレッドへの命令の供給停止・再開が生じることをいう。
スケジュールパラメータが正値の場合:直前の割り当て時間を「α+スケジュールパラメータ」倍する。
スケジュールパラメータが負値の場合:直前の割り当て時間を「1/(α+スケジュールパラメータの絶対値)」倍する。αはスケジュールパラメータに重み付けするパラメータであり、例えば「α=0.5(0<α<1)」である。
(i) スケジュールパラメータの絶対値が最も大きいスレッドの割り当て時間を制御する。
(ii)次にスケジュールパラメータの絶対値が大きいスレッドの割り当て時間を制御する。
(iii)これをくりかえして、全てのスケジュールパラメータをゼロに近づける。
図13は、マルチスレッド実行装置100が命令の発行比率を動的に最適化する手順を示すフローチャート図の一例を示す。図13のフローチャート図は、マルチスレッド実行装置100が起動するとスタートする。起動直後、スレッドスケジュール装置11は初期値の命令の発行比率にて命令バッファ#0〜#2と命令デコーダ18を接続している。この間、実行状況監視装置14はカウンタ値をカウントしている。
・スケジュールパラメータが正値の場合、スレッド#0〜#2の割り当て時間を長くし(S60)、
・スケジュールパラメータが「0」の場合、スレッド#0〜#2の割り当て時間を制御せず(S70)、
・スケジュールパラメータが負値の場合、スレッド#0〜#2の割り当て時間を短くする(S80)。」
・シングルスレッド実行装置100
マルチスレッド実行装置100が複数のスレッドを有することを前提に説明したが、マルチスレッド実行装置100が1つのみのスレッドを有していてもよい。
図14は、マルチスレッド実行装置100の概略構成図の一例を示す。図14において図3と同一部には同一の符号を付しその説明は省略する。スレッド#0が1つの場合、命令バッファ及びレジスタファイル16も1つになる。また、スレッドスケジュールが不要なので、スレッドスケジュール装置11の代わりに、命令発行制御回路24が命令バッファ17に接続されている。命令発行制御回路24は、スケジュールパラメータに応じて、命令バッファ17に命令をフェッチするタイミングを制御する。すなわち、スケジュールパラメータが負値の場合、スケジュールパラメータの絶対値に応じて、例えば、パイプラインにストールを発生させたりNOP命令を挿入する。こうすることで、単位時間毎の命令実行完了数を低下させ、又は、単位処理の実行サイクル数を増大させ、エミュレート対象CPUの実行タイミングを再現できる。また、スケジュールパラメータが正値の場合、スケジュールパラメータの大きさに応じて、ストール又はNOP命令に対する命令フェッチの比率を大きくする。こうすることで、単位時間毎の命令実行完了数を増大させ、又は、単位処理の実行サイクル数を低下させ、エミュレート対象CPUの実行タイミングを再現できる。
また、本実施形態では、スレッドスケジュール装置11がスレッド#0〜#2毎にカウンタ値とターゲットプロファイル値を比較して、スレッド#0〜#2毎にスケジュールパラメータを生成したが、スレッド間の命令実行比率に基づきスケジュールパラメータを生成してもよい。
また、スレッドスケジュール装置11はフィードバック制御により、スレッドスケジュールするとしたが、フィードフォワード制御を加えてもよい。
図16は、スレッドスケジューリングの制御系を模式的に示す図の一例である。スレッドスケジュール装置11にフィードフォワード装置25が接続されている。フィードフォワード装置25は、外乱を検出して検出結果をスレッドスケジュール装置11に送出する。スレッドスケジュール装置11は、スケジュールフィードバック装置12から取得したスケジュールパラメータに、外濫を考慮して各スレッドの割り当て時間を制御する。外濫は、例えば、ハードウェア割り込み、ハザード等、命令実行に影響を及ぼすイベントであり、予め登録されている。パイプライン制御回路13はこのイベントを検出してスレッドスケジュール装置11に通知する。スレッドスケジュール装置11は、イベントの種類に応じてイベントを発生させたスレッド#0〜#2のスケジュールパラメータを補正する。このように外濫を考慮することで、vCPU#0〜#2が実行するプログラム#0〜#2の、ターゲットプロファイルへの追随性を向上させることができる。
12 スケジュールフィードバック装置
13 パイプライン制御回路
14 実行状況監視装置
15 演算回路
16 レジスタファイル
17 命令バッファ
18 命令デコーダ
19、21 切り替えスイッチ
50 プロセッサ
60 アプリ実行プロファイル記憶部
100 マルチスレッド実行装置
Claims (11)
- 複数のプログラムが記憶されたプログラム記憶手段と、
前記プログラム記憶手段から読み出した命令を発行する命令発行手段と、
前記命令を実行する命令実行手段と、を有するマルチスレッド実行装置であって、
前記プログラム毎に、命令の目標実行速度情報を記憶する目標実行速度情報記憶手段と、
命令の実行完了速度を監視する実行速度監視手段と、
前記実行完了速度が前記目標実行速度情報に略一致するように、前記命令発行手段に命令を発行させるフィードバック制御手段と、を有し、
前記フィードバック制御手段は、
前記実行完了速度と前記目標実行速度情報との乖離が大きい前記プログラムから順に、前記実行完了速度が前記目標実行速度情報に略一致するように、前記命令発行手段に命令を発行させる、ことを特徴とするマルチスレッド実行装置。 - 複数のプログラムが記憶されたプログラム記憶手段と、
前記プログラム記憶手段から読み出した命令を発行する命令発行手段と、
前記命令を実行する命令実行手段と、を有するマルチスレッド実行装置であって、
前記プログラム毎に、命令の目標実行速度情報を記憶する目標実行速度情報記憶手段と、
命令の実行完了速度を監視する実行速度監視手段と、
前記実行完了速度が前記目標実行速度情報に略一致するように、前記命令発行手段に命令を発行させるフィードバック制御手段と、を有し、
前記フィードバック制御手段は、
前記プログラム毎の前記目標実行速度情報から求めたスレッド間目標実行比率に、前記実行完了速度から求めたスレッド間の実行比率が略一致するように、前記命令発行手段に命令を発行させる、ことを特徴とするマルチスレッド実行装置。 - 複数のプログラムが記憶されたプログラム記憶手段と、
前記プログラム記憶手段から読み出した命令を発行する命令発行手段と、
前記命令を実行する命令実行手段と、を有するマルチスレッド実行装置であって、
前記プログラム毎に、所定のCPUで実行された際の時間に対する演算量が当該マルチスレッド実行装置で再現されるように作成された命令の目標実行速度情報を記憶する目標実行速度情報記憶手段と、
命令の実行完了速度を監視する実行速度監視手段と、
前記実行完了速度が前記目標実行速度情報に略一致するように、前記命令発行手段に命令を発行させるフィードバック制御手段と、
を有することを特徴とするマルチスレッド実行装置。 - 前記目標実行速度情報は、命令の単位時間当たりの目標実行完了数情報を有し、
前記実行速度監視手段は、命令の単位時間当たりの実行完了数を監視し、
前記フィードバック制御手段は、前記目標実行完了数情報と、前記実行完了数との差が小さくなるように、前記命令発行手段に命令を発行させる、
ことを特徴とする請求項1〜3いずれか1項記載のマルチスレッド実行装置。 - 前記目標実行完了数情報は、所定のCPUが前記プログラムを実行した際の、単位時間当たりの命令の実行完了数、又は、
所定のCPUの仕様及び前記プログラムの含む命令から、統計的に求めた単位時間当たりの命令の実行完了数である、
ことを特徴とする請求項4記載のマルチスレッド実行装置。 - 前記目標実行速度情報は、プログラムの単位処理当たりの目標実行サイクル数情報を有し、
前記実行速度監視手段は、プログラムの単位処理当たりの実行サイクル数を監視し、
前記フィードバック制御手段は、前記目標実行サイクル数情報と、前記実行サイクル数との差が小さくなるように、前記命令発行手段に命令を発行させる、
ことを特徴とする請求項1〜3いずれか1項記載のマルチスレッド実行装置。 - 前記目標実行サイクル数情報は、所定のCPUが前記プログラムを実行した際の単位処理の実行サイクル数、又は、所定のCPUの仕様及び前記プログラムの含む命令から、統計的に求めた前記プログラムの単位処理の実行サイクル数である、
ことを特徴とする請求項6記載のマルチスレッド実行装置。 - 前記目標実行完了数情報は、
所定のCPUと当該マルチスレッド実行装置のCPUの動作周波数の比で補正したものである、
ことを特徴とする請求項5記載のマルチスレッド実行装置。 - 前記目標実行速度情報は、所定の基準時から計測開始される前記プログラムの実行時間に対応づけられている、
ことを特徴とする請求項1〜8いずれか1項記載のマルチスレッド実行装置。 - 前記命令発行手段は、予め定められた複数の前記プログラムの優先順位に従い、前記実行完了速度を前記目標実行速度情報に略一致させる前記プログラムを決定する、
ことを特徴とする請求項1〜9いずれか1項記載のマルチスレッド実行装置。 - 複数のスレッドを切り替えて実行するマルチスレッド実行方法であって、
複数のプログラムが記憶されたプログラム記憶手段から、命令を読み出すステップと
命令発行手段が、読み出した命令を発行するステップと、
命令実行手段が、前記命令を実行するステップと、
実行速度監視手段が、命令の実行完了速度を監視するステップと、
前記プログラム毎に、命令の目標実行速度情報を記憶する目標実行速度情報記憶手段から読み出した前記目標実行速度情報に、前記実行完了速度が略一致するように、フィードバック制御手段が、前記命令発行手段に命令を発行させるステップと、を有し、
前記フィードバック制御手段は、前記実行完了速度と前記目標実行速度情報との乖離が大きい前記プログラムから順に、前記実行完了速度が前記目標実行速度情報に略一致するように、前記命令発行手段に命令を発行させる、
ことを特徴とするマルチスレッド実行方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009138327A JP5411587B2 (ja) | 2009-06-09 | 2009-06-09 | マルチスレッド実行装置、マルチスレッド実行方法 |
| US12/783,958 US8560812B2 (en) | 2009-06-09 | 2010-05-20 | Device for executing an instruction using a target execution speed |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009138327A JP5411587B2 (ja) | 2009-06-09 | 2009-06-09 | マルチスレッド実行装置、マルチスレッド実行方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2010286898A JP2010286898A (ja) | 2010-12-24 |
| JP5411587B2 true JP5411587B2 (ja) | 2014-02-12 |
Family
ID=43301584
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2009138327A Expired - Fee Related JP5411587B2 (ja) | 2009-06-09 | 2009-06-09 | マルチスレッド実行装置、マルチスレッド実行方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US8560812B2 (ja) |
| JP (1) | JP5411587B2 (ja) |
Families Citing this family (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9182923B2 (en) | 2010-08-31 | 2015-11-10 | Nec Corporation | Controlling throughput of processing units associated with different load types in storage system |
| WO2013008325A1 (ja) * | 2011-07-13 | 2013-01-17 | 富士通株式会社 | マルチコアプロセッサシステム、および制御方法 |
| US9411591B2 (en) | 2012-03-16 | 2016-08-09 | International Business Machines Corporation | Run-time instrumentation sampling in transactional-execution mode |
| US9454462B2 (en) | 2012-03-16 | 2016-09-27 | International Business Machines Corporation | Run-time instrumentation monitoring for processor characteristic changes |
| US9280447B2 (en) | 2012-03-16 | 2016-03-08 | International Business Machines Corporation | Modifying run-time-instrumentation controls from a lesser-privileged state |
| US9442824B2 (en) | 2012-03-16 | 2016-09-13 | International Business Machines Corporation | Transformation of a program-event-recording event into a run-time instrumentation event |
| US9250902B2 (en) | 2012-03-16 | 2016-02-02 | International Business Machines Corporation | Determining the status of run-time-instrumentation controls |
| US9483268B2 (en) | 2012-03-16 | 2016-11-01 | International Business Machines Corporation | Hardware based run-time instrumentation facility for managed run-times |
| US9367316B2 (en) | 2012-03-16 | 2016-06-14 | International Business Machines Corporation | Run-time instrumentation indirect sampling by instruction operation code |
| US9465716B2 (en) * | 2012-03-16 | 2016-10-11 | International Business Machines Corporation | Run-time instrumentation directed sampling |
| US9430238B2 (en) | 2012-03-16 | 2016-08-30 | International Business Machines Corporation | Run-time-instrumentation controls emit instruction |
| US9471315B2 (en) | 2012-03-16 | 2016-10-18 | International Business Machines Corporation | Run-time instrumentation reporting |
| US9405541B2 (en) | 2012-03-16 | 2016-08-02 | International Business Machines Corporation | Run-time instrumentation indirect sampling by address |
| US9158660B2 (en) | 2012-03-16 | 2015-10-13 | International Business Machines Corporation | Controlling operation of a run-time instrumentation facility |
| JP5933356B2 (ja) * | 2012-06-12 | 2016-06-08 | ルネサスエレクトロニクス株式会社 | コンピュータシステム |
| US10740102B2 (en) * | 2017-02-24 | 2020-08-11 | Oracle International Corporation | Hardware mechanism to mitigate stalling of a processor core |
| US11030148B2 (en) * | 2018-04-04 | 2021-06-08 | Lawrence Livermore National Security, Llc | Massively parallel hierarchical control system and method |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5600805A (en) * | 1992-06-15 | 1997-02-04 | International Business Machines Corporation | Pass-through for I/O channel subsystem call instructions for accessing shared resources in a computer system having a plurality of operating systems |
| JP2000047887A (ja) | 1998-07-30 | 2000-02-18 | Toshiba Corp | 投機的マルチスレッド処理方法および投機的マルチスレッド処理装置 |
| JP2002230065A (ja) * | 2001-02-02 | 2002-08-16 | Toshiba Corp | システムlsi開発装置およびシステムlsi開発方法 |
| GB2372847B (en) * | 2001-02-19 | 2004-12-29 | Imagination Tech Ltd | Control of priority and instruction rates on a multithreaded processor |
| JP2004013190A (ja) * | 2002-06-03 | 2004-01-15 | Matsushita Electric Ind Co Ltd | ソフトウエア開発環境、シミュレータ及び記録媒体 |
| JP2004234123A (ja) | 2003-01-28 | 2004-08-19 | Fujitsu Ltd | マルチスレッドコンピュータ |
| US8195922B2 (en) | 2005-03-18 | 2012-06-05 | Marvell World Trade, Ltd. | System for dynamically allocating processing time to multiple threads |
| JP2006343872A (ja) * | 2005-06-07 | 2006-12-21 | Keio Gijuku | マルチスレッド中央演算装置および同時マルチスレッディング制御方法 |
| JP4784827B2 (ja) | 2006-06-06 | 2011-10-05 | 学校法人早稲田大学 | ヘテロジニアスマルチプロセッサ向けグローバルコンパイラ |
-
2009
- 2009-06-09 JP JP2009138327A patent/JP5411587B2/ja not_active Expired - Fee Related
-
2010
- 2010-05-20 US US12/783,958 patent/US8560812B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| US20100312992A1 (en) | 2010-12-09 |
| JP2010286898A (ja) | 2010-12-24 |
| US8560812B2 (en) | 2013-10-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5411587B2 (ja) | マルチスレッド実行装置、マルチスレッド実行方法 | |
| CN101542412B (zh) | 用于多线程处理器中自动低功率模式调用的装置和方法 | |
| CN101133391B (zh) | 多线程微处理器中的二分化线程调度器 | |
| CN112445310A (zh) | 主动di/dt电压下降抑制 | |
| JP5283762B2 (ja) | 演算処理装置、情報処理装置及びその制御方法 | |
| CN101238425B (zh) | 使用低功率虚拟线程的软件指定的电源性能管理装置和方法 | |
| US20030154235A1 (en) | Method and apparatus for controlling the processing priority between multiple threads in a multithreaded processor | |
| CN106909444B (zh) | 用于指定应用线程性能状态的指令的指令处理装置及相关方法 | |
| CN104321747B (zh) | 用于多核/众核可编程逻辑控制器的时间裕隙应用流水线平衡 | |
| JP5047542B2 (ja) | マルチスレッドプロセッサのディスパッチ時にスレッドをブロックする方法、コンピュータプログラム、および装置(精細なマルチスレッドディスパッチロックメカニズム) | |
| US20150150019A1 (en) | Scheduling computing tasks for multi-processor systems | |
| CN101128797A (zh) | 具有用于增进流水线使用效率的优化线程调度器的多线程微处理器 | |
| WO2008145653A1 (en) | Scheduling threads in a processor | |
| Feliu et al. | Symbiotic job scheduling on the IBM POWER8 | |
| Gottschlag et al. | Mechanism to mitigate avx-induced frequency reduction | |
| JP2005521937A (ja) | コンピュータオペレーティングシステムにおけるコンテキスト切り替え方法及び装置 | |
| US20110231637A1 (en) | Central processing unit and method for workload dependent optimization thereof | |
| JP2013054625A (ja) | 情報処理装置、情報処理方法 | |
| JP2020091751A (ja) | 演算処理装置および演算処理装置の制御方法 | |
| Wada et al. | Fast interrupt handling scheme by using interrupt wake-up mechanism | |
| Schoeberl et al. | Is chip-multiprocessing the end of real-time scheduling? | |
| CN118245187A (zh) | 线程调度方法及装置、电子设备及存储介质 | |
| US8387053B2 (en) | Method and system for enhancing computer processing performance | |
| JP2011248454A (ja) | プロセッサ装置及びプロセッサ装置の制御方法 | |
| JP2011008617A (ja) | マルチスレッド実行装置、オブジェクトプログラムの生成方法、プログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120514 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130724 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130730 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130925 |
|
| 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: 20131022 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131108 |
|
| R151 | Written notification of patent or utility model registration |
Ref document number: 5411587 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |