JP2004110795A - 二層マルチスレッド化構造で最適パフォーマンスのためにスレッドの置き換えを実施する方法および装置 - Google Patents
二層マルチスレッド化構造で最適パフォーマンスのためにスレッドの置き換えを実施する方法および装置 Download PDFInfo
- Publication number
- JP2004110795A JP2004110795A JP2003288289A JP2003288289A JP2004110795A JP 2004110795 A JP2004110795 A JP 2004110795A JP 2003288289 A JP2003288289 A JP 2003288289A JP 2003288289 A JP2003288289 A JP 2003288289A JP 2004110795 A JP2004110795 A JP 2004110795A
- Authority
- JP
- Japan
- Prior art keywords
- thread
- tier
- executable
- state
- selection data
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 19
- 230000008901 benefit Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 239000000725 suspension Substances 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 206010067482 No adverse event Diseases 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000011867 re-evaluation Methods 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/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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/483—Multiproc
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)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
【解決手段】第1の層のスレッド状態ストレージは、限定された数の実行可能なスレッド・レジスタ状態を格納する。第2の層のスレッド・ストレージ機能は、限定された数の実行可能なスレッド・レジスタ状態よりも大きな第2の数のスレッド状態を格納する。各格納されたスレッド状態は事前定義された選択データを含む。第1の層のスレッド状態ストレージと第2の層のスレッド・ストレージ機能の間に結合された実行可能スレッド選択論理は、第1の層の限定された数の実行可能なスレッド・レジスタ状態と第2の層のスレッド・ストレージ機能の間でスレッド状態を選択的に交換するために、格納されている事前定義された選択データを使用する。
【選択図】図2
Description
限定された数の実行可能なスレッド・レジスタ状態を格納する第1の層のスレッド状態ストレージと、
実行可能なスレッド・レジスタ状態の限定された数よりも大きな第2の数のスレッド状態を格納する第2の層のスレッド・ストレージ機能と
を含み、
各格納されたスレッド状態が特定のスレッド使用データを含む事前定義された選択データを含み、前記装置はさらに、
前記格納されている事前定義された選択データを使用して、第1の層の限定された数の実行可能なスレッド・レジスタ状態と第2の層のスレッド・ストレージ機能の間でスレッド状態を選択的に交換するための、第1の層のスレッド状態ストレージと第2の層のスレッド・ストレージ機能の間に結合された実行可能スレッド選択論理を含む装置。
(2)前記事前定義された選択データが各特定のスレッドに対するプロセッサ・サイクルの使用効率データを含む上記(1)に記載の二層マルチスレッド化構造で最適パフォーマンスのためにスレッドの置き換えを実施する装置。
(3)前記事前定義された選択データが、特定のスレッドがプロセッサで実行されてからの時間値が閾値を超すと枯渇状態を信号で知らせるために使用される前記時間値を含む上記(1)に記載の二層マルチスレッド化構造で最適パフォーマンスのためにスレッドの置き換えを実施する装置。
(4)前記事前定義された選択データが、システム優先順位の低いスレッドの前にシステム優先順位の高いスレッドを選択するために前記実行可能スレッド選択論理によって使用されるスレッド・システム優先順位を含む上記(1)に記載の二層マルチスレッド化構造で最適パフォーマンスのためにスレッドの置き換えを実施する装置。
(5)前記事前定義された選択データが、停止状態のスレッドが、その停止状態が解消されるまで前記二次スレッド・ストレージ機能から実行可能なスレッドに対する第1の層のスレッド・レジスタ状態に移動されないように前記実行可能なスレッド選択によって使用される実行準備済みインジケータを含む上記(1)に記載の二層マルチスレッド化構造で最適パフォーマンスのためにスレッドの置き換えを実施する装置。
(6)現在実行中のプロセッサの状態がアイドル・イベントで変更された場合に、次に実行するプロセッサで実行されるべき次に適切で実行可能なスレッドを選択するための前記格納されている事前定義された選択データを使用する、前記第1の層のスレッド状態ストレージの実行可能なスレッドをランク付けするランク付け論理を含む上記(1)に記載の二層マルチスレッド化構造で最適パフォーマンスのためにスレッドの置き換えを実施する装置。
(7)二層マルチスレッド化構造で最適パフォーマンスのためにスレッドの置き換えを実施する方法において、
限定された数の実行可能なスレッド・レジスタ状態を格納している、高クロック・レートに対して最適化された第1の層の状態ストレージ論理を使用するステップと、
実行可能なスレッド・レジスタ状態の前記限定された数よりも大きく、プロセッサで実行するためのすべてのスレッドに等しい第2の数のスレッド状態に関する状態と、特定のスレッド使用データを含む事前定義された選択データとを格納している第2の層のストレージ機能を使用するステップと、
実行可能スレッド選択論理を使用し、前記スレッドのそれぞれに関する前記格納されている事前定義された選択データを処理し、前記事前定義された選択データに基づいて前記第1の層の状態ストレージ論理と前記第2の層のストレージ機能の間でスレッド状態を選択的に交換するステップと
を含む方法。
(8)第2の数のスレッド状態に関する前記状態と前記事前定義された選択データとを格納する、前記第2の層のストレージ機能を使用するステップが、各特定のスレッドに関するプロセッサ・サイクルの使用効率データを含めて前記事前定義された選択データを格納するステップを含む上記(7)に記載の二層マルチスレッド化構造で最適パフォーマンスのためにスレッドの置き換えを実施する方法。
(9)第2の数のスレッド状態に関する前記状態と前記事前定義された選択データとを格納する、前記第2の層のストレージ機能を使用するステップが、特定のスレッドがプロセッサで実行されてからの時間値が閾値を超すと枯渇状態を信号で知らせるために使用される前記時間値を含む前記事前定義された選択データを格納するステップを含む上記(7)に記載の二層マルチスレッド化構造で最適パフォーマンスのためにスレッドの置き換えを実施する方法。
(10)第2の数のスレッド状態に関する前記状態と前記事前定義された選択データとを格納する、前記第2の層のストレージ機能を使用するステップが、システム優先順位の低いスレッドより先にシステム優先順位の高いスレッドを選択することを可能にするために前記実行可能スレッド選択論理によって使用されるスレッド・システム優先順位を含む前記事前定義された選択データを格納するステップを含む上記(7)に記載の二層マルチスレッド化構造で最適パフォーマンスのためにスレッドの置き換えを実施する方法。
(11)第2の数のスレッド状態に関する前記状態と前記事前定義された選択データとを格納する、前記第2の層のストレージ機能を使用するステップが、停止状態のスレッドが、その停止状態が解消されるまで前記二次スレッド・ストレージ機能から実行可能なスレッドに対する第1の層のスレッド・レジスタ状態に移動されないように前記実行可能スレッド選択論理によって使用される実行準備済みインジケータを含む前記事前定義された選択データを格納するステップを含む上記(7)に記載の二層マルチスレッド化構造で最適パフォーマンスのためにスレッドの置き換えを実施する方法。
(12)現在実行中のプロセッサの状態がアイドル・イベントで変更された場合にプロセッサで次に実行されるべき実行可能なスレッドを選択するために前記事前定義された選択データを使用して前記第1の層の実行可能なスレッド・レジスタ状態の実行可能なスレッドをランク付けするステップを含む上記(7)に記載の二層マルチスレッド化構造で最適パフォーマンスのためにスレッドの置き換えを実施する方法。
202 実行サイクル・カウンタ
204 長期待ち時間イベント・カウンタ
206 プロセッサで最後に実行された時からの時間
208 システム優先順位
210 実行準備済みインジケータ
214 ランク付け選択論理
Claims (12)
- 二層マルチスレッド化構造で最適パフォーマンスのためにスレッドの置き換えを実施する装置において、
限定された数の実行可能なスレッド・レジスタ状態を格納する第1の層のスレッド状態ストレージと、
実行可能なスレッド・レジスタ状態の限定された数よりも大きな第2の数のスレッド状態を格納する第2の層のスレッド・ストレージ機能と
を含み、
各格納されたスレッド状態が特定のスレッド使用データを含む事前定義された選択データを含み、前記装置はさらに、
前記格納されている事前定義された選択データを使用して、第1の層の限定された数の実行可能なスレッド・レジスタ状態と第2の層のスレッド・ストレージ機能の間でスレッド状態を選択的に交換するための、第1の層のスレッド状態ストレージと第2の層のスレッド・ストレージ機能の間に結合された実行可能スレッド選択論理を含む装置。 - 前記事前定義された選択データが各特定のスレッドに対するプロセッサ・サイクルの使用効率データを含む請求項1に記載の二層マルチスレッド化構造で最適パフォーマンスのためにスレッドの置き換えを実施する装置。
- 前記事前定義された選択データが、特定のスレッドがプロセッサで実行されてからの時間値が閾値を超すと枯渇状態を信号で知らせるために使用される前記時間値を含む請求項1に記載の二層マルチスレッド化構造で最適パフォーマンスのためにスレッドの置き換えを実施する装置。
- 前記事前定義された選択データが、システム優先順位の低いスレッドの前にシステム優先順位の高いスレッドを選択するために前記実行可能スレッド選択論理によって使用されるスレッド・システム優先順位を含む請求項1に記載の二層マルチスレッド化構造で最適パフォーマンスのためにスレッドの置き換えを実施する装置。
- 前記事前定義された選択データが、停止状態のスレッドが、その停止状態が解消されるまで前記二次スレッド・ストレージ機能から実行可能なスレッドに対する第1の層のスレッド・レジスタ状態に移動されないように前記実行可能なスレッド選択によって使用される実行準備済みインジケータを含む請求項1に記載の二層マルチスレッド化構造で最適パフォーマンスのためにスレッドの置き換えを実施する装置。
- 現在実行中のプロセッサの状態がアイドル・イベントで変更された場合に、次に実行するプロセッサで実行されるべき次に適切で実行可能なスレッドを選択するための前記格納されている事前定義された選択データを使用する、前記第1の層のスレッド状態ストレージの実行可能なスレッドをランク付けするランク付け論理を含む請求項1に記載の二層マルチスレッド化構造で最適パフォーマンスのためにスレッドの置き換えを実施する装置。
- 二層マルチスレッド化構造で最適パフォーマンスのためにスレッドの置き換えを実施する方法において、
限定された数の実行可能なスレッド・レジスタ状態を格納している、高クロック・レートに対して最適化された第1の層の状態ストレージ論理を使用するステップと、
実行可能なスレッド・レジスタ状態の前記限定された数よりも大きく、プロセッサで実行するためのすべてのスレッドに等しい第2の数のスレッド状態に関する状態と、特定のスレッド使用データを含む事前定義された選択データとを格納している第2の層のストレージ機能を使用するステップと、
実行可能スレッド選択論理を使用し、前記スレッドのそれぞれに関する前記格納されている事前定義された選択データを処理し、前記事前定義された選択データに基づいて前記第1の層の状態ストレージ論理と前記第2の層のストレージ機能の間でスレッド状態を選択的に交換するステップと
を含む方法。 - 第2の数のスレッド状態に関する前記状態と前記事前定義された選択データとを格納する、前記第2の層のストレージ機能を使用するステップが、各特定のスレッドに関するプロセッサ・サイクルの使用効率データを含めて前記事前定義された選択データを格納するステップを含む請求項7に記載の二層マルチスレッド化構造で最適パフォーマンスのためにスレッドの置き換えを実施する方法。
- 第2の数のスレッド状態に関する前記状態と前記事前定義された選択データとを格納する、前記第2の層のストレージ機能を使用するステップが、特定のスレッドがプロセッサで実行されてからの時間値が閾値を超すと枯渇状態を信号で知らせるために使用される前記時間値を含む前記事前定義された選択データを格納するステップを含む請求項7に記載の二層マルチスレッド化構造で最適パフォーマンスのためにスレッドの置き換えを実施する方法。
- 第2の数のスレッド状態に関する前記状態と前記事前定義された選択データとを格納する、前記第2の層のストレージ機能を使用するステップが、システム優先順位の低いスレッドより先にシステム優先順位の高いスレッドを選択することを可能にするために前記実行可能スレッド選択論理によって使用されるスレッド・システム優先順位を含む前記事前定義された選択データを格納するステップを含む請求項7に記載の二層マルチスレッド化構造で最適パフォーマンスのためにスレッドの置き換えを実施する方法。
- 第2の数のスレッド状態に関する前記状態と前記事前定義された選択データとを格納する、前記第2の層のストレージ機能を使用するステップが、停止状態のスレッドが、その停止状態が解消されるまで前記二次スレッド・ストレージ機能から実行可能なスレッドに対する第1の層のスレッド・レジスタ状態に移動されないように前記実行可能スレッド選択論理によって使用される実行準備済みインジケータを含む前記事前定義された選択データを格納するステップを含む請求項7に記載の二層マルチスレッド化構造で最適パフォーマンスのためにスレッドの置き換えを実施する方法。
- 現在実行中のプロセッサの状態がアイドル・イベントで変更された場合にプロセッサで次に実行されるべき実行可能なスレッドを選択するために前記事前定義された選択データを使用して前記第1の層の実行可能なスレッド・レジスタ状態の実行可能なスレッドをランク付けするステップを含む請求項7に記載の二層マルチスレッド化構造で最適パフォーマンスのためにスレッドの置き換えを実施する方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/246,912 US7096470B2 (en) | 2002-09-19 | 2002-09-19 | Method and apparatus for implementing thread replacement for optimal performance in a two-tiered multithreading structure |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004110795A true JP2004110795A (ja) | 2004-04-08 |
Family
ID=31992392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003288289A Pending JP2004110795A (ja) | 2002-09-19 | 2003-08-06 | 二層マルチスレッド化構造で最適パフォーマンスのためにスレッドの置き換えを実施する方法および装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7096470B2 (ja) |
JP (1) | JP2004110795A (ja) |
CN (1) | CN100428197C (ja) |
TW (1) | TWI261200B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010522920A (ja) * | 2007-03-26 | 2010-07-08 | イマジネイション テクノロジーズ リミテッド | パイプラインプロセッサにおける長い待ち時間命令の処理 |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3883647B2 (ja) * | 1997-06-10 | 2007-02-21 | インターナショナル・ビジネス・マシーンズ・コーポレーション | メッセージ処理方法、メッセージ処理装置及びメッセージ処理を制御するプログラムを格納する記憶媒体 |
US7634774B2 (en) * | 2004-09-13 | 2009-12-15 | Integrated Device Technology, Inc. | System and method of scheduling computing threads |
US7827555B2 (en) * | 2004-09-13 | 2010-11-02 | Integrated Device Technology, Inc. | Scheduler for a multiprocessing computing system |
JP4151975B2 (ja) * | 2004-11-08 | 2008-09-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 情報処理装置、プログラム、及び管理方法 |
US7418576B1 (en) | 2004-11-17 | 2008-08-26 | Nvidia Corporation | Prioritized issuing of operation dedicated execution unit tagged instructions from multiple different type threads performing different set of operations |
US7506140B2 (en) * | 2005-02-04 | 2009-03-17 | Mips Technologies, Inc. | Return data selector employing barrel-incrementer-based round-robin apparatus |
US7752627B2 (en) | 2005-02-04 | 2010-07-06 | Mips Technologies, Inc. | Leaky-bucket thread scheduler in a multithreading microprocessor |
US7664936B2 (en) * | 2005-02-04 | 2010-02-16 | Mips Technologies, Inc. | Prioritizing thread selection partly based on stall likelihood providing status information of instruction operand register usage at pipeline stages |
US7613904B2 (en) * | 2005-02-04 | 2009-11-03 | Mips Technologies, Inc. | Interfacing external thread prioritizing policy enforcing logic with customer modifiable register to processor internal scheduler |
US7657891B2 (en) | 2005-02-04 | 2010-02-02 | Mips Technologies, Inc. | Multithreading microprocessor with optimized thread scheduler for increasing pipeline utilization efficiency |
US7681014B2 (en) | 2005-02-04 | 2010-03-16 | Mips Technologies, Inc. | Multithreading instruction scheduler employing thread group priorities |
US7853777B2 (en) * | 2005-02-04 | 2010-12-14 | Mips Technologies, Inc. | Instruction/skid buffers in a multithreading microprocessor that store dispatched instructions to avoid re-fetching flushed instructions |
US7657883B2 (en) | 2005-02-04 | 2010-02-02 | Mips Technologies, Inc. | Instruction dispatch scheduler employing round-robin apparatus supporting multiple thread priorities for use in multithreading microprocessor |
US7490230B2 (en) * | 2005-02-04 | 2009-02-10 | Mips Technologies, Inc. | Fetch director employing barrel-incrementer-based round-robin apparatus for use in multithreading microprocessor |
US7631130B2 (en) * | 2005-02-04 | 2009-12-08 | Mips Technologies, Inc | Barrel-incrementer-based round-robin apparatus and instruction dispatch scheduler employing same for use in multithreading microprocessor |
US8001549B2 (en) * | 2006-04-27 | 2011-08-16 | Panasonic Corporation | Multithreaded computer system and multithread execution control method |
US9342350B2 (en) * | 2006-08-24 | 2016-05-17 | Renesas Electronics Corporation | System for selecting a task to be executed according to an output from a task control circuit |
US7990989B2 (en) * | 2006-09-16 | 2011-08-02 | Mips Technologies, Inc. | Transaction selector employing transaction queue group priorities in multi-port switch |
US7961745B2 (en) * | 2006-09-16 | 2011-06-14 | Mips Technologies, Inc. | Bifurcated transaction selector supporting dynamic priorities in multi-port switch |
US7773621B2 (en) * | 2006-09-16 | 2010-08-10 | Mips Technologies, Inc. | Transaction selector employing round-robin apparatus supporting dynamic priorities in multi-port switch |
US7760748B2 (en) * | 2006-09-16 | 2010-07-20 | Mips Technologies, Inc. | Transaction selector employing barrel-incrementer-based round-robin apparatus supporting dynamic priorities in multi-port switch |
US7859548B1 (en) | 2006-10-19 | 2010-12-28 | Nvidia Corporation | Offloading cube map calculations to a shader |
US8813080B2 (en) * | 2007-06-28 | 2014-08-19 | Intel Corporation | System and method to optimize OS scheduling decisions for power savings based on temporal characteristics of the scheduled entity and system workload |
JP5414305B2 (ja) * | 2009-02-25 | 2014-02-12 | キヤノン株式会社 | 情報処理装置、仮想記憶管理方法及びプログラム |
US9063796B2 (en) * | 2012-08-02 | 2015-06-23 | GM Global Technology Operations LLC | Method and apparatus for improving processing performance of a multi-core processor |
US9710054B2 (en) * | 2015-02-28 | 2017-07-18 | Intel Corporation | Programmable power management agent |
WO2016175285A1 (ja) * | 2015-04-30 | 2016-11-03 | 株式会社特殊免疫研究所 | ヒト特定分子およびヒトFcγ受容体ファミリーを発現するトランスジェニック非ヒト動物 |
US20240095031A1 (en) * | 2022-09-19 | 2024-03-21 | Apple Inc. | Thread Channel Deactivation based on Instruction Cache Misses |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4596739A (en) | 1985-02-11 | 1986-06-24 | International Business Machines Corporation | Rigid magnetic recording media |
JP2665699B2 (ja) | 1991-12-27 | 1997-10-22 | 新日本ホイール工業株式会社 | 多板クラッチの潤滑装置 |
JP3696901B2 (ja) * | 1994-07-19 | 2005-09-21 | キヤノン株式会社 | 負荷分散方法 |
JP3231571B2 (ja) * | 1994-12-20 | 2001-11-26 | 日本電気株式会社 | 順序付きマルチスレッド実行方法とその実行装置 |
US5812811A (en) * | 1995-02-03 | 1998-09-22 | International Business Machines Corporation | Executing speculative parallel instructions threads with forking and inter-thread communication |
US5771382A (en) * | 1995-06-05 | 1998-06-23 | International Business Machines Corporation | System and method for synchronizing static variable initialization and reference under a multi-threaded computer environment |
JPH096633A (ja) * | 1995-06-07 | 1997-01-10 | Internatl Business Mach Corp <Ibm> | データ処理システムに於ける高性能多重論理経路の動作用の方法とシステム |
JPH096007A (ja) | 1995-06-15 | 1997-01-10 | Shin Etsu Chem Co Ltd | 水溶性パターン形成材料 |
JP4309481B2 (ja) | 1996-01-12 | 2009-08-05 | テイコクメディックス株式会社 | ゼリー状経口医薬組成物 |
US6766515B1 (en) * | 1997-02-18 | 2004-07-20 | Silicon Graphics, Inc. | Distributed scheduling of parallel jobs with no kernel-to-kernel communication |
US5872963A (en) * | 1997-02-18 | 1999-02-16 | Silicon Graphics, Inc. | Resumption of preempted non-privileged threads with no kernel intervention |
US6418460B1 (en) * | 1997-02-18 | 2002-07-09 | Silicon Graphics, Inc. | System and method for finding preempted threads in a multi-threaded application |
JPH10320759A (ja) | 1997-05-20 | 1998-12-04 | Fuji Photo Film Co Ltd | ディスク状磁気記録媒体 |
US6223208B1 (en) * | 1997-10-03 | 2001-04-24 | International Business Machines Corporation | Moving data in and out of processor units using idle register/storage functional units |
US6076157A (en) * | 1997-10-23 | 2000-06-13 | International Business Machines Corporation | Method and apparatus to force a thread switch in a multithreaded processor |
US6697935B1 (en) * | 1997-10-23 | 2004-02-24 | International Business Machines Corporation | Method and apparatus for selecting thread switch events in a multithreaded processor |
US6212544B1 (en) * | 1997-10-23 | 2001-04-03 | International Business Machines Corporation | Altering thread priorities in a multithreaded processor |
US6105051A (en) * | 1997-10-23 | 2000-08-15 | International Business Machines Corporation | Apparatus and method to guarantee forward progress in execution of threads in a multithreaded processor |
US6567839B1 (en) * | 1997-10-23 | 2003-05-20 | International Business Machines Corporation | Thread switch control in a multithreaded processor system |
US6018759A (en) * | 1997-12-22 | 2000-01-25 | International Business Machines Corporation | Thread switch tuning tool for optimal performance in a computer processor |
JP2000010800A (ja) * | 1998-06-19 | 2000-01-14 | Toshiba Corp | 計算機システムに於けるスレッド制御装置、及び同システムに於けるスレッド制御方法 |
JP2000333724A (ja) | 1999-05-31 | 2000-12-05 | Sadaichi Kano | 二枚合せ開閉櫛 |
US6785889B1 (en) * | 2000-06-15 | 2004-08-31 | Aurema, Inc. | System and method for scheduling bandwidth resources using a Kalman estimator with active feedback |
US6965986B2 (en) * | 2002-09-19 | 2005-11-15 | International Business Machines Corporation | Method and apparatus for implementing two-tiered thread state multithreading support with high clock rate |
-
2002
- 2002-09-19 US US10/246,912 patent/US7096470B2/en not_active Expired - Fee Related
-
2003
- 2003-06-26 TW TW092117487A patent/TWI261200B/zh active
- 2003-07-01 CN CNB031471048A patent/CN100428197C/zh not_active Expired - Fee Related
- 2003-08-06 JP JP2003288289A patent/JP2004110795A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010522920A (ja) * | 2007-03-26 | 2010-07-08 | イマジネイション テクノロジーズ リミテッド | パイプラインプロセッサにおける長い待ち時間命令の処理 |
Also Published As
Publication number | Publication date |
---|---|
US20040060052A1 (en) | 2004-03-25 |
TWI261200B (en) | 2006-09-01 |
CN1484153A (zh) | 2004-03-24 |
CN100428197C (zh) | 2008-10-22 |
TW200411564A (en) | 2004-07-01 |
US7096470B2 (en) | 2006-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004110795A (ja) | 二層マルチスレッド化構造で最適パフォーマンスのためにスレッドの置き換えを実施する方法および装置 | |
US8219993B2 (en) | Frequency scaling of processing unit based on aggregate thread CPI metric | |
US7979680B2 (en) | Multi-threaded parallel processor methods and apparatus | |
US8756605B2 (en) | Method and apparatus for scheduling multiple threads for execution in a shared microprocessor pipeline | |
JP5040773B2 (ja) | メモリバッファ割当装置およびプログラム | |
US8302098B2 (en) | Hardware utilization-aware thread management in multithreaded computer systems | |
JP5091986B2 (ja) | 電力制御装置 | |
US8959515B2 (en) | Task scheduling policy for limited memory systems | |
US8356304B2 (en) | Method and system for job scheduling | |
US20090172423A1 (en) | Method, system, and apparatus for rerouting interrupts in a multi-core processor | |
US8375390B2 (en) | Scheduling method and scheduling apparatus | |
JP2008084009A (ja) | マルチプロセッサシステム | |
US8640133B2 (en) | Equal duration and equal fetch operations sub-context switch interval based fetch operation scheduling utilizing fetch error rate based logic for switching between plurality of sorting algorithms | |
KR101356033B1 (ko) | 하이브리드 주메모리 시스템 및 이를 위한 태스크 스케줄링 방법 | |
Liu et al. | SAWS: Synchronization aware GPGPU warp scheduling for multiple independent warp schedulers | |
US10768684B2 (en) | Reducing power by vacating subsets of CPUs and memory | |
JP2004110796A (ja) | 高クロック・レートによる二層スレッド状態マルチスレッド化サポートを実施する方法および装置 | |
Zhu et al. | Improving first level cache efficiency for gpus using dynamic line protection | |
Kim et al. | Using DVFS and task scheduling algorithms for a hard real-time heterogeneous multicore processor environment | |
Garg | Real-time linux kernel scheduler | |
KR100728899B1 (ko) | 복수의 레지스터 집합과 하드웨어 작업 관리자를 가진고성능 멀티쓰레드 임베디드 프로세서 | |
Sibai | Nearest neighbor affinity scheduling in heterogeneous multi-core architectures | |
WO2006016283A2 (en) | Task scheduling using context switch overhead table | |
Abeydeera | Optimizing throughput architectures for speculative parallelism |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060118 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060228 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20060524 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20060529 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20061024 |