JP2009534719A - マルチプロセッサシステムにおける割り込み分散方法及びシステム - Google Patents

マルチプロセッサシステムにおける割り込み分散方法及びシステム Download PDF

Info

Publication number
JP2009534719A
JP2009534719A JP2008549088A JP2008549088A JP2009534719A JP 2009534719 A JP2009534719 A JP 2009534719A JP 2008549088 A JP2008549088 A JP 2008549088A JP 2008549088 A JP2008549088 A JP 2008549088A JP 2009534719 A JP2009534719 A JP 2009534719A
Authority
JP
Japan
Prior art keywords
processor
transaction
completion time
interrupt request
interrupt
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.)
Withdrawn
Application number
JP2008549088A
Other languages
English (en)
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.)
NXP BV
Original Assignee
NXP BV
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 NXP BV filed Critical NXP BV
Publication of JP2009534719A publication Critical patent/JP2009534719A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • 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/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • 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/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5019Workload prediction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

マルチプロセッサシステムにおいて割り込み要求を複数のプロトコルに分散する方法である。この方法は、複数の現在のトランザクションを各トランザクションが関連する複数のプロセッサ(104,106,108)の各々で実行するステップと、割り込み要求を発生するステップと、各プロセッサについてトランザクション完了時間を推定するステップと、前記割り込み要求を最小の推定トランザクション完了時間を有するプロセッサに転送するステップ(102)とを含む。トランザクション完了時間の推定は、トランザクション完了時間に関する情報が格納され且つ連続的に更新されるように周期的に生起される。本発明の一つの態様では、各プロセッサのトランザクション完了時間の推定ステップは割り込み要求が発生される時に行われる。本発明の他の態様では、割り込み要求を伝えるステップが、トランザクション完了時間の推定前に、割り込み要求を中間プロセッサに伝えるステップを含む。

Description

本発明は、データ処理方法及びシステム、特に最適割り込み処理を有するマルチプロセッサに関する。
データ処理システムは、一般にプロセッサと、プログラム及びデータを格納するメインメモリと、プロセッサ命令を一時的に格納するキャッシュメモリとを含む。このような処理システムはさまざまな要求を有し得る。プロセッサ又はプロセッサ群が多数のアプリケーションを同時にランすることができる。
典型的なシステムはプロセッサタスクをスケジュールするタスクスケジューラを有する。新しいタスクが発生するとき及びタスクがスケジュール変更を必要とするときに割り込み要求がプロセッサに通知される。
いくつかのシステムは固定のスケジュールポリシを用いるために、高い優先順位のアプリケーション又は高い優先順位のタスクが自動的にプロセッサに現在のタスクを中断させる。これはシングルプロセッサシステムに対して有用であるが、マルチプロセッサシステムの最適化のためにはもっと精巧な優先順位付けポリシが要求される。
いくつかのマルチプロセッサシステムはもっとフレキシブルな割り込みスケジュールポリシを使用する。一つのこのようなシステムでは、割り込み要求は第1のプロセッサに転送され、第1のプロセッサが高い負荷で動作している場合には、このポリシでは自動的に第1のプロセッサがその割り込み要求を利用されていない第2のプロセッサへ再転送し、割り込みタスクが一層効率的に実行される。
割り込み要求の自動再転送は割り込み履歴テーブル及びプロセッサ履歴テーブルの使用に依存し、これらのテーブルは一緒に割り込みスケジュールを更新するために使用できる。このように、割り込みスケジュールはプロセッサ履歴情報に基づいて更新することができる。システムは、スケジュールテーブル情報、既知の予め決定された基準値及びプロセッサ統計情報を比較し、割り込みスケジュールテーブルを最適に変更する。一つの模範的なシステムが米国特許第6,237,058号明細書に開示されている。
あいにく、プロセッサ履歴及び割り込み履歴が分かっていて使用されている場合であっても、割り込み要求が終了間近のタスクを妨害するようにスケジュールされる状況が起こり得る。終了間近のタスクへの割り込みは、キャッシュをオーバライトする不所望な影響を与え、他のシステマティックレイテンシを導入し得る。従って、割り込みスケジュール及び割り込みスケジュールポリシを総合システムパフォーマンスが改善されるように変更するもっと良好な方法の開発が望まれている。
基本的な理解及び高レベルの概観を与えるために簡単な要約を以下に提示する。この要約は広範囲に及ぶものではない。主要な又は重要な要素を特定するつもりも、範囲を特定するつもりもない。この要約の唯一の目的は、後に提示される本発明のいくつかの好適実施例のより詳細な説明の前置きとして、いくつかのコンセプトを簡単な形で提示することにある。加えて、ここで使用するセクション見出しは単に便宜上つけただけで、何ら限定の意図はない。
マルチプロセッサシステムの最適なシステムパフォーマンスは、割り込み要求が処理される方法に依存する。最適なシステムパフォーマンスは、現在のトランザクションが完了できるように割り込み要求の実行を遅らせたり、別のプロセッサに再転送することを必要とする。
マルチプロセッサシステムにおいてはプロセッサタスクは共有され、トランザクションに分割される場合が多い。トランザクションはプロセッサ周波数、バス速度及びメモリのアクセシビリティ及び速度に依存する所定の時間を必要とする。システムパフォーマンスを最適にするためには、システムが高い優先順位のタスクに対する割り込み要求に直面したときでも、多くのトランザクションが完了されるのが理想的である。従って、トランザクション完了時間は、それが注意深く予測、推定もしくは計算されたなら、最適システムパフォーマンスを得るために使用できる重要な考慮事項である。これは、割り込み要求を受け入れるために種々のレベルのキャッシュ又はメインメモリをパージする又は再割当てする必要があるときに特に真である。
マルチプロセッサシステムにおいて割り込み負荷をプロセッサに分散する本発明の方法では、現在のトランザクションを第1のプロセッサで実行し、割り込み要求を発生し、この割り込み要求を第1のプロセッサに送る。本発明の方法では、現在のトランザクションについて第1のトランザクション完了時間を推定する。
本発明の一つの態様によれば、それぞれのシステムプロセッサと関連するトランザクションハンドラがトランザクション完了時間を推定する。トランザクションハンドラはトランザクション完了時間をもっとも正確に且つ高速に推定すべくそれぞれのプロセッサを連続的に監視する。代替方法では、トランザクションハンドラ又は他のデバイスは、割り込み要求が発生される時間にトランザクション完了時間を推定し、割り込み要求を第2のプロセッサへ再転送する。
本発明の方法では、更に、第2のプロセッサで実行されている現在のトランザクションについて第2のトランザクション完了時間を推定する。第2のトランザクション完了時間が第1のトランザクション完了時間より小さい場合には、割り込み要求は直ちに再2のプロセッサに再転送される。
本発明の一つの方法では、各プロセッサがトランザクションを処理する際に各プロセッサについてトランザクション完了時間の推定が行われる。この方法によれば、割り込み要求は最低の推定トランザクション完了時間を有するプロセッサに転送される。
本発明の方法は、プロセッサが実質的に均等な負荷で動作するようにプロセッサ間のロードバランシングを用いる対称型マルチプロセッサシステムに特に適用可能であるが、本発明は非対称型マルチプロセッサシステムにも適用できる。他の態様及び実施の形態は図に示され、以下に詳細に説明される。
本発明は、添付図面と関連して以下に記載する本発明の種々の実施例の詳細な説明を参照するともっと完全に理解される。
本発明は種々の変更及び代替が可能であるが、その特定の実施例を図面に例示し、以下に詳細に説明する。しかし、本発明はこれらの特定の実施例に限定されるものではない。それどころか、本発明は添付の特許請求の範囲で限定される発明の精神及び範囲に含まれるすべての変更、同等及び代替構成をカバーすることを意図するものである。
図1は本発明によるシステムを示す。システム100は割り込み分散器102、プロセッサ104、プロセッサ106、プロセッサ108、キャッシュメモリ110、キャッシュメモリ112、キャッシュメモリ114、システムバス116及びメインメモリ108を含む。
各プロセッサ104,106,108はそれぞれ特定のキャッシュメモリ110,112,114と直接通信する。システムバス116はプロセッサ104,106,108をシステム100内でメインメモリ118と通信可能にする。
システム100は割り込み負荷をプロセッサの間で分散するよう機能する。各プロセッサは、トランザクションの実行を促進するためにそれぞれのキャッシュメモリ又はメインメモリを用いて、トランザクションおよびタスクを実行することができる。割り込み分散器102は、プロセッサ104,106,108と通信して割り込み要求をこれらのプロセッサに分散する。割り込み分散器102は、各割り込み要求が分散されるとき、その割り込み要求が最小のトランザクション完了時間を有するプロセッサに割り当てられるように、各プロセッサ104,106,108毎にトランザクション完了時間を推定するように構成される。本発明のこの例示的実施例では3つのプロセッサが示されているが、本発明は多数の追加のプロセッサを用いるシステムにも有用であると理解されたい。
本発明の一つの態様では、プロセッサ104,106,108は同期式であり、実質的に一定の周波数及び電圧で動作するように設計される。
本発明の代替態様では、プロセッサ104,106,108は非同期式であり、変化した又は可変の電圧で動作するように設計される。割り込み分散器102は、各プロセッサ104,106,108毎にトランザクション完了時間を推定するのに加えて、各プロセッサの推定トランジスタ完了時間を使用可能なプロセッサ周波数毎に表にする。
本発明の他の態様では、プロセッサ104,106,108は一つのプロセッサコアの一部分を構成し、システム100はシングルデバイスに構成される。
本発明は多数の個別ユニットで実現することもできることを理解されたい。この実現例では、プロセッサは個別ユニットであり、システムはメインメモリと、メインメモリをプロセッサに接続するバスとを含む。従って、キャッシュメモリ110,112,114はそれぞれプロセッサ104,106,108だけに割り当てられ、通信上各自のプロセッサとだけ関連する。
図2は、本発明による信号200を示す。システム100は、プロセッサ202,204,206,208と、各プロセッサとそれぞれ関連するトランザクションハンドラ210,212,214,216とを含む。システム200は第1のアービタ218、第2のアービタ222、第3のアービタ226と、メモリリソース220,224,228,230,232と、割り込み分散器234とを含む。
トランザクションハンドラ210,212,214,216は第1のアービタ218を介してメモリリソース220と通信する。メモリリソース220は第2のアービタ222を介してメモリリソース224と通信する。メモリリソース224はメインメモリモジュールであるメモリリソース228,238,232と通信システムする。
システム200はメモリの階層及びメモリとバスを含む複数の共用リソースを有する。プロセッサは共用リソースの使用を競争する。プロセッサ202,204,206,208は読出し及び書込みトランザクションを発行し、これらのトランザクションは各プロセッサ202,204,206,208とそれぞれ関連するそれぞれのトランザクションハンドラ210,212,214,216により受信される。トランザクションハンドラ210,212,214,216はメモリを含み、それらのメモリはそれぞれのプロセッサのトランザクション状態を保持する。本発明の一つの態様では、トランザクションハンドラ210,212,214,216はそれぞれのプロセッサ202,204,206,208をトランザクション状態について周期的にポーリングする。
現在のトランザクションの完了時間は種々の方法で決定できる。この実施例について考察する。図2のシステムでは、メモリリソース220及び224はキャッシュメモリである。メモリリソース228及び230はSRAM又はDRAMメモリである。メモリリソース232は磁気又は光ドライブメモリである。
プロセッサ202がSRAM/DRAMメモリ228内の所定のアドレスで実行されるべき読出し及び書込み命令を含むトランザクションを発行する。プロセッサ202と関連するトランザクションハンドラ210がこのトランザクションの処理を開始する。
複数のプロセッサ204,206及び208がレベル2のキャッシュメモリリソース220を共用する。トランザクションハンドラ210が、アービタバス218上でアービトレーションを行い、所定の持続時間T後に共用キャッシュメモリリソース220(L2キャッシュ)にアクセスする。トランザクションがキャッシュヒットを生じ、共用L2キャッシュメモリリソース220がトランザクションをサーブできる場合には、トランザクションはΔTサイクルの持続時間を有する追加のプロセッササイクル数内に完了する。しかし、共用L2キャッシュメモリリソース220がキャッシュミスを生じる場合には、下位レベルのメモリがトランザクションをサーブしなければならない。特に、トランザクションは必要な命令を格納するメモリリソースによりサーブされなければならない。この場合には、L3/L4メモリリソース224,228,メモリリソース230又はメインメモリ232がトランザクションをサーブしなければならない。トランザクションがL3メモリ224に転送される場合には、アービトレーションのためにTの持続時間を有する追加のプロセッササイクルを必要とする。従って、L3キャッシュヒットはTの持続時間を有する予測可能な数のプロセッササイクルを要することになるが、L3キャッシュミスは、トランザクションはL4メモリでサーブされなければならないという高い確実性を生じる。L4メモリのアクセスはTの標準持続時間を有する所定数のプロセッササイクルを必要とする。
,T及びTは静的に予測できる持続時間を有することが認められる。本発明の一つの態様では、これらの時間は、特定のキャッシュレベル、キャッシュメモリ速度及びトランザクション長を考慮した平均キャッシュアクセス時間に基づいて予測する。本発明の別の態様では、平均時間を用いることができる。本発明の他の態様では、実際の時間を各場合において計算する。
トランザクションハンドラ210,212,214及び216は、それぞれのプロセッサ202,204,206及び208についてトランザクション時間を追跡し、トランザクションがどの段階に進んでいるかを知る。本発明の一つの態様では、トランザクションハンドラは各プロセッサをポーリングし、各プロセッサトランザクションの進捗状況を表にする。本発明の他の態様では、トランザクションハンドラはそれぞれのプロセッサを周期的にポーリングする。特に、各トランザクションハンドラは、トランザクションの各段階における各トランザクションの平均、最小及び最大完了時間に関する情報を推定するためにタイマカウンタを有する。この情報に基づいて、任意のトランザクションに対する完了時間を推定できる。
例えば、第1のプロセッサ208及び第2のプロセッサ210により発行された2つのトランザクションが存在し得る。第1のプロセッサ208からの第1のトランザクションはL2キャッシュへのアクセスを待っているが、第2のトランザクションはL3キャッシュへのアクセスを待っている。トランザクションの完了はキャッシュヒットがあるかに依存する。第1及び第2のトランザクションの両方に対してキャッシュヒットがある場合には、これらのトランザクションに対する完了時間は同じとすることができる(L2及びL3キャッシュに対する平均アービトレーション時間はおなじであるものと仮定する)。しかし、両トランザクションともキャッシュミスした場合には、両トランザクションがL4キャッシュでサーブされる場合、第2のトランザクションが第1のトランザクションより先に完了する可能性が高い。しかし、キャッシュヒット情報が両トランザクションに対して得られる場合には、割り込みをキャッシュヒットを生じたプロセッサに容易に割り当てることができる。
本発明は、図2について記載したアーキテクチャに対して有用であるが、本発明を利用する他の可能なシステム構成を考案することができる。例えば、本発明は、キャッシュメモリを必要としないアーキテクチャを用いるように構成することができる。この構成は、例えばIBM Cellアーキテクチャに見られる。このシナリオでは、各レベルのメモリをアクセスする平均時間をもっと正確に予測することができる。
図3はマルチプロセッサシステムにおいて割り込み負荷を複数のプロセッサに分散する方法300を示す。この方法300は、現在のトランザクションを第1のプロセッサで実行するステップ302と、割り込み要求を受信するステップ304と、現在のトランザクションについてトランザクション完了時間を推定するステップ306と、前記割り込み要求を第2のプロセッサに再転送するステップ308と、前記割り込み要求を処理するステップ310とを含む。この割り込み要求を処理するステップ310は割り込み要求を受信するステップ304を反復させることができる。
現在のトランザクションを実行するステップ302は、トランザクションの特定の部分を処理するために第1のプロセッサを用いる。トランザクションは一般に定義可能な平均持続時間を有する。実行ステップ302は処理トランザクションの開始を含み、多数のプロセッササイクルを含むことができるが、トランザクションはまだ完全には終了していない。
割り込み分散器102はトランザクションの完了前に割り込み要求を発生する。この割り込み要求は第1のプロセッサ又は中間のプロセッサに伝えられる。第1のプロセッサ又は中間のプロセッサは、この割り込み要求を受信する(304)と、第1のプロセッサでの現在のトランザクションの実行(302)について完了時間を推定する。
第1のプロセッサが割り込み要求の受信後に完了時間を推定する(306)が、完了時間の推定(306)は中間プロセッサ、割り込み分散器、トランザクションハンドラ又は他のデバイスにより実行することもできる。ステップ306のタイミングは割り込み要求の発生時、割り込み要求の受信(304)時又は割り込み要求の受信(304)後に生起させることができる。
本発明の一つの態様では、完了時間の推定(306)は割り込み要求の発生より前に割り込み分散器102により達成される。割り込み分散器102が各トランザクション毎に予測されたトランザクション完了時間を予め表にすることができるように予測解析補助プロセッサが使用される。
割り込み要求の受信ステップ(304)は第1のプロセッサの現在トランザクションの実行ステップ(302)中に起り、割り込み要求を第2のプロセッサへ再転送するステップ(308)は、現在トランザクションが完了までに所定の又は推定された残存サイクル数を有し、第2のプロセッサが第2のプロセッサの現在トランザクションに対してこの所定の又は推定された残存さ数より小さい残存サイクル数を有するときに最適に生起する。
対称型処理システムにおいては、サイクルは固定の持続時間を有し、プロセッサがほぼ又は実質的に均等な負荷で動作するようにプロセッサ間の負荷分散が生じる。第2のトランザクション完了時間を推定するステップが第2のプロセッサで実行中の現在トランザクションに対して起り、第2のトランザクション完了時間が第1のトランジスタ完了時間より小さいときにのみ割り込み要求の第2のプロセッサへの再転送(308)が起こり得る。2より多数のプロセッサを有するシステムが最適に使用される。従って、再転送ステップ(308)は割り込み要求をシステム内の最小の推定トランザクション完了時間を有する使用可能なプロセッサに送る。
図4はマルチプロセッサにおいて割り込み負荷を複数のプロセッサに分散する方法400を示す。この方法400は、現在トランザクションを複数のプロセッサで実行するステップ402と、トランザクション完了時間を推定するためにこれらのプロセッサをポーリングするステップ404と、割り込み要求を発生するステップ406と、割り込み要求を最小の推定トランザクション時間を有するプロセッサに再転送するステップ408と、割り込み要求を処理し割り込み要求発生ステップ406を反復させるステップ410とを含む。
現在トランザクションを複数のプロセッサで実行するステップ402は、特定のプロセッサへのトランザクションの事前割り当てに頼る。これは、典型的には、対称型マルチプロセッサシステムのロードバランシング技術又は非対称型マルチプロセッサシステムの他のプロトコルにより達成される。トランザクション完了時間を推定するためにプロセッサをポーリングするステップ404は予測解析を使用する必要性を除去する。ポーリングは、割り込み要求の発生(406)に応答して又は割り込み要求を予期して周期的に行うことができる。
割り込み要求が発生される時をある程度の確かさで予測するために過去の割り込み要求を割り込みテーブルで追跡し外挿処理を行うことで、割り込み要求を予期することを達成できる。ポーリングステップ404は、割り込み要求が発生される選択された確度が得られるときに開始される。理想的には、システムパフォーマンスをアダプティブに最適化するために選択された確度がシステム制約により調整されるようにする。
本発明の別の代替態様では、ポーリングは、周期的ではなく割り込み要求がプロセッサにより受信されるのに応答して生起する。如何なる場合にも、割り込み要求はシステムパフォーマンスの最適化のために最小の推定トランザクション時間を有するプロセッサに転送される。
本発明をいくつかの特定の例示的実施例について説明したが、添付の特許請求の範囲に記載された本発明の精神及び範囲から逸脱することなく多くの変更を加えることができることは当業者が認識するところである。
本発明によるシステムを示す。 本発明によるシステムを示す。 本発明による方法を示すフローチャートである。 本発明による方法を示すフローチャートである。

Claims (20)

  1. マルチプロセッサシステムにおいて割り込み負荷を複数のプロセッサに分散する方法であって、
    現在のトランザクションを第1のプロセッサで実行するステップと、
    現在のトランザクションの実行中に割り込み要求を受信するステップと、
    現在のトランザクションについて第1のトランザクション完了時間を推定するステップと、
    前記割り込み要求を第2のプロセッサに再転送するステップと、
    を具えることを特徴とする方法。
  2. 請求項1記載の方法において、第2のプロセッサで実行中の現在のトランザクションについて第2のトランザクション完了時間を推定するステップと、 前記第2のトランザクション完了時間が前記第1のトランジスタ完了時間より小さいときにのみ前記割り込み要求を第2のプロセッサに再転送するステップを更に具えることを特徴とする方法。
  3. 請求項1記載の方法において、マルチプロセッサシステム内の各プロセッサについてトランザクション完了時間を推定するステップと、前記割り込み要求を最小の推定トランザクション完了時間を有するプロセッサに再転送するステップを更に具えることを特徴とする方法。
  4. 請求項3記載の方法において、前記プロセッサは対称型システムのプロセッサであり、前記プロセッサが実質的に均等な負荷で動作するようにプロセッサ間で負荷分散を行うステップを更に具える方法。
  5. マルチプロセッサシステムにおいて割り込み負荷を複数のプロセッサに分散する方法であって、
    現在のトランザクションを第1のプロセッサで実行するステップと、
    現在のトランザクションの実行中に割り込み要求を受信するステップと、
    前記割り込み要求を第1のプロセッサに転送するステップと、
    前記割り込み要求が発生されたときに現在のトランザクションについて第1のトランザクション完了時間を推定するステップと、
    前記割り込み要求を第2のプロセッサに再転送するステップと、
    を具えることを特徴とする方法。
  6. 請求項5記載の方法において、第2のプロセッサで実行中の現在のトランザクションについて第2のトランザクション完了時間を推定するステップと、 前記第2のトランザクション完了時間が前記第1のトランジスタ完了時間より小さいときにのみ前記割り込み要求を第2のプロセッサに再転送するステップを更に具えることを特徴とする方法。
  7. 請求項5記載の方法において、マルチプロセッサシステム内の各プロセッサについてトランザクション完了時間を推定するステップと、前記割り込み要求を最小の推定トランザクション完了時間を有するプロセッサに再転送するステップを更に具えることを特徴とする方法。
  8. 請求項7記載の方法において、前記プロセッサは対称型システムのプロセッサであり、前記プロセッサが実質的に均等な負荷で動作するようにプロセッサ間で負荷分散を行うステップを更に具える方法。
  9. マルチプロセッサシステムにおいて割り込み負荷を複数のプロセッサに分散する方法であって、
    複数の現在のトランザクションを各トランザクションが関連する複数のプロセッサの各々で実行するステップと、
    割り込み要求を発生するステップと、
    各プロセッサについてトランザクション完了時間を推定するステップと、
    前記割り込み要求を最小の推定トランザクション完了時間を有するプロセッサに転送するステップと、
    を具えることを特徴とする方法。
  10. 請求項9記載の方法において、各プロセッサについてトランザクション完了時間を推定する前記ステップは周期的に発生することを特徴とする方法。
  11. 請求項9記載の方法において、各プロセッサについてトランザクション完了時間を推定する前記ステップは、前記割り込み要求が発生されるときに発生することを特徴とする方法。
  12. 請求項9記載の方法において、前記割り込み要求を、前記トランザクション完了時間を推定する前に、中間プロセッサに伝えるステップを更に具えることを特徴とする方法。
  13. 請求項9記載の方法において、前記プロセッサは対称型システムのプロセッサであり、前記プロセッサが実質的に均等な負荷で動作するようにプロセッサ間で負荷分散を行うステップを更に具えることを特徴とする方法。
  14. 割り込み負荷を分配するシステムであって、
    各プロセッサがトランザクションを実行できる複数のプロセッサと、
    割り込み要求を分配するために前記プロセッサと通信する割り込み分散器とを具え、
    前記割り込み分散器は、各割り込み要求が分配される際に、前記割り込み要求が最小のトランザクション完了時間を有するプロセッサに割り振られるように、各プロセッサについてトランザクション完了時間を推定するように構成されていることを特徴とするシステム。
  15. 請求項14記載のシステムにおいて、前記プロセッサは同期式であり、実質的に一定の周波数で動作することを特徴とするシステム。
  16. 請求項15記載のシステムにおいて、前記プロセッサは一プロセッサコアの一部分を構成することを特徴とするシステム。
  17. 請求項15記載のシステムにおいて、前記プロセッサは個別ユニットであり、システムはメインメモリと前記メインメモリを前記プロセッサに接続するバスとを含むことを特徴とするシステム。
  18. 請求項17記載のシステムにおいて、各プロセッサと関連し通信するキャッシュメモリを更に具えることを特徴とするシステム。
  19. 請求項14記載のシステムにおいて、前記プロセッサは非同期式であり、各プロセッサについてトランザクション完了時間を推定するのに加えて、前記割り込み分散器が各プロセッサについて推定されたトランザクション時間を各使用可能なプロセッサ周波数毎に表にすることを特徴とするシステム。
  20. 請求項14記載のシステムにおいて、前記割り込み分散器は各プロセッサと関連するトランザクションハンドラと通信し、各トランザクションハンドラがぞれぞれのプロセスを連続的にモニタしてトランザクション完了時間を推定することを特徴とするシステム。
JP2008549088A 2006-01-04 2007-01-04 マルチプロセッサシステムにおける割り込み分散方法及びシステム Withdrawn JP2009534719A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US75642406P 2006-01-04 2006-01-04
PCT/IB2007/050014 WO2007077539A1 (en) 2006-01-04 2007-01-04 Methods and system for interrupt distribution in a multiprocessor system

Publications (1)

Publication Number Publication Date
JP2009534719A true JP2009534719A (ja) 2009-09-24

Family

ID=37909715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008549088A Withdrawn JP2009534719A (ja) 2006-01-04 2007-01-04 マルチプロセッサシステムにおける割り込み分散方法及びシステム

Country Status (6)

Country Link
US (1) US7899966B2 (ja)
EP (1) EP1971924B1 (ja)
JP (1) JP2009534719A (ja)
CN (1) CN101366012A (ja)
AT (1) ATE519163T1 (ja)
WO (1) WO2007077539A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015013848A (ja) * 2013-06-05 2015-01-22 デクセリアルズ株式会社 光学活性化合物の製造方法

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2235630A1 (en) * 2007-12-12 2010-10-06 Nxp B.V. Data processing system and method of interrupt handling
JP5169731B2 (ja) * 2008-10-24 2013-03-27 富士通セミコンダクター株式会社 マルチプロセッサシステムlsi
US7996595B2 (en) * 2009-04-14 2011-08-09 Lstar Technologies Llc Interrupt arbitration for multiprocessors
US8321614B2 (en) * 2009-04-24 2012-11-27 Empire Technology Development Llc Dynamic scheduling interrupt controller for multiprocessors
US8260996B2 (en) * 2009-04-24 2012-09-04 Empire Technology Development Llc Interrupt optimization for multiprocessors
US8234431B2 (en) * 2009-10-13 2012-07-31 Empire Technology Development Llc Interrupt masking for multi-core processors
US8312195B2 (en) * 2010-02-18 2012-11-13 Red Hat, Inc. Managing interrupts using a preferred binding between a device generating interrupts and a CPU
US8832709B2 (en) * 2010-07-19 2014-09-09 Flash Networks Ltd. Network optimization
KR101717494B1 (ko) * 2010-10-08 2017-03-28 삼성전자주식회사 인터럽트 처리 장치 및 방법
US8688074B2 (en) 2011-02-28 2014-04-01 Moisixell Networks Ltd. Service classification of web traffic
US9411624B2 (en) * 2011-11-22 2016-08-09 Red Hat Israel, Ltd. Virtual device interrupt hinting in a virtualization system
US9043522B2 (en) * 2012-10-17 2015-05-26 Arm Limited Handling interrupts in a multi-processor system
US9208113B2 (en) 2013-01-15 2015-12-08 Apple Inc. Deferred inter-processor interrupts
US9524195B2 (en) 2014-02-27 2016-12-20 International Business Machines Corporation Adaptive process for data sharing with selection of lock elision and locking
US9996145B2 (en) * 2013-11-18 2018-06-12 Nxp B.V. Shared interrupt multi-core architecture for low power applications
US9262206B2 (en) 2014-02-27 2016-02-16 International Business Machines Corporation Using the transaction-begin instruction to manage transactional aborts in transactional memory computing environments
US9442853B2 (en) 2014-02-27 2016-09-13 International Business Machines Corporation Salvaging lock elision transactions with instructions to change execution type
US9575890B2 (en) 2014-02-27 2017-02-21 International Business Machines Corporation Supporting atomic accumulation with an addressable accumulator
US9311178B2 (en) 2014-02-27 2016-04-12 International Business Machines Corporation Salvaging hardware transactions with instructions
US9411729B2 (en) 2014-02-27 2016-08-09 International Business Machines Corporation Salvaging lock elision transactions
US9430273B2 (en) 2014-02-27 2016-08-30 International Business Machines Corporation Suppressing aborting a transaction beyond a threshold execution duration based on the predicted duration
US9442775B2 (en) 2014-02-27 2016-09-13 International Business Machines Corporation Salvaging hardware transactions with instructions to transfer transaction execution control
US20150242344A1 (en) * 2014-02-27 2015-08-27 International Business Machines Corporation Delaying floating interruption while in tx mode
US9645879B2 (en) 2014-02-27 2017-05-09 International Business Machines Corporation Salvaging hardware transactions with instructions
US9424072B2 (en) 2014-02-27 2016-08-23 International Business Machines Corporation Alerting hardware transactions that are about to run out of space
US9471371B2 (en) 2014-02-27 2016-10-18 International Business Machines Corporation Dynamic prediction of concurrent hardware transactions resource requirements and allocation
US9336097B2 (en) 2014-02-27 2016-05-10 International Business Machines Corporation Salvaging hardware transactions
US9465673B2 (en) 2014-02-27 2016-10-11 International Business Machines Corporation Deferral instruction for managing transactional aborts in transactional memory computing environments to complete transaction by deferring disruptive events handling
US20150242347A1 (en) * 2014-02-27 2015-08-27 International Business Machines Corporation Evading floating interruption while in the transactional-execution mode
US9361041B2 (en) 2014-02-27 2016-06-07 International Business Machines Corporation Hint instruction for managing transactional aborts in transactional memory computing environments
US20150242216A1 (en) 2014-02-27 2015-08-27 International Business Machines Corporation Committing hardware transactions that are about to run out of resource
US9329946B2 (en) 2014-02-27 2016-05-03 International Business Machines Corporation Salvaging hardware transactions
US9524187B2 (en) 2014-03-02 2016-12-20 International Business Machines Corporation Executing instruction with threshold indicating nearing of completion of transaction
JP6365224B2 (ja) * 2014-10-21 2018-08-01 富士通株式会社 センシング制御プログラム及び携帯端末装置
US10089265B2 (en) * 2015-08-07 2018-10-02 Mediatek Inc. Methods and systems for handling interrupt requests
US10467162B2 (en) 2017-03-31 2019-11-05 Hewlett Packard Enterprise Development Lp Interrupt based on a last interrupt request indicator and a work acknowledgement
US10423550B2 (en) * 2017-10-25 2019-09-24 International Business Machines Corporation Managing efficient selection of a particular processor thread for handling an interrupt
US10838760B2 (en) 2017-11-29 2020-11-17 Nxp Usa, Inc. Systems and methods for interrupt distribution
JP2020021186A (ja) * 2018-07-31 2020-02-06 富士通株式会社 トランザクション制御装置、トランザクション制御プログラムおよびトランザクション制御方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3008896B2 (ja) 1997-06-16 2000-02-14 日本電気株式会社 共有バス型マルチプロセッサシステムの割り込み負荷分散システム
US6606676B1 (en) 1999-11-08 2003-08-12 International Business Machines Corporation Method and apparatus to distribute interrupts to multiple interrupt handlers in a distributed symmetric multiprocessor system
ATE492840T1 (de) * 2000-10-31 2011-01-15 Millennial Net Inc Vernetztes verarbeitungssystem mit optimiertem leistungswirkungsgrad
US6918117B2 (en) 2001-02-08 2005-07-12 International Business Machines Corporation Apparatus and method for dynamic load balancing of multiple cryptographic devices
US20040103251A1 (en) * 2002-11-26 2004-05-27 Mitchell Alsup Microprocessor including a first level cache and a second level cache having different cache line sizes

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015013848A (ja) * 2013-06-05 2015-01-22 デクセリアルズ株式会社 光学活性化合物の製造方法

Also Published As

Publication number Publication date
EP1971924A1 (en) 2008-09-24
WO2007077539A1 (en) 2007-07-12
CN101366012A (zh) 2009-02-11
US7899966B2 (en) 2011-03-01
EP1971924B1 (en) 2011-08-03
US20090228625A1 (en) 2009-09-10
ATE519163T1 (de) 2011-08-15

Similar Documents

Publication Publication Date Title
JP2009534719A (ja) マルチプロセッサシステムにおける割り込み分散方法及びシステム
US7962679B2 (en) Interrupt balancing for multi-core and power
US6895585B2 (en) Method of mixed workload high performance scheduling
US11461151B2 (en) Controller address contention assumption
JP2006202244A (ja) ソースデバイスに対するリクエストをスケジューリングする装置及び方法
JPH11282695A (ja) 多重システム・クラスタ内のサ―バの数を制御する方法及び装置
TW200910097A (en) Parallelism-aware memory request scheduling in shared memory controllers
US20130007386A1 (en) Memory arbiter with latency guarantees for multiple ports
US9507633B2 (en) Scheduling method and system
US6393505B1 (en) Methods and apparatus for data bus arbitration
US20070294448A1 (en) Information Processing Apparatus and Access Control Method Capable of High-Speed Data Access
EP0535793A2 (en) Method for managing data transfers in a computing system having a dual bus structure
US10545890B2 (en) Information processing device, information processing method, and program
US7007138B2 (en) Apparatus, method, and computer program for resource request arbitration
US20050125797A1 (en) Resource management for a system-on-chip (SoC)
US11113101B2 (en) Method and apparatus for scheduling arbitration among a plurality of service requestors
US20230063751A1 (en) A processor system and method for increasing data-transfer bandwidth during execution of a scheduled parallel process
WO2000028418A1 (en) Scheduling resource requests in a computer system
US10713089B2 (en) Method and apparatus for load balancing of jobs scheduled for processing
US11061724B2 (en) Programmable hardware scheduler for digital processing systems
Nair et al. Mediator-a mixed criticality deadline honored arbiter for multi-core real-time systems
CN101661406A (zh) 处理单元调度装置和方法
JP2006215621A (ja) Dma制御装置
JP3849578B2 (ja) 通信制御装置
EP3238085B1 (en) Virtual legacy wire

Legal Events

Date Code Title Description
A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20090907