JP2016212639A - 演算装置、スレッド切替方法、及びマルチスレッドプログラム - Google Patents
演算装置、スレッド切替方法、及びマルチスレッドプログラム Download PDFInfo
- Publication number
- JP2016212639A JP2016212639A JP2015095939A JP2015095939A JP2016212639A JP 2016212639 A JP2016212639 A JP 2016212639A JP 2015095939 A JP2015095939 A JP 2015095939A JP 2015095939 A JP2015095939 A JP 2015095939A JP 2016212639 A JP2016212639 A JP 2016212639A
- Authority
- JP
- Japan
- Prior art keywords
- thread
- executed
- instruction
- position information
- switching
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 62
- 238000001514 detection method Methods 0.000 claims abstract description 27
- 230000006870 function Effects 0.000 description 66
- 238000012544 monitoring process Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/46—Multiprogramming arrangements
-
- 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/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/3009—Thread control 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/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
-
- 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/461—Saving or restoring of program or task context
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
2.割り込みハンドラが、スレッドAのコンテキストをコンテキスト保存領域に保存
3.割り込みハンドラが、スケジューラを呼び出すためのシグナルを生成
4.割り込みハンドラが、生成したシグナルを送出して、スケジューラを呼び出し
5.スケジューラが、次に実行するスレッドを決定し(スレッドB)、ディスパッチャが、スレッドBのコンテキストをコンテキスト保存領域から読み出し
6.ディスパッチャが、読み出したコンテキストをコアに設定
図3に示すように、第1実施形態に係るマルチスレッド処理装置10は、監視部20と、スケジューラ30とを含む。
次に、第2実施形態について説明する。第2実施形態では、切り替え対象スレッドで今後実行される命令の特定方法が、第1実施形態と異なる。なお、第2実施形態に係るマルチスレッド処理装置について、第1実施形態に係るマルチスレッド処理装置10と同様の部分については、同一符号を付して、詳細な説明を省略する。
マルチコアCPUが有する各コアで複数のスレッドを切り替えながらプログラムを実行するマルチスレッド処理において、実行中のスレッドの各々の実行状態に基づいて、実行待ちのスレッドへの切り替え対象となるスレッドを検出する検出部と、
前記検出部により検出された切り替え対象となるスレッドで実行中又は過去に実行された命令に基づいて、該切り替え対象となるスレッドで今後実行されることが推定される命令の位置情報を特定する特定部と、
前記特定部により特定された命令の位置情報が示すプログラムの箇所を、スレッドを切り替えるための命令に書き換える書換部と、
を含む演算装置。
前記特定部は、前記切り替え対象のスレッドで呼び出された関数に含まれる命令を、前記今後実行される命令として推定する付記1記載の演算装置。
前記プログラムのコンパイル時に、関数の呼び出しを実行する前又は後に、呼び出す関数の位置情報が保存されるように設定された第1の記憶領域と、
前記プログラムのコンパイル時に取得された該プログラムに含まれる各関数に含まれる命令の位置情報が記憶された第2の記憶領域と、をさらに含み、
前記特定部は、前記第1の記憶領域を参照して、前記切り替え対象のスレッドで呼び出された関数を特定すると共に、前記第2の記憶領域を参照して、特定した前記関数に含まれる命令の位置情報を特定する
付記2記載の演算装置。
前記第2の記憶領域には、前記各関数に含まれる命令のうち、分岐命令の位置情報が記憶される付記3記載の演算装置。
前記特定部は、前記切り替え対象のスレッドで直近に実行された分岐命令の位置情報であって、前記切り替え対象のスレッドに割り当てられているコアで取得された分岐命令の位置情報を、前記今後実行されることが推定される命令の位置情報として特定する付記1記載の演算装置。
前記特定部は、前記切り替え対象のスレッドに割り当てられているコアにおいて、Last Branch Record、及びPrecise Event Based Sampling機能を利用して取得された分岐命令の位置情報が記憶された第4の記憶領域を参照して、前記今後実行されることが推定される命令の位置情報を特定する付記5記載の演算装置。
前記検出部は、前記スレッドの各々の実行状態として、該スレッドがコアを占有している時間を取得し、前記コアを占有している時間が予め定めた閾値以上となるスレッドを、前記切り替え対象となるスレッドとして検出する付記1〜付記6のいずれか1項記載の演算装置。
実行されているスレッドの各々に対してコアが割り当てられた時刻が記憶された第3の記憶領域をさらに含み、
前記検出部は、前記第3の記憶領域に記憶された時刻を参照して、前記スレッドがコアを占有している時間を取得する
付記7記載の演算装置。
前記書換部は、前記特定部により特定された命令の位置情報が示すプログラムの箇所を、スレッドを切り替えるためのスケジューラを呼び出す命令に書き換える付記1〜付記8のいずれか1項記載の演算装置。
付記1〜付記9のいずれか1項記載の演算装置と、
前記書換部により書き換えられた命令により呼び出される前記スケジューラと、
を含むマルチスレッド処理装置。
前記スケジューラは、実行されているスレッドの各々に対してコアが割り当てられた時刻を、前記第3の記憶領域に記録する記録部を含む付記10記載のマルチスレッド処理装置。
マルチコアCPUが有する各コアで複数のスレッドを切り替えながらプログラムを実行するマルチスレッド処理において、実行中のスレッドの各々の実行状態に基づいて、実行待ちのスレッドへの切り替え対象となるスレッドを検出し、
検出された切り替え対象となるスレッドで実行中又は過去に実行された命令に基づいて、該切り替え対象となるスレッドで今後実行されることが推定される命令の位置情報を特定し、
特定された命令の位置情報が示すプログラムの箇所を、スレッドを切り替えるための命令に書き換える
ことを含む処理を演算装置に実行させるスレッド切替方法。
前記切り替え対象のスレッドで呼び出された関数に含まれる命令を、前記今後実行される命令として推定する付記12記載のスレッド切替方法。
前記今後実行されることが推定される命令の位置情報を特定する際に、
前記プログラムのコンパイル時に、関数の呼び出しを実行する前又は後に、呼び出す関数の位置情報が保存されるように設定された第1の記憶領域を参照して、前記切り替え対象のスレッドで呼び出された関数を特定し、
前記プログラムのコンパイル時に取得された該プログラムに含まれる各関数に含まれる命令の位置情報が記憶された第2の記憶領域を参照して、特定した前記関数に含まれる命令の位置情報を特定する
付記13記載のスレッド切替方法。
前記第2の記憶領域には、前記各関数に含まれる命令のうち、分岐命令の位置情報が記憶される付記14記載のスレッド切替方法。
前記切り替え対象のスレッドで直近に実行された分岐命令の位置情報であって、前記切り替え対象のスレッドに割り当てられているコアで取得された分岐命令の位置情報を、前記今後実行されることが推定される命令の位置情報として特定する付記12記載のスレッド切替方法。
前記今後実行されることが推定される命令の位置情報を特定する際、前記切り替え対象のスレッドに割り当てられているコアにおいて、Last Branch Record、及びPrecise Event Based Sampling機能を利用して取得された分岐命令の位置情報が記憶された第4の記憶領域を参照して、前記今後実行されることが推定される命令の位置情報を特定する付記16記載のスレッド切替方法。
前記スレッドの各々の実行状態として、該スレッドがコアを占有している時間を取得し、前記コアを占有している時間が予め定めた閾値以上となるスレッドを、前記切り替え対象となるスレッドとして検出する付記12〜付記17のいずれか1項記載のスレッド切替方法。
前記切り替え対象となるスレッドを検出する際、実行されているスレッドの各々に対してコアが割り当てられた時刻が記憶された第3の記憶領域に記憶された時刻を参照して、前記スレッドがコアを占有している時間を取得する付記18記載のスレッド切替方法。
特定された命令の位置情報が示すプログラムの箇所を、スレッドを切り替えるためのスケジューラを呼び出す命令に書き換える付記12〜付記19のいずれか1項記載のスレッド切替方法。
マルチコアCPUが有する各コアで複数のスレッドを切り替えながらプログラムを実行するマルチスレッド処理において、実行中のスレッドの各々の実行状態に基づいて、実行待ちのスレッドへの切り替え対象となるスレッドを検出し、
検出された切り替え対象となるスレッドで実行中又は過去に実行された命令に基づいて、該切り替え対象となるスレッドで今後実行されることが推定される命令の位置情報を特定し、
特定された命令の位置情報が示すプログラムの箇所を、スレッドを切り替えるための命令に書き換える
ことを含む処理を演算装置に実行させるためのマルチスレッドプログラム。
前記切り替え対象のスレッドで呼び出された関数に含まれる命令を、前記今後実行される命令として推定する付記21記載のマルチスレッドプログラム。
前記今後実行されることが推定される命令の位置情報を特定する際に、
前記プログラムのコンパイル時に、関数の呼び出しを実行する前又は後に、呼び出す関数の位置情報が保存されるように設定された第1の記憶領域を参照して、前記切り替え対象のスレッドで呼び出された関数を特定し、
前記プログラムのコンパイル時に取得された該プログラムに含まれる各関数に含まれる命令の位置情報が記憶された第2の記憶領域を参照して、特定した前記関数に含まれる命令の位置情報を特定する
付記22記載のマルチスレッドプログラム。
前記第2の記憶領域には、前記各関数に含まれる命令のうち、分岐命令の位置情報が記憶される付記23記載のマルチスレッドプログラム。
前記切り替え対象のスレッドで直近に実行された分岐命令の位置情報であって、前記切り替え対象のスレッドに割り当てられているコアで取得された分岐命令の位置情報を、前記今後実行されることが推定される命令の位置情報として特定する付記21記載のマルチスレッドプログラム。
前記今後実行されることが推定される命令の位置情報を特定する際、前記切り替え対象のスレッドに割り当てられているコアにおいて、Last Branch Record、及びPrecise Event Based Sampling機能を利用して取得された分岐命令の位置情報が記憶された第4の記憶領域を参照して、前記今後実行されることが推定される命令の位置情報を特定する付記25記載のマルチスレッドプログラム。
前記スレッドの各々の実行状態として、該スレッドがコアを占有している時間を取得し、前記コアを占有している時間が予め定めた閾値以上となるスレッドを、前記切り替え対象となるスレッドとして検出する付記21〜付記26のいずれか1項記載のマルチスレッドプログラム。
前記切り替え対象となるスレッドを検出する際、実行されているスレッドの各々に対してコアが割り当てられた時刻が記憶された第3の記憶領域に記憶された時刻を参照して、前記スレッドがコアを占有している時間を取得する付記27記載のマルチスレッドプログラム。
特定された命令の位置情報が示すプログラムの箇所を、スレッドを切り替えるためのスケジューラを呼び出す命令に書き換える付記21〜付記28のいずれか1項記載のマルチスレッドプログラム。
マルチコアCPUが有する各コアで複数のスレッドを切り替えながらプログラムを実行するマルチスレッド処理において、実行中のスレッドの各々の実行状態に基づいて、実行待ちのスレッドへの切り替え対象となるスレッドを検出し、
検出された切り替え対象となるスレッドで実行中又は過去に実行された命令に基づいて、該切り替え対象となるスレッドで今後実行されることが推定される命令の位置情報を特定し、
特定された命令の位置情報が示すプログラムの箇所を、スレッドを切り替えるための命令に書き換える
ことを含む処理を演算装置に実行させるためのマルチスレッドプログラムを記憶した記憶媒体。
20、220、220A 監視部
21 検出部
22、222、222A 特定部
23 書換部
30 スケジューラ
31 コンテキスト保存部
32 実行スレッド決定部
33 ディスパッチ部
41 ディスパッチ時刻テーブル
42 実行中関数アドレス
43 分岐命令アドレステーブル
44 LBR情報
51 実行中スレッド
52 実行待ちスレッドのコンテキスト
60、260 コンピュータ
61、261 CPU
610、611、2660、2661、2660A、2661A コア
62 メモリ
63 記憶部
70、270 マルチスレッドプログラム
71、271 監視プログラム
72 切替プログラム
73 アプリケーションプログラム
91 LBR用レジスタ
92 PEBS機能部
93 PEBS用カウンタ
95 参照部
621 第1の記憶領域
622 第2の記憶領域
623 第3の記憶領域
Claims (10)
- マルチコアCPUが有する各コアで複数のスレッドを切り替えながらプログラムを実行するマルチスレッド処理において、実行中のスレッドの各々の実行状態に基づいて、実行待ちのスレッドへの切り替え対象となるスレッドを検出する検出部と、
前記検出部により検出された切り替え対象となるスレッドで実行中又は過去に実行された命令に基づいて、該切り替え対象となるスレッドで今後実行されることが推定される命令の位置情報を特定する特定部と、
前記特定部により特定された命令の位置情報が示すプログラムの箇所を、スレッドを切り替えるための命令に書き換える書換部と、
を含む演算装置。 - 前記特定部は、前記切り替え対象のスレッドで呼び出された関数に含まれる命令を、前記今後実行される命令として推定する請求項1記載の演算装置。
- 前記プログラムのコンパイル時に、関数の呼び出しを実行する前又は後に、呼び出す関数の位置情報が保存されるように設定された第1の記憶領域と、
前記プログラムのコンパイル時に取得された該プログラムに含まれる各関数に含まれる命令の位置情報が記憶された第2の記憶領域と、をさらに含み、
前記特定部は、前記第1の記憶領域を参照して、前記切り替え対象のスレッドで呼び出された関数を特定すると共に、前記第2の記憶領域を参照して、特定した前記関数に含まれる命令の位置情報を特定する
請求項2記載の演算装置。 - 前記第2の記憶領域には、前記各関数に含まれる命令のうち、分岐命令の位置情報が記憶される請求項3記載の演算装置。
- 前記特定部は、前記切り替え対象のスレッドで直近に実行された分岐命令の位置情報であって、前記切り替え対象のスレッドに割り当てられているコアで取得された分岐命令の位置情報を、前記今後実行されることが推定される命令の位置情報として特定する請求項1記載の演算装置。
- 前記検出部は、前記スレッドの各々の実行状態として、該スレッドがコアを占有している時間を取得し、前記コアを占有している時間が予め定めた閾値以上となるスレッドを、前記切り替え対象となるスレッドとして検出する請求項1〜請求項5のいずれか1項記載の演算装置。
- 実行されているスレッドの各々に対してコアが割り当てられた時刻が記憶された第3の記憶領域をさらに含み、
前記検出部は、前記第3の記憶領域に記憶された時刻を参照して、前記スレッドがコアを占有している時間を取得する
請求項6記載の演算装置。 - 前記書換部は、前記特定部により特定された命令の位置情報が示すプログラムの箇所を、スレッドを切り替えるためのスケジューラを呼び出す命令に書き換える請求項1〜請求項7のいずれか1項記載の演算装置。
- マルチコアCPUが有する各コアで複数のスレッドを切り替えながらプログラムを実行するマルチスレッド処理において、実行中のスレッドの各々の実行状態に基づいて、実行待ちのスレッドへの切り替え対象となるスレッドを検出し、
検出された切り替え対象となるスレッドで実行中又は過去に実行された命令に基づいて、該切り替え対象となるスレッドで今後実行されることが推定される命令の位置情報を特定し、
特定された命令の位置情報が示すプログラムの箇所を、スレッドを切り替えるための命令に書き換える
ことを含む処理を演算装置に実行させるスレッド切替方法。 - マルチコアCPUが有する各コアで複数のスレッドを切り替えながらプログラムを実行するマルチスレッド処理において、実行中のスレッドの各々の実行状態に基づいて、実行待ちのスレッドへの切り替え対象となるスレッドを検出し、
検出された切り替え対象となるスレッドで実行中又は過去に実行された命令に基づいて、該切り替え対象となるスレッドで今後実行されることが推定される命令の位置情報を特定し、
特定された命令の位置情報が示すプログラムの箇所を、スレッドを切り替えるための命令に書き換える
ことを含む処理を演算装置に実行させるためのマルチスレッドプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015095939A JP6477216B2 (ja) | 2015-05-08 | 2015-05-08 | 演算装置、スレッド切替方法、及びマルチスレッドプログラム |
US15/139,991 US10387190B2 (en) | 2015-05-08 | 2016-04-27 | System and method of executing a plurality of threads using thread switching on execution time-out using instruction re-write |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015095939A JP6477216B2 (ja) | 2015-05-08 | 2015-05-08 | 演算装置、スレッド切替方法、及びマルチスレッドプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016212639A true JP2016212639A (ja) | 2016-12-15 |
JP6477216B2 JP6477216B2 (ja) | 2019-03-06 |
Family
ID=57223319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015095939A Active JP6477216B2 (ja) | 2015-05-08 | 2015-05-08 | 演算装置、スレッド切替方法、及びマルチスレッドプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US10387190B2 (ja) |
JP (1) | JP6477216B2 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001521216A (ja) * | 1997-10-23 | 2001-11-06 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチスレッド式プロセッサ・システムでのスレッド切替え制御 |
JP2006040142A (ja) * | 2004-07-29 | 2006-02-09 | Fujitsu Ltd | プロセッサシステムおよびスレッド切り替え制御方法 |
JP2006172229A (ja) * | 2004-12-16 | 2006-06-29 | Nec Corp | タスクの動作制御方法、タスクの動作制御システムおよびプログラム |
US20070180438A1 (en) * | 2006-01-30 | 2007-08-02 | Sony Computer Entertainment Inc. | Stall prediction thread management |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6697935B1 (en) | 1997-10-23 | 2004-02-24 | International Business Machines Corporation | Method and apparatus for selecting thread switch events in a multithreaded processor |
US6535905B1 (en) * | 1999-04-29 | 2003-03-18 | Intel Corporation | Method and apparatus for thread switching within a multithreaded processor |
US6662297B1 (en) * | 1999-12-30 | 2003-12-09 | Intel Corporation | Allocation of processor bandwidth by inserting interrupt servicing instructions to intervene main program in instruction queue mechanism |
US7200846B2 (en) * | 2002-08-05 | 2007-04-03 | Sun Microsystems, Inc. | System and method for maintaining data synchronization |
US7496921B2 (en) * | 2003-08-29 | 2009-02-24 | Intel Corporation | Processing block with integrated light weight multi-threading support |
US7631307B2 (en) * | 2003-12-05 | 2009-12-08 | Intel Corporation | User-programmable low-overhead multithreading |
US7581085B1 (en) * | 2005-09-08 | 2009-08-25 | Parallels Software International, Inc. | Fast stub and frame technology for virtual machine optimization |
US7941646B2 (en) * | 2007-12-31 | 2011-05-10 | Freescale Semicondoctor, Inc. | Completion continue on thread switch based on instruction progress metric mechanism for a microprocessor |
-
2015
- 2015-05-08 JP JP2015095939A patent/JP6477216B2/ja active Active
-
2016
- 2016-04-27 US US15/139,991 patent/US10387190B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001521216A (ja) * | 1997-10-23 | 2001-11-06 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチスレッド式プロセッサ・システムでのスレッド切替え制御 |
JP2006040142A (ja) * | 2004-07-29 | 2006-02-09 | Fujitsu Ltd | プロセッサシステムおよびスレッド切り替え制御方法 |
JP2006172229A (ja) * | 2004-12-16 | 2006-06-29 | Nec Corp | タスクの動作制御方法、タスクの動作制御システムおよびプログラム |
US20070180438A1 (en) * | 2006-01-30 | 2007-08-02 | Sony Computer Entertainment Inc. | Stall prediction thread management |
Also Published As
Publication number | Publication date |
---|---|
JP6477216B2 (ja) | 2019-03-06 |
US20160328232A1 (en) | 2016-11-10 |
US10387190B2 (en) | 2019-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3871458B2 (ja) | コンピュータ・システム | |
EP3048527B1 (en) | Sharing idled processor execution resources | |
JP5548037B2 (ja) | 命令発行制御装置及び方法 | |
US9336055B2 (en) | Apparatus and method for predicting processing performance | |
US20130097382A1 (en) | Multi-core processor system, computer product, and control method | |
TWI498820B (zh) | 具有用於分支錯誤預測之第二跳躍執行單元的處理器 | |
WO2012120654A1 (ja) | タスクスケジューリング方法およびマルチコアシステム | |
JP2017037370A (ja) | 計算機、プロセス制御方法およびプロセス制御プログラム | |
JP2008522277A (ja) | 優先度の付けられたタスク間の効率的な切り換え | |
JP4170364B2 (ja) | プロセッサ | |
JP4992740B2 (ja) | マルチプロセッサシステム、障害検出方法および障害検出プログラム | |
JP4253796B2 (ja) | コンピュータ及び制御方法 | |
US20120317403A1 (en) | Multi-core processor system, computer product, and interrupt method | |
JP5195408B2 (ja) | マルチコアシステム | |
JP6477216B2 (ja) | 演算装置、スレッド切替方法、及びマルチスレッドプログラム | |
US7603673B2 (en) | Method and system for reducing context switch times | |
JP6645348B2 (ja) | 情報処理装置、情報処理プログラム、及び情報処理方法 | |
JP2005215816A (ja) | ハードウェアモニタを用いた性能プロファイリング方法 | |
JP5376042B2 (ja) | マルチコアプロセッサシステム、スレッド切り替え制御方法、およびスレッド切り替え制御プログラム | |
JP2008204011A (ja) | マルチスレッドシステム、スレッド動作異常検知方法 | |
JP4878050B2 (ja) | コンピュータ及び制御方法 | |
JP2010044699A (ja) | 情報処理装置 | |
CN111381887B (zh) | 在mvp处理器中进行图像运动补偿的方法、装置及处理器 | |
US11681527B2 (en) | Electronic device and multiplexing method of spatial | |
JP7131005B2 (ja) | 情報処理装置、情報処理方法、及び情報処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180206 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20181024 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181106 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181227 |
|
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: 20190108 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190121 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6477216 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |