JP5546529B2 - 待機状態にあるプロセッサ実行リソースの共有 - Google Patents

待機状態にあるプロセッサ実行リソースの共有 Download PDF

Info

Publication number
JP5546529B2
JP5546529B2 JP2011288768A JP2011288768A JP5546529B2 JP 5546529 B2 JP5546529 B2 JP 5546529B2 JP 2011288768 A JP2011288768 A JP 2011288768A JP 2011288768 A JP2011288768 A JP 2011288768A JP 5546529 B2 JP5546529 B2 JP 5546529B2
Authority
JP
Japan
Prior art keywords
processor
thread
processor execution
logical
resource
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
JP2011288768A
Other languages
English (en)
Other versions
JP2012104140A (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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of JP2012104140A publication Critical patent/JP2012104140A/ja
Application granted granted Critical
Publication of JP5546529B2 publication Critical patent/JP5546529B2/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/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/3009Thread control 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • 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
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

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)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)

Description

図1aに示されるプロセッサの概念図を参照すると、プロセッサは、例えばレジスタやプログラムカウンタのようなプロセッサのアーキテクチャステートを実装する第1のコンポーネント、および、例えばトランスレーション・ルックアサイド・バッファ(TLB)のようなプロセッサ実行リソースから成る第2のコンポーネントの2つのコンポーネントから構成されていると概念化されうる。
図1bに示されるマルチプロセッシング・プロセッサ・ベースのシステムの一形態では、複数の物理プロセッサは、バスシステムによって相互に接続され、各物理プロセッサは、それぞれ独立したハードウェアのアーキテクチャステートと、独立したハードウェアのプロセッサ実行リソースのセットとを保持する。このようなシステムの各プロセッサがそれぞれ異なるスレッドを実行するようにスケジュールされるスレッド・スケジューリング・シナリオでは、システムのプロセッサの1つがディスクドライブのようなシステム内の遅いデバイスを待つため、または、スレッドを実行するようにスケジュールされていないために待機状態となりうる。この状況では、プロセッサだけでなくその全ての実行リソースも待機状態となり、これらはシステムの他のプロセッサから使用不可能となる。
図1cに示されるプロセッサ・ベースのシステムのもう1つの形態では、ハードウェアプロセッサは、複数の論理プロセッサに対してそれぞれ独立したプロセッサ・ハードウェアのアーキテクチャステートを保持するが、複数の論理プロセッサによって共有される1つのプロセッサ・コア・パイプラインと、TLBを含む複数の論理プロセッサによって共有される1つのプロセッサ実行リソースセットとを有してもよい。このようなプロセッサ・アーキテクチャは、数あるプロセッサの中でも特にハイパースレッディングテクノロジを有するIntel Xeon(登録商標)プロセッサによって例証されており、よく知られた従来技術である。
このような論理マルチプロセッシング・システムでは、各論理プロセッサが他の全ての論理プロセッサから独立して自身のアーキテクチャステートを保持するため、スレッドスケジューラは、各論理プロセッサ上でそれぞれ異なるスレッドを実行するようにスケジュールしてもよい。オペレーティングシステムのスレッドスケジューラによって論理プロセッサが待機状態とされたとき、または、論理プロセッサが遅いストレージデバイスからのデータを待っているとき、論理プロセッサは、一般的に小規模なループである待機タスクを実行して定期的にインタラプトを確認する、または、自身の実行をサスペンドしてスレッドの実行を再開するような働きをするウェイクアップ信号を待つ。
プロセッサ実行リソースが物理的に独立しているマルチプロセッシング・システムに対して、このような論理マルチプロセッシング・システムでは、システムの複数の論理プロセッサのうち1つが待機状態となった場合には、待機状態の論理プロセッサによって使用されていない動的に割り当てられるプロセッサ実行リソースは、ユーザまたはシステムのスレッドを実行している他の論理プロセッサに対して使用可能にされてもよい。
しかし、論理マルチプロセッシング・システムのプロセッサ実行リソースは、論理プロセッサに対してリザーブされることがある。この状況は種々の方法によって起こりうる。その方法の一例としては、論理プロセッサは、TLBからトランスレーションレジスタ(TR)のような動的に割り当てられるプロセッサ実行リソースをロックし、結果的にそのリソースを他の論理プロセッサから使用不可能とすることがある。その方法の他の一例としては、TCのようなプロセッサ実行リソースが論理プロセッサに対して静的に割り当てられ、結果として、静的に割り当てられたリソースは、他の論理プロセッサから使用不可能となりうる。これらのリザーブされたリソースは、これらのリソースがリザーブされた論理プロセッサが待機状態になった後も、概して、他の論理プロセッサから使用不可能であり続ける。このように、論理プロセッサによってロックされたTRは、概して、論理プロセッサが待機状態である間も論理プロセッサによってロックされ続け、また、論理プロセッサに対して静的に割り当てられたTCは、論理プロセッサが待機状態である間も論理プロセッサに対して静的に割り当てられ続ける。
種々のタイプのプロセッサ・アーキテクチャを示す第1の概念図である。 種々のタイプのプロセッサ・アーキテクチャを示す第2の概念図である。 種々のタイプのプロセッサ・アーキテクチャを示す第3の概念図である。 本発明の一実施形態における処理を示すフロー図である。 本発明の一実施形態におけるプロセッサ・ベースのシステムを示す図である。
本発明の一実施形態では、処理は、図2のフロー図に示されるように行われる。図2を参照すると、2つの論理プロセッサ、プロセッサ1 200およびプロセッサ2 205は、スレッドスケジューラ210を含む、オペレーティングシステムによってスケジュールされたスレッドを実行する。215において、プロセッサ1は、例えばスレッドの実行終了またはページフォールトのために、実行するスレッドからスイッチアウトされてスレッドスケジューラの実行に戻る。220において、この論理プロセッサに対してスケジュールされたタスクがこれ以上存在しない場合、プロセッサは、225から230の待機シーケンスを実行する。まず、225において、論理プロセッサは、自身が確保する全てのリザーブされたプロセッサ実行リソースの確保を取りやめて、それらを共通プール260に解放する。このように、例えば、プロセッサ1は、トランスレーション・キャッシュ・エントリまたはトランスレーション・キャッシュ・レジスタを、トランスレーション・ルックアサイド・バッファ内にあるレジスタの一般プールに返還する。
本発明の他の実施形態では、ステップ225における処理は異なってもよい。本発明のいくつかの実施形態では、解放された独占的に確保されたリソースは、動的に割り当てられるリソースであり、かつ、プロセッサ1によって予めロックされていたリソースであってもよい。このような実施形態では、ステップ225において、論理プロセッサは、リソースをアンロックしてそのリソースを他の論理プロセッサから使用可能にする。別の実施形態では、独占的に確保されたリソースは、プロセッサ1に対して予め静的に割り当てられているリソースであってもよい。このような実施形態では、ステップ225において、静的に割り当てられたリソースは解放され、そのリソースは動的に割り当てられるリソースのプール260に返還される。
プロセッサ1は、本実施形態におけるサスペンション状態230のような待機状態に移行したあと、インタラプト235のようなウェイクアップ信号よって、新規スレッドまたはレジュームするスレッドの実行を要求されうる。本発明の他の実施形態では、プロセッサは、230に示されるサスペンション状態ではなく待機タスクループに移行して定期的にインタラプトを確認してもよい。
ウェイクアップ信号に続いて、240において、論理プロセッサは、必要に応じてリソースをロック、または、リソースを自身に対して静的に割り当てることによって、独占的にリザーブするリソースを再取得する。そして、論理プロセッサは、245において、入力されたスレッドにスイッチしてそのスレッドの実行を継続する。
225において、サスペンション状態または待機状態の前にプロセッサ1によって解放されたリソースは、図示されたユーザスレッド250のようなスレッドを実行する、プロセッサ2 205のような他の論理プロセッサから使用可能となる。その後、これらのリソースは、スレッドの実行中255に、共有プロセッサ実行リソースのプールから論理プロセッサに対して必要に応じて動的に割り当てられてもよい。
図3は、本発明の一実施形態における、プロセッサ300の一部として論理プロセッサが実装されたプロセッサ・ベースのシステムを示す。論理プロセッサ上で実行されるプログラムは、バスシステム320によってプロセッサと接続されたメモリ340に保存される。メモリは、上述の処理を実質的に実行するスレッドスケジューラを含むファームウェアを保存する非揮発性メモリのセクションを有してもよい。
この他多くの実施形態が可能である。例えば、上述の説明はその説明の対象を論理プロセッサに限定しているが、あらゆる共通実行リソースを共有する物理的に独立したマルチプロセッサに対しても、同様の処理が適用可能である。そのような実施形態では、独立したアーキテクチャステートおよびいくつかの実行リソースはハードウェア的に独立するが、その他の実行リソースはハードウェア的に共有され、図2に示される方法と同様の処理を使用して解放されうる、論理マルチプロセッシングおよび物理マルチプロセッシングのハイブリッド版が実装される。上述のスレッドスケジューラは、本発明のいくつかの実施形態では、図3に示される非揮発性メモリ内に存在するファームウェアのコンポーネントの形をとってもよく、その他の実施形態においては、プロセッサからアクセス可能なディスクメディア上に保存されたオペレーティングシステムの一部分の形をとってもよい。プロセッサ実行リソースを解放およびリザーブするために実行される動作は、本発明のいくつかの実施形態では、ハードウェアに直接実装されてプロセッサの命令実行システムを補助してもよく、その他の実施形態では、1つ以上の命令の実行の一部としてプロセッサによって実行される動作であってもよい。本発明のいくつかの実施形態では、共有される実行リソースは、TLBとは無関係の特別な目的を有するレジスタを含んでもよい。本発明の実施形態は、2つのプロセッサに制限されず、3つ以上のプロセッサが実行リソースを共有して、上述の処理に類似する処理を実行してもよい。
特許請求の範囲に従った実施形態は、マシンによってアクセスされたときにマシンが特許請求の範囲に従った処理を実行するデータが保存されたマシン読み取り可能な媒体を含む、コンピュータ・プログラム・プロダクトとして提供されてもよい。マシン読み取り可能な媒体は、フロッピーディスク、光ディスク、DVD−ROMディスク、DVD−RAMディスク、DVD−RWディスク、DVD+RWディスク、CD−Rディスク、CD−RWディスク、CD−ROMディスクおよび磁気光ディスク、ROMs、RAMs、EPROMs、EEPROMs、磁気または光カード、フラッシュメモリ、またはその他の電子命令の保存に適したメディア/マシン読み取り可能な媒体を含んでもよく、また、これらに限定されない。更に、本発明の実施形態は、通信リンク(例:モデムまたはネットワーク接続)による搬送波内またはその他の伝播媒体内に埋め込まれたデータ信号によってプログラムがリモートコンピュータから要求側コンピュータに転送されるように、コンピュータ・プログラム・プロダクトとしてダウンロードされてもよい。
多くの方法は最も基本的な形式で説明されているが、特許請求の範囲の基本的な領域から逸れることなく、上述の方法に対して手順が追加または削除されることができ、また、上述の説明内容に対して情報が追加または削除されることができる。当業者にとって、更なる修正または適用が可能であることは明白である。特定の実施形態は、本発明を制限するためではなく、本発明を説明するために提供される。本発明の特許請求の範囲は、上述の特定の例によっては決定されず、添付の特許請求の範囲によってのみ決定される。

Claims (16)

  1. オペレーティングシステムのスレッドスケジューラにおいて、プロセッサにより実行されるスレッドにページフォールトが発生したことを検出する段階と、
    ページフォールトの検出に応じてプロセッサを実行するスレッドからスイッチアウトする段階と、
    前記プロセッサに対して他のスレッドがスケジュールされているかを判断する段階と、
    スケジュールされていない場合において、前記プロセッサが予めリザーブしたプロセッサ実行リソースを解放して待機することを、前記プロセッサに命令する段階と
    を備え
    前記プロセッサに命令する段階は、前記プロセッサにより前記プロセッサを待機状態に移行させるように要求するプロセッサ命令を実行させ、解放した前記プロセッサ実行リソースを他のプロセッサに動的に割り当てる段階を更に備え、
    前記プロセッサがウェイクアップ信号を受信することに応じて、前記プロセッサ実行リソースを前記プロセッサに割り当て、新規スレッドまたはレジュームするスレッドを実行する段階を更に備える方法。
  2. 前記プロセッサに命令する段階において、前記プロセッサ実行リソースを他のプロセッサからアクセス可能な動的に割り当てられるプロセッサ実行リソースの共通プールに解放する、請求項1に記載の方法。
  3. 前記プロセッサが、スケジュールされたスレッドにページフォールトが発生したために、実行するスレッドからスイッチアウトされて前記スレッドスケジューラの実行に戻る段階を更に備える請求項1または2に記載の方法。
  4. 前記プロセッサに対して予めリザーブされた前記プロセッサ実行リソースは、前記プロセッサに対して予め静的に割り当てられた前記プロセッサ実行リソースを更に備え、前記プロセッサ実行リソースをプロセッサ実行リソースの共通プールに解放する段階は、前記プロセッサ実行リソースを解放して前記プロセッサ実行リソースを他のプロセッサに対して動的に割り当て可能にする段階を更に備える請求項2に記載の方法。
  5. 前記プロセッサに対して予めリザーブされた前記プロセッサ実行リソースは、前記プロセッサによって予めロックされた前記プロセッサ実行リソースを更に備え、前記プロセッサ実行リソースをプロセッサ実行リソースの共通プールに解放する段階は、前記プロセッサが前記プロセッサ実行リソースをアンロックする段階を更に備える請求項2またはに記載の方法。
  6. 複数のプロセッサ実行リソースを共有する複数の論理プロセッサと、
    論理プロセッサにより実行されるスレッドにページフォールトが発生したことを検出するスケジューラを含むファームウェアと
    前記ファームウェアと前記論理プロセッサとを相互接続するバスと
    を備えるシステムであって、
    前記論理プロセッサは、前記スケジューラによりスレッドにページフォールトが検出されたことに応じて実行するスレッドからスイッチアウトし、
    前記スケジューラは、前記論理プロセッサに対して他のスレッドがスケジュールされているかを判断し、前記論理プロセッサに対して他のスレッドがスケジュールされていない場合に、前記プロセッサが予めリザーブしたプロセッサ実行リソースを解放して、前記論理プロセッサが待機状態に移行ようにスケジュールして、
    前記論理プロセッサが待機状態に移行するようにスケジュールされることは、前記論理プロセッサに前記論理プロセッサを待機状態に移行させるように要求するプロセッサ命令を実行させて、解放した前記プロセッサ実行リソースを他のプロセッサに動的に割り当てさせる段階を更に含み、前記論理プロセッサは、ウェイクアップ信号を受信することに応じて、前記プロセッサ実行リソースを再取得して、新規スレッドまたはレジュームするスレッドを実行するシステム。
  7. 前記スケジューラは、前記論理プロセッサに対して他のスレッドがスケジュールされていない場合に、前記プロセッサ実行リソースを他のプロセッサからアクセス可能な動的に割り当てられるプロセッサ実行リソースの共通プールに解放する、請求項に記載のシステム。
  8. 前記プロセッサ実行リソースの共通プールは、トランスレーション・ルックアサイド・バッファであり、前記プロセッサ実行リソースは、前記トランスレーション・ルックアサイド・バッファ内のトランスレーション・キャッシュ・エントリである、
    請求項に記載のシステム。
  9. 前記論理プロセッサが、スケジュールされたスレッドにページフォールトが発生したために、実行するスレッドからスイッチアウトされて前記スケジューラの実行に戻る請求項7または8に記載のシステム。
  10. 前記論理プロセッサに対して予めリザーブされた前記プロセッサ実行リソースは、前記論理プロセッサに対して予め静的に割り当てられた前記プロセッサ実行リソースを更に備え、前記プロセッサ実行リソースをプロセッサ実行リソースの共通プールに解放することは、前記プロセッサ実行リソースを解放して前記プロセッサ実行リソースを他のプロセッサに対して動的に割り当て可能にすることを更に備える請求項7から9のいずれか1項に記載のシステム。
  11. 前記論理プロセッサに対して予めリザーブされた前記プロセッサ実行リソースは、前記論理プロセッサに対して予め静的に割り当てられた前記プロセッサ実行リソースを更に備え、前記プロセッサ実行リソースをプロセッサ実行リソースの共通プールに解放することは、前記論理プロセッサが前記プロセッサ実行リソースをアンロックすることを更に備える請求項7から10のいずれか1項に記載のシステム。
  12. 複数のプロセッサが複数のプロセッサ実行リソースを共有するプロセッサ・ベースのシステムに、
    オペレーティングシステムのスレッドスケジューラにおいて、プロセッサにより実行されるスレッドにページフォールトが発生したことを検出する段階と、
    ページフォールトの検出に応じてプロセッサを実行するスレッドからスイッチアウトする段階と、
    前記プロセッサに対して他のスレッドがスケジュールされているかを判断する段階と、
    スケジュールされていない場合において、前記プロセッサが予めリザーブしたプロセッサ実行リソースを解放して待機することを、前記プロセッサに命令する段階と
    を実行させ
    前記プロセッサに命令する段階は、前記プロセッサを待機状態に移行させるように命令して、解放した前記プロセッサ実行リソースを他のプロセッサに動的に割り当てる段階を更に備え、
    前記プロセッサがウェイクアップ信号を受信することに応じて、前記プロセッサ実行リソースを前記プロセッサに割り当て、新規スレッドまたはレジュームするスレッドを前記システムに実行させる段階を更に備えるプログラム。
  13. 前記プロセッサに命令する段階において、前記プロセッサ実行リソースを他のプロセッサからアクセス可能な動的に割り当てられるプロセッサ実行リソースの共通プールに解放する、請求項12に記載のプログラム。
  14. スケジュールされたスレッドにページフォールトが発生したために、実行するスレッドからスイッチアウトされて前記スレッドスケジューラの実行に戻る段階を更に前記システムに実行させる請求項12または13に記載のプログラム。
  15. 前記プロセッサに対して予めリザーブされた前記プロセッサ実行リソースは、前記プロセッサに対して予め静的に割り当てられた前記プロセッサ実行リソースを更に備え、前記プロセッサ実行リソースをプロセッサ実行リソースの共通プールに解放する段階は、前記プロセッサ実行リソースを解放して前記プロセッサ実行リソースを他のプロセッサに対して動的に割り当て可能にする段階を更に前記システムに実行させる請求項13に記載のプログラム。
  16. 前記プロセッサに対して予めリザーブされた前記プロセッサ実行リソースは、前記プロセッサによって予めロックされた前記プロセッサ実行リソースを更に備え、前記プロセッサ実行リソースをプロセッサ実行リソースの共通プールに解放する段階は、前記プロセッサが前記プロセッサ実行リソースをアンロックする段階を更に前記システムに実行させる請求項13または15に記載のプログラム。
JP2011288768A 2004-02-04 2011-12-28 待機状態にあるプロセッサ実行リソースの共有 Active JP5546529B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/772,750 US8984517B2 (en) 2004-02-04 2004-02-04 Sharing idled processor execution resources
US10/772,750 2004-02-04

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2006552130A Division JP2007520825A (ja) 2004-02-04 2005-01-14 待機状態にあるプロセッサ実行リソースの共有

Publications (2)

Publication Number Publication Date
JP2012104140A JP2012104140A (ja) 2012-05-31
JP5546529B2 true JP5546529B2 (ja) 2014-07-09

Family

ID=34808624

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2006552130A Abandoned JP2007520825A (ja) 2004-02-04 2005-01-14 待機状態にあるプロセッサ実行リソースの共有
JP2011288768A Active JP5546529B2 (ja) 2004-02-04 2011-12-28 待機状態にあるプロセッサ実行リソースの共有

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2006552130A Abandoned JP2007520825A (ja) 2004-02-04 2005-01-14 待機状態にあるプロセッサ実行リソースの共有

Country Status (5)

Country Link
US (2) US8984517B2 (ja)
EP (2) EP1716482A2 (ja)
JP (2) JP2007520825A (ja)
CN (2) CN101968751B (ja)
WO (1) WO2005078575A2 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8984517B2 (en) 2004-02-04 2015-03-17 Intel Corporation Sharing idled processor execution resources
US7421575B2 (en) * 2004-07-16 2008-09-02 Hewlett-Packard Development Company, L.P. Configuring a physical platform in a reconfigurable data center
US20060015589A1 (en) * 2004-07-16 2006-01-19 Ang Boon S Generating a service configuration
US9003421B2 (en) * 2005-11-28 2015-04-07 Intel Corporation Acceleration threads on idle OS-visible thread execution units
US7461241B2 (en) * 2006-07-31 2008-12-02 International Business Machines Corporation Concurrent physical processor reassignment method
JP5195408B2 (ja) * 2008-12-25 2013-05-08 富士通セミコンダクター株式会社 マルチコアシステム
JP5469940B2 (ja) * 2009-07-13 2014-04-16 株式会社日立製作所 計算機システム、仮想計算機モニタ及び仮想計算機モニタのスケジューリング方法
US8621185B1 (en) * 2010-02-24 2013-12-31 Marvell International Ltd. Processor load determination and speed control
KR20120083801A (ko) * 2011-01-18 2012-07-26 삼성전자주식회사 가상머신을 위한 멀티미디어 데이터 선행처리장치 및 방법
US9310875B2 (en) 2011-12-22 2016-04-12 Intel Corporation Instruction that specifies an application thread performance state
US9396020B2 (en) 2012-03-30 2016-07-19 Intel Corporation Context switching mechanism for a processing core having a general purpose CPU core and a tightly coupled accelerator
WO2013147882A1 (en) * 2012-03-30 2013-10-03 Intel Corporation Efficient locking of memory pages
US9582287B2 (en) * 2012-09-27 2017-02-28 Intel Corporation Processor having multiple cores, shared core extension logic, and shared core extension utilization instructions
US20170052866A1 (en) * 2015-08-21 2017-02-23 International Business Machines Corporation Managing a shared pool of configurable computing resources which uses a set of dynamically-assigned resources
US20180341482A1 (en) * 2015-12-18 2018-11-29 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for utilization of a processing arrangement
CN106126336B (zh) * 2016-06-17 2019-06-04 上海兆芯集成电路有限公司 处理器以及调度方法
US11094032B2 (en) * 2020-01-03 2021-08-17 Qualcomm Incorporated Out of order wave slot release for a terminated wave
CN112000019B (zh) * 2020-07-24 2024-04-26 青岛海尔空调器有限总公司 用于共享设备指令控制的方法、装置及设备
CN116737347B (zh) * 2023-08-14 2023-10-13 南京翼辉信息技术有限公司 一种任务调度控制方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2253420A5 (ja) * 1973-11-30 1975-06-27 Honeywell Bull Soc Ind
JPH0348938A (ja) 1989-07-17 1991-03-01 Nec Corp 仮想計算機方式
JPH0659981A (ja) * 1992-08-06 1994-03-04 Matsushita Electric Ind Co Ltd 情報処理装置
JP3186244B2 (ja) 1992-09-18 2001-07-11 株式会社日立製作所 仮想計算機システム
US6633897B1 (en) * 1995-06-30 2003-10-14 International Business Machines Corporation Method and system for scheduling threads within a multiprocessor data processing system using an affinity scheduler
US6128713A (en) * 1997-09-24 2000-10-03 Microsoft Corporation Application programming interface enabling application programs to control allocation of physical memory in a virtual memory system
US6260068B1 (en) * 1998-06-10 2001-07-10 Compaq Computer Corporation Method and apparatus for migrating resources in a multi-processor computer system
US6430593B1 (en) * 1998-03-10 2002-08-06 Motorola Inc. Method, device and article of manufacture for efficient task scheduling in a multi-tasking preemptive priority-based real-time operating system
US6092175A (en) * 1998-04-02 2000-07-18 University Of Washington Shared register storage mechanisms for multithreaded computer systems with out-of-order execution
US6389449B1 (en) * 1998-12-16 2002-05-14 Clearwater Networks, Inc. Interstream control and communications for multi-streaming digital processors
ATE265521T1 (de) 1999-03-29 2004-05-15 Unilever Nv Toilettenreinigungszusammensetzungen
US6496925B1 (en) * 1999-12-09 2002-12-17 Intel Corporation Method and apparatus for processing an event occurrence within a multithreaded processor
US6728858B2 (en) * 2001-03-30 2004-04-27 Intel Corporation Method and apparatus including heuristic for sharing TLB entries
US20020184290A1 (en) * 2001-05-31 2002-12-05 International Business Machines Corporation Run queue optimization with hardware multithreading for affinity
US7428732B2 (en) * 2001-12-05 2008-09-23 Intel Corporation Method and apparatus for controlling access to shared resources in an environment with multiple logical processors
US7363474B2 (en) * 2001-12-31 2008-04-22 Intel Corporation Method and apparatus for suspending execution of a thread until a specified memory access occurs
US20030126416A1 (en) * 2001-12-31 2003-07-03 Marr Deborah T. Suspending execution of a thread in a multi-threaded processor
US8984517B2 (en) 2004-02-04 2015-03-17 Intel Corporation Sharing idled processor execution resources

Also Published As

Publication number Publication date
US8984517B2 (en) 2015-03-17
WO2005078575A2 (en) 2005-08-25
US20150268956A1 (en) 2015-09-24
WO2005078575A3 (en) 2006-06-15
CN1914593A (zh) 2007-02-14
US20050172292A1 (en) 2005-08-04
EP3048527B1 (en) 2020-07-15
EP1716482A2 (en) 2006-11-02
JP2007520825A (ja) 2007-07-26
CN101968751A (zh) 2011-02-09
CN1914593B (zh) 2011-01-19
JP2012104140A (ja) 2012-05-31
CN101968751B (zh) 2013-01-02
EP3048527A1 (en) 2016-07-27

Similar Documents

Publication Publication Date Title
JP5546529B2 (ja) 待機状態にあるプロセッサ実行リソースの共有
TW432327B (en) Altering thread priorities in a multithreaded processor
JP5661934B2 (ja) アトミック領域の条件コミットのための決定メカニズムを提供する装置、方法、およびシステム
CN108920267B (zh) 任务处理装置
US8131894B2 (en) Method and system for a sharing buffer
JP5054665B2 (ja) スリープ‐起動機構を用いた比較および交換動作
KR100880470B1 (ko) 스레드 라이브록 유닛
CN100422940C (zh) 在数据处理系统中仲裁线程访问共享资源的系统和方法
US10552212B2 (en) Data processing
US20040216120A1 (en) Method and logical apparatus for rename register reallocation in a simultaneous multi-threaded (SMT) processor
US20100125717A1 (en) Synchronization Controller For Multiple Multi-Threaded Processors
US9378069B2 (en) Lock spin wait operation for multi-threaded applications in a multi-core computing environment
US7661115B2 (en) Method, apparatus and program storage device for preserving locked pages in memory when in user mode
US8321874B2 (en) Intelligent context migration for user mode scheduling
JP2013541094A5 (ja)
JP2008084009A (ja) マルチプロセッサシステム
JP2003030050A (ja) マルチスレッド実行方法及び並列プロセッサシステム
JP2013537334A (ja) ハードウェア制限に基づく調整可能なトランザクション・サイズを利用してコードを動的に最適化する装置、方法およびシステム
JP2005284749A (ja) 並列処理コンピュータ
JP6296678B2 (ja) ソフトリアルタイムオペレーティングシステムの実時間性を確保する方法及び装置
WO2009122694A1 (ja) キャッシュメモリ装置、キャッシュメモリシステム、プロセッサシステム
JPWO2011096163A1 (ja) 情報処理システム、排他制御方法および排他制御用プログラム
US20110113221A1 (en) Data Sharing in Chip Multi-Processor Systems
US6631452B1 (en) Register stack engine having speculative load/store modes
US20130290644A1 (en) Method and System Method and System For Exception-Less System Calls For Event Driven Programs

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130521

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130730

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20140228

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20140325

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: 20140415

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140513

R150 Certificate of patent or registration of utility model

Ref document number: 5546529

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250