JP4606142B2 - スケジューリング方法、スケジューリング装置およびマルチプロセッサシステム - Google Patents
スケジューリング方法、スケジューリング装置およびマルチプロセッサシステム Download PDFInfo
- Publication number
- JP4606142B2 JP4606142B2 JP2004348479A JP2004348479A JP4606142B2 JP 4606142 B2 JP4606142 B2 JP 4606142B2 JP 2004348479 A JP2004348479 A JP 2004348479A JP 2004348479 A JP2004348479 A JP 2004348479A JP 4606142 B2 JP4606142 B2 JP 4606142B2
- Authority
- JP
- Japan
- Prior art keywords
- execution
- group
- processor
- thread
- execution unit
- 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 - Lifetime
Links
Images
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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Description
図1は、実施の形態1に係るマルチプロセッサシステムの構成図である。マルチプロセッサシステムは、複数のプロセッシングエレメント(PE)100とメインメモリ120を有し、それらはメインバス110に接続されている。各プロセッシングエレメント100は、プロセッサ130、ローカルメモリ140、およびメモリ制御部150を含む。プロセッサ130はローカルメモリ140に対してデータを読み書きすることができる。メモリ制御部150は、他のプロセッシングエレメント100のプロセッサ130からローカルメモリ140のデータを参照するときのインタフェースを与えるとともに、メモリの同期・排他制御の機能を提供する。
N(H)+N(M)>n
N(H)+N(L)≦n
実施の形態2に係るマルチプロセッサシステムは、図1のマルチプロセッサシステムと同じ構成であり、スレッドスケジューリングにより、ある時刻に各プロセッサ130には1つのスレッドが割り当てられ、マルチプロセッサシステム全体で並列に複数のスレッドが実行される。
実施の形態2のマルチプロセッサシステムでは、スレッドグループを定義しなかったが、実施の形態1と同様にスレッドをグループ化し、スレッドグループ単位でスケジューリングを行ってもよい。実施の形態3のマルチプロセッサシステムは、実施の形態1のマルチプロセッサシステムにおいて、実施の形態2で述べた非スケジューリング対象実行実体の占有資源をアドレス空間にメモリマップする方法を採用したものである。
Claims (23)
- マルチプロセッサシステムにおいて、並列処理されるスケジューリング対象の実行単位を複数のプロセッサに割り当てる順序をスケジュールする方法であって、
1つ以上の前記スケジューリング対象の実行単位をグループ化し、同一グループに属する前記実行単位の各々により占有されるプロセッサ内の資源を互いに参照できるように、各実行単位が参照するアドレス空間に前記資源をマップするステップと、
前記スケジューリング対象の実行単位を1つ以上含むグループの内、実行待ちおよび実行中の状態にあるグループを格納した実行待ちキューの先頭から順にグループを取り出すステップと、
実行単位とその実行単位が割り当てられているプロセッサとの対応関係を保持するスケジュールテーブルを参照し、前記実行待ちキューから順次取り出したグループに属する各実行単位が前記スケジュールテーブルにある場合、その実行単位が割り当てられているプロセッサにフラグを設定するステップと、
前記実行待ちキューから順次取り出したグループに属する各実行単位が前記スケジュールテーブルになく、そのグループに属するすべての実行単位を同時にいずれかのプロセッサに割り当てることができる場合、そのグループを前記割り当てリストに追加するステップと、
前記割り当てリストに格納されたグループに属するすべての実行単位を前記スケジュールテーブルにおいて前記フラグが設定されていないプロセッサに割り当てるステップとを含むことを特徴とするスケジューリング方法。 - マルチプロセッサシステムにおいて、並列処理されるスケジューリング対象の実行単位を複数のプロセッサに割り当てる順序をスケジュールする方法であって、
前記スケジューリング対象の実行単位を1つ以上含むグループの内、実行待ちおよび実行中の状態にあるグループを格納した実行待ちキューの先頭から順にグループを取り出すステップと、
実行単位とその実行単位が割り当てられているプロセッサとの対応関係を保持するスケジュールテーブルを参照し、前記実行待ちキューから順次取り出したグループに属する各実行単位が前記スケジュールテーブルにある場合、その実行単位が割り当てられているプロセッサにフラグを設定するステップと、
前記実行待ちキューから順次取り出したグループに属する各実行単位が前記スケジュールテーブルになく、そのグループに属するすべての実行単位を同時にいずれかのプロセッサに割り当てることができる場合、そのグループを前記割り当てリストに追加するステップと、
前記割り当てリストに格納されたグループに属するすべての実行単位を前記スケジュールテーブルにおいて前記フラグが設定されていないプロセッサに割り当てるステップとを含むことを特徴とするスケジューリング方法。 - マルチプロセッサシステムにおいて、並列処理されるスケジューリング対象の実行単位を複数のプロセッサに割り当てる順序をスケジュールする方法であって、
1つ以上の前記スケジューリング対象の実行単位を含むグループの内、実行待ちおよび実行中の状態にあるグループを格納した実行待ちキューの先頭から順に前記グループを取り出すステップと、
実行単位とその実行単位が割り当てられているプロセッサとの対応関係を保持するスケジュールテーブルを参照し、前記実行待ちキューから順次取り出したグループに属する各実行単位が前記スケジュールテーブルにある場合、その実行単位が割り当てられているプロセッサにフラグを設定するステップと、
前記実行待ちキューから順次取り出したグループに属する各実行単位が前記スケジュールテーブルになく、そのグループに属するすべての実行単位を同時にいずれかのプロセッサに割り当てることができる場合、そのグループを前記割り当てリストに追加するステップと、
前記割り当てリストに格納されたグループに属するすべての実行単位を前記スケジュールテーブルにおいて前記フラグが設定されていないプロセッサに割り当てるステップとを含み、
前記実行待ちキューから取り出したグループに属するすべての実行単位を同時にいずれかのプロセッサに割り当てることができない場合は、それ以降に前記実行待ちキューから取り出されるグループの割り当てを優先することを特徴とするスケジューリング方法。 - プロセッサに割り当てる前記実行単位の数がプロセッサ総数に達するか、または前記実行待ちキューの末尾から前記グループが取り出されるに至るまで、前記実行待ちキューから順次取り出されるグループのプロセッサへの割り当て処理を繰り返すことを特徴とする請求項3に記載のスケジューリング方法。
- 前記実行待ちキューの先頭から順次取り出されるグループに属する各実行単位が既にいずれかのプロセッサに割り当てられて実行中である場合、その実行中である実行単位は、他のプロセッサに割り当て先を変更されて再配置されないように、その実行中である実行単位の当該プロセッサへの割り当てを確保することを特徴とする請求項3または4に記載のスケジューリング方法。
- マルチプロセッサシステムにおいて、並列処理されるスケジューリング対象の実行単位を複数のプロセッサに割り当てる順序をスケジュールする装置であって、
1つ以上の前記スケジューリング対象の実行単位をグループ化し、同一グループに属する前記実行単位の各々により占有されるプロセッサ内の資源を互いに参照できるように、各実行単位が参照するアドレス空間に前記資源をマップして管理するメモリ制御部と、
実行待ちおよび実行中の状態にあるグループを格納した実行待ちキューと、
前記実行待ちキューの先頭から順にグループを取り出し、取り出したグループに属するすべての実行単位を同時にいずれかのプロセッサに割り当てることができる場合に限り、そのグループをプロセッサへの割り当て候補となるグループを格納した割り当てリストに追加する割り当てリスト生成部と、
前記割り当てリスト生成部により生成された前記割り当てリストに格納されたグループに属するすべての実行単位を複数のプロセッサに割り当てる割り当て部と、
実行単位とその実行単位が割り当てられているプロセッサとの対応関係を保持するスケジュールテーブルとを含み、
前記割り当てリスト生成部は、前記実行待ちキューから順次取り出したグループに属する各実行単位が前記スケジュールテーブルにある場合、その実行単位が割り当てられているプロセッサにフラグを設定し、前記実行待ちキューから順次取り出したグループに属する各実行単位が前記スケジュールテーブルになく、そのグループに属するすべての実行単位を同時にいずれかのプロセッサに割り当てることができる場合、そのグループを前記割り当てリストに追加し、
前記割り当て部は、前記割り当てリストに格納されたグループに属するすべての実行単位を前記スケジュールテーブルにおいて前記フラグが設定されていないプロセッサに割り当てることを特徴とするスケジューリング装置。 - 当該装置は、実行単位をグループ化する初期設定の際に、同一グループに属する各実行単位が占有する前記資源の前記アドレス空間へのマップ先の領域を決定し、その資源のマップ先の領域に関する設定情報を当該グループが削除されるまで保持することを特徴とする請求項6に記載のスケジューリング装置。
- 前記割り当て部によりいずれかのプロセッサに同時に割り当てられた同一グループに属する第1および第2の実行単位について、前記第1の実行単位が、前記アドレス空間にマップされた同一グループ内の前記第2の実行単位の資源領域にデータを書き込む操作を行うことにより、同一グループ内の前記第1の実行単位から前記第2の実行単位にデータが渡されることを特徴とする請求項6または7に記載のスケジューリング装置。
- 前記割り当て部によりいずれかのプロセッサに同時に割り当てられた同一グループに属する第1および第2の実行単位について、前記第1の実行単位が、前記アドレス空間にマップされた同一グループ内の前記第2の実行単位の資源領域にデータを書き込む操作を行い、前記第2の実行単位が、当該資源に対するデータの書き込みの完了を待つことにより、同一グループ内の前記第1の実行単位と前記第2の実行単位の間で同期が取られることを特徴とする請求項6または7に記載のスケジューリング装置。
- マルチプロセッサシステムにおいて、並列処理されるスケジューリング対象の実行単位を複数のプロセッサに割り当てる順序をスケジュールする装置であって、
1つ以上の前記スケジューリング対象の実行単位を含むグループの内、実行待ちおよび実行中の状態にあるグループを格納した実行待ちキューと、
前記実行待ちキューの先頭から順にグループを取り出し、取り出したグループに属するすべての実行単位を同時にいずれかのプロセッサに割り当てることができる場合に限り、そのグループをプロセッサへの割り当て候補となるグループを格納した割り当てリストに追加する割り当てリスト生成部と、
前記割り当てリスト生成部により生成された前記割り当てリストに格納されたグループに属するすべての実行単位を複数のプロセッサに割り当てる割り当て部と、
実行単位とその実行単位が割り当てられているプロセッサとの対応関係を保持するスケジュールテーブルとを含み、
前記割り当てリスト生成部は、前記実行待ちキューから順次取り出したグループに属する各実行単位が前記スケジュールテーブルにある場合、その実行単位が割り当てられているプロセッサにフラグを設定し、前記実行待ちキューから順次取り出したグループに属する各実行単位が前記スケジュールテーブルになく、そのグループに属するすべての実行単位を同時にいずれかのプロセッサに割り当てることができる場合、そのグループを前記割り当てリストに追加し、
前記割り当て部は、前記割り当てリストに格納されたグループに属するすべての実行単位を前記スケジュールテーブルにおいて前記フラグが設定されていないプロセッサに割り当てることを特徴とするスケジューリング装置。 - 前記割り当てリスト生成部は、プロセッサに割り当てる実行単位の個数がプロセッサ総数に達するか、または前記実行待ちキューの末尾から前記グループが取り出されるに至るまで、前記割り当てリストの生成処理を繰り返すことを特徴とする請求項10に記載のスケジューリング装置。
- 同一グループに属する各実行単位がそれぞれの占有するプロセッサ内の資源を互いに参照できるように、前記資源は各実行単位が参照するアドレス空間にマップされていることを特徴とする請求項10または11に記載のスケジューリング装置。
- 前記割り当て部によりいずれかのプロセッサに同時に割り当てられた同一グループに属する各実行単位が、前記アドレス空間にマップされた同一グループに属する各実行単位の資源領域に対してデータを読み書きすることにより、同一グループに属する複数の実行単位の間でデータの共有がなされることを特徴とする請求項12に記載のスケジューリング装置。
- 前記割り当て部によりいずれかのプロセッサに同時に割り当てられた同一グループに属する第1および第2の実行単位について、前記第1の実行単位が、前記アドレス空間にマップされた同一グループ内の前記第2の実行単位の資源領域にデータを書き込む操作を行うことにより、同一グループ内の前記第1の実行単位から前記第2の実行単位にデータが渡されることを特徴とする請求項12に記載のスケジューリング装置。
- 前記割り当て部によりいずれかのプロセッサに同時に割り当てられた同一グループに属する第1および第2の実行単位について、前記第1の実行単位が、前記アドレス空間にマップされた同一グループ内の前記第2の実行単位の資源領域にデータを書き込む操作を行い、前記第2の実行単位が、当該資源に対するデータの書き込みの完了を待つことにより、同一グループ内の前記第1の実行単位と前記第2の実行単位の間で同期が取られることを特徴とする請求項12に記載のスケジューリング装置。
- 並列処理されるスケジューリング対象の実行単位を複数のプロセッサに割り当てて並列に実行するマルチプロセッサシステムであって、
1つのプロセッサは、前記スケジューリング対象の実行単位を他の複数のプロセッサに割り当てるスケジューラを含み、
前記スケジューラは、
1つ以上の前記スケジューリング対象の実行単位をグループ化し、同一グループに属する前記実行単位の各々により占有されるプロセッサ内の資源を互いに参照できるように、各実行単位が参照するアドレス空間に前記資源をマップして管理するメモリ制御部と、
実行待ちおよび実行中の状態にあるグループを格納した実行待ちキューと、
前記実行待ちキューの先頭から順にグループを取り出し、取り出したグループに属するすべての実行単位を同時にいずれかのプロセッサに割り当てることができる場合に限り、そのグループをプロセッサへの割り当て候補となるグループを格納した割り当てリストに追加する割り当てリスト生成部と、
前記割り当てリスト生成部により生成された前記割り当てリストに格納されたグループに属するすべての実行単位を複数のプロセッサに割り当てる割り当て部と、
実行単位とその実行単位が割り当てられているプロセッサとの対応関係を保持するスケジュールテーブルとを含み、
前記割り当てリスト生成部は、前記実行待ちキューから順次取り出したグループに属する各実行単位が前記スケジュールテーブルにある場合、その実行単位が割り当てられているプロセッサにフラグを設定し、前記実行待ちキューから順次取り出したグループに属する各実行単位が前記スケジュールテーブルになく、そのグループに属するすべての実行単位を同時にいずれかのプロセッサに割り当てることができる場合、そのグループを前記割り当てリストに追加し、
前記割り当て部は、前記割り当てリストに格納されたグループに属するすべての実行単位を前記スケジュールテーブルにおいて前記フラグが設定されていないプロセッサに割り当てることを特徴とするマルチプロセッサシステム。 - 並列処理されるスケジューリング対象の実行単位を複数のプロセッサに割り当てて並列に実行するマルチプロセッサシステムであって、
1つのプロセッサは、前記スケジューリング対象の実行単位を他の複数のプロセッサに割り当てるスケジューラを含み、
前記スケジューラは、
1つ以上の前記スケジューリング対象の実行単位を含むグループの内、実行待ちおよび実行中の状態にあるグループを格納した実行待ちキューと、
前記実行待ちキューの先頭から順にグループを取り出し、取り出したグループに属するすべての実行単位を同時にいずれかのプロセッサに割り当てることができる場合に限り、そのグループを割り当てリストに追加する割り当てリスト生成部と、
前記割り当てリスト生成部により生成された前記割り当てリストに格納されたグループに属するすべての実行単位を複数のプロセッサに割り当てる割り当て部と、
実行単位とその実行単位が割り当てられているプロセッサとの対応関係を保持するスケジュールテーブルとを含み、
前記割り当てリスト生成部は、前記実行待ちキューから順次取り出したグループに属する各実行単位が前記スケジュールテーブルにある場合、その実行単位が割り当てられているプロセッサにフラグを設定し、前記実行待ちキューから順次取り出したグループに属する各実行単位が前記スケジュールテーブルになく、そのグループに属するすべての実行単位を同時にいずれかのプロセッサに割り当てることができる場合、そのグループを前記割り当てリストに追加し、
前記割り当て部は、前記割り当てリストに格納されたグループに属するすべての実行単位を前記スケジュールテーブルにおいて前記フラグが設定されていないプロセッサに割り当てることを特徴とするマルチプロセッサシステム。 - 並列処理されるスケジューリング対象の実行単位を1つ以上含むグループの内、実行待ちおよび実行中の状態にあるグループを格納した実行待ちキューの先頭から順にグループを取り出すステップと、
実行単位とその実行単位が割り当てられているプロセッサとの対応関係を保持するスケジュールテーブルを参照し、前記実行待ちキューから順次取り出したグループに属する各実行単位が前記スケジュールテーブルにある場合、その実行単位が割り当てられているプロセッサにフラグを設定するステップと、
前記実行待ちキューから順次取り出したグループに属する各実行単位が前記スケジュールテーブルになく、そのグループに属するすべての実行単位を同時にいずれかのプロセッサに割り当てることができる場合、そのグループを前記割り当てリストに追加するステップと、
前記割り当てリストに格納されたグループに属するすべての実行単位を前記スケジュールテーブルにおいて前記フラグが設定されていないプロセッサに割り当てるステップとをコンピュータに実行させることを特徴とするプログラム。 - 複数のプロセッサの内、少なくとも1つのプロセッサを並列処理されるスケジューリング対象の実行単位の割り当て対象から除外し、非割り当て対象のプロセッサ上で動作するスケジュール対象とならない実行単位により独占的に占有される当該プロセッサ内の資源を前記スケジューリング対象の実行単位から参照できるように、各実行単位が参照するアドレス空間に前記資源をマップした上で、前記実行単位の割り当て対象のプロセッサへの割り当てを制御することを特徴とする請求項1から3のいずれかに記載のスケジューリング方法。
- 前記メモリ制御部は、複数のプロセッサの内、少なくとも1つのプロセッサを並列処理されるスケジューリング対象の実行単位の割り当て対象から除外し、非割り当て対象のプロセッサ上で動作するスケジュール対象とならない実行単位により独占的に占有される当該プロセッサ内の資源を前記スケジューリング対象の実行単位から参照できるように、各スケジューリング対象の実行単位が参照するアドレス空間に前記資源をマップして管理することを特徴とする請求項6に記載のスケジューリング装置。
- 非割り当て対象のプロセッサ上で動作する非スケジューリング対象の実行単位により独占的に占有される当該プロセッサ内の資源の前記アドレス空間へのマップ先の領域は、いずれのスケジューリング対象の実行単位から見ても同じアドレスに固定されていることを特徴とする請求項20に記載のスケジューリング装置。
- 前記割り当て部によりいずれかのプロセッサに割り当てられた前記スケジューリング対象の実行単位が、前記アドレス空間にマップされた非割り当て対象のプロセッサ上で動作する非スケジューリング対象の実行単位の資源領域にデータを書き込む操作を行うことにより、非割り当て対象のプロセッサの資源が直接的に制御されることを特徴とする請求項20または21に記載のスケジューリング装置。
- 前記割り当て部によりいずれかのプロセッサに割り当てられた前記スケジューリング対象の実行単位が、前記アドレス空間にマップされた非割り当て対象のプロセッサ上で動作する非スケジューリング対象の実行単位の資源領域にデータを書き込む操作を行い、前記非割り当て対象のプロセッサ上で動作する非スケジューリング対象の実行単位が、当該資源に対するデータの書き込みの完了を待つことにより、前記スケジューリング対象の実行単位と前記非スケジューリング対象の実行単位の間で同期が取られることを特徴とする請求項20または21に記載のスケジューリング装置。
Priority Applications (7)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004348479A JP4606142B2 (ja) | 2004-12-01 | 2004-12-01 | スケジューリング方法、スケジューリング装置およびマルチプロセッサシステム |
| PCT/JP2005/021663 WO2006059543A1 (ja) | 2004-12-01 | 2005-11-25 | スケジューリング方法、スケジューリング装置およびマルチプロセッサシステム |
| EP05809655.3A EP1837762B1 (en) | 2004-12-01 | 2005-11-25 | Scheduling method, scheduling device, and multiprocessor system |
| CN2005800412782A CN101069161B (zh) | 2004-12-01 | 2005-11-25 | 调度方法、调度装置和多处理器系统 |
| US11/291,073 US7913257B2 (en) | 2004-12-01 | 2005-11-30 | Scheduling method, scheduling apparatus and multiprocessor system |
| TW094142287A TWI410866B (zh) | 2004-12-01 | 2005-12-01 | 排程方法、排程裝置、多工處理器系統及排程用程式 |
| US13/012,054 US8166482B2 (en) | 2004-12-01 | 2011-01-24 | Scheduling method, scheduling apparatus and multiprocessor system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004348479A JP4606142B2 (ja) | 2004-12-01 | 2004-12-01 | スケジューリング方法、スケジューリング装置およびマルチプロセッサシステム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2006155480A JP2006155480A (ja) | 2006-06-15 |
| JP4606142B2 true JP4606142B2 (ja) | 2011-01-05 |
Family
ID=36564977
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004348479A Expired - Lifetime JP4606142B2 (ja) | 2004-12-01 | 2004-12-01 | スケジューリング方法、スケジューリング装置およびマルチプロセッサシステム |
Country Status (6)
| Country | Link |
|---|---|
| US (2) | US7913257B2 (ja) |
| EP (1) | EP1837762B1 (ja) |
| JP (1) | JP4606142B2 (ja) |
| CN (1) | CN101069161B (ja) |
| TW (1) | TWI410866B (ja) |
| WO (1) | WO2006059543A1 (ja) |
Families Citing this family (93)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7913206B1 (en) * | 2004-09-16 | 2011-03-22 | Cadence Design Systems, Inc. | Method and mechanism for performing partitioning of DRC operations |
| DE102005001025A1 (de) * | 2005-01-07 | 2006-07-27 | Infineon Technologies Ag | Multithread-Prozessor mit Kontext-Umschaltung ohne Einschränkungen und/oder Zyklenverlust und Verfahren zum Betreiben eines solchen |
| 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 |
| US7506140B2 (en) * | 2005-02-04 | 2009-03-17 | Mips Technologies, Inc. | Return data selector employing barrel-incrementer-based round-robin apparatus |
| US7681014B2 (en) * | 2005-02-04 | 2010-03-16 | Mips Technologies, Inc. | Multithreading instruction scheduler employing thread group priorities |
| 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 |
| 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 |
| 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 |
| US7752627B2 (en) * | 2005-02-04 | 2010-07-06 | Mips Technologies, Inc. | Leaky-bucket thread scheduler in a multithreading microprocessor |
| 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 |
| 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 |
| US7904852B1 (en) | 2005-09-12 | 2011-03-08 | Cadence Design Systems, Inc. | Method and system for implementing parallel processing of electronic design automation tools |
| JP4388518B2 (ja) * | 2005-11-01 | 2009-12-24 | 株式会社ソニー・コンピュータエンタテインメント | スレッドデバッグ装置、スレッドデバッグ方法及びプログラム |
| US20070150895A1 (en) * | 2005-12-06 | 2007-06-28 | Kurland Aaron S | Methods and apparatus for multi-core processing with dedicated thread management |
| US8448096B1 (en) | 2006-06-30 | 2013-05-21 | Cadence Design Systems, Inc. | Method and system for parallel processing of IC design layouts |
| US7657856B1 (en) | 2006-09-12 | 2010-02-02 | Cadence Design Systems, Inc. | Method and system for parallel processing of IC design layouts |
| US7961745B2 (en) * | 2006-09-16 | 2011-06-14 | Mips Technologies, Inc. | Bifurcated transaction selector 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 |
| US7990989B2 (en) * | 2006-09-16 | 2011-08-02 | Mips Technologies, Inc. | Transaction selector employing transaction queue group 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 |
| JP5050601B2 (ja) * | 2007-03-23 | 2012-10-17 | 日本電気株式会社 | ジョブへの資源割当方式、ジョブへの資源割当方法およびプログラム |
| US20080271027A1 (en) * | 2007-04-27 | 2008-10-30 | Norton Scott J | Fair share scheduling with hardware multithreading |
| US9384159B2 (en) * | 2007-05-24 | 2016-07-05 | International Business Machines Corporation | Creating a checkpoint for a software partition in an asynchronous input/output environment |
| JP2009020692A (ja) * | 2007-07-11 | 2009-01-29 | Toshiba Corp | タスク管理装置、タスク管理方法及びタスク管理プログラム |
| TWI386851B (zh) * | 2007-09-14 | 2013-02-21 | Hon Hai Prec Ind Co Ltd | 排程任務更新系統及方法 |
| JP4907488B2 (ja) * | 2007-10-24 | 2012-03-28 | 株式会社リコー | 画像処理装置、画像処理方法及び該方法を実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体 |
| TWI462011B (zh) * | 2007-12-28 | 2014-11-21 | Accton Technology Corp | 程序之執行緒群組管理方法 |
| CN101494636B (zh) * | 2008-01-23 | 2013-01-16 | 中兴通讯股份有限公司 | 一种基于快速io互连技术的数据排序方法及装置 |
| US8561072B2 (en) * | 2008-05-16 | 2013-10-15 | Microsoft Corporation | Scheduling collections in a scheduler |
| US8566830B2 (en) * | 2008-05-16 | 2013-10-22 | Microsoft Corporation | Local collections of tasks in a scheduler |
| US8769048B2 (en) * | 2008-06-18 | 2014-07-01 | Commvault Systems, Inc. | Data protection scheduling, such as providing a flexible backup window in a data protection system |
| US8296773B2 (en) | 2008-06-30 | 2012-10-23 | International Business Machines Corporation | Systems and methods for thread assignment and core turn-off for integrated circuit energy efficiency and high-performance |
| WO2010001736A1 (ja) | 2008-07-04 | 2010-01-07 | 日本電気株式会社 | マルチプロセッサシステム、マルチスレッド処理方法、及びプログラム |
| JP5173712B2 (ja) | 2008-09-30 | 2013-04-03 | ルネサスエレクトロニクス株式会社 | マルチスレッドプロセッサ |
| JP5173711B2 (ja) | 2008-09-30 | 2013-04-03 | ルネサスエレクトロニクス株式会社 | マルチスレッドプロセッサ及びそのハードウェアスレッドのスケジュール方法 |
| JP5173713B2 (ja) | 2008-09-30 | 2013-04-03 | ルネサスエレクトロニクス株式会社 | マルチスレッドプロセッサ及びそのハードウェアスレッドのスケジュール方法 |
| GB0820920D0 (en) * | 2008-11-14 | 2008-12-24 | Wolfson Microelectronics Plc | Codec apparatus |
| WO2010089900A1 (en) * | 2009-02-05 | 2010-08-12 | Nec Corporation | Method, system and program for deadline constrained task admission control and scheduling using genetic approach |
| JP5241550B2 (ja) * | 2009-02-12 | 2013-07-17 | 株式会社日立製作所 | ファイル入出力方法 |
| WO2010092483A1 (en) * | 2009-02-13 | 2010-08-19 | Alexey Raevsky | Devices and methods for optimizing data-parallel processing in multi-core computing systems |
| US20110010716A1 (en) * | 2009-06-12 | 2011-01-13 | Arvind Raghuraman | Domain Bounding for Symmetric Multiprocessing Systems |
| JP5447807B2 (ja) * | 2009-08-07 | 2014-03-19 | 株式会社日立製作所 | バリア同期方法及び計算機 |
| US8352946B2 (en) * | 2009-08-11 | 2013-01-08 | International Business Machines Corporation | Managing migration ready queue associated with each processor based on the migration ready status of the tasks |
| US8832712B2 (en) * | 2009-09-09 | 2014-09-09 | Ati Technologies Ulc | System and method for synchronizing threads using shared memory having different buffer portions for local and remote cores in a multi-processor system |
| CN101673223B (zh) * | 2009-10-22 | 2012-03-21 | 同济大学 | 基于片上多处理器的线程调度实现方法 |
| JP5526748B2 (ja) * | 2009-12-09 | 2014-06-18 | 日本電気株式会社 | パケット処理装置、パケット振り分け装置、制御プログラム及びパケット分散方法 |
| CN101788908B (zh) * | 2010-01-26 | 2014-11-05 | 浪潮(山东)电子信息有限公司 | 一种支持断点续航的批量数据处理方法 |
| WO2011118011A1 (ja) | 2010-03-25 | 2011-09-29 | 富士通株式会社 | マルチコアプロセッサシステム、制御プログラム、および制御方法 |
| US9886315B2 (en) * | 2010-08-27 | 2018-02-06 | Ebay Inc. | Identity and semaphore-based quality of service |
| US8789065B2 (en) | 2012-06-08 | 2014-07-22 | Throughputer, Inc. | System and method for input data load adaptive parallel processing |
| US20130117168A1 (en) * | 2011-11-04 | 2013-05-09 | Mark Henrik Sandstrom | Maximizing Throughput of Multi-user Parallel Data Processing Systems |
| US9158592B2 (en) * | 2011-05-02 | 2015-10-13 | Green Hills Software, Inc. | System and method for time variant scheduling of affinity groups comprising processor core and address spaces on a synchronized multicore processor |
| RU2011117765A (ru) * | 2011-05-05 | 2012-11-10 | ЭлЭсАй Корпорейшн (US) | Устройство (варианты) и способ реализации двухпроходного планировщика задач линейной сложности |
| WO2012153200A1 (en) * | 2011-05-10 | 2012-11-15 | International Business Machines Corporation | Process grouping for improved cache and memory affinity |
| KR101897598B1 (ko) * | 2011-05-13 | 2018-09-13 | 삼성전자 주식회사 | 디지털 디바이스의 어플리케이션 처리 속도 향상 방법 및 장치 |
| EP2707796A4 (en) | 2011-05-13 | 2016-06-08 | Samsung Electronics Co Ltd | METHOD AND DEVICE FOR INCREASING THE APPLICATION PROCESSING SPEED IN A DIGITAL DEVICE |
| CN102193779A (zh) * | 2011-05-16 | 2011-09-21 | 武汉科技大学 | 一种面向MPSoC的多线程调度方法 |
| US8745626B1 (en) * | 2012-12-17 | 2014-06-03 | Throughputer, Inc. | Scheduling application instances to configurable processing cores based on application requirements and resource specification |
| US9448847B2 (en) | 2011-07-15 | 2016-09-20 | Throughputer, Inc. | Concurrent program execution optimization |
| US9158587B2 (en) * | 2012-01-19 | 2015-10-13 | International Business Machines Corporation | Flexible task and thread binding with preferred processors based on thread layout |
| US9069564B1 (en) * | 2012-02-14 | 2015-06-30 | Netlogic Microsystems, Inc. | Weighted instruction count scheduling |
| US9286115B2 (en) * | 2012-06-21 | 2016-03-15 | Microsoft Technology Licensing, Llc | Performant runtime pause with no CPU utilization |
| CN102929707B (zh) * | 2012-11-06 | 2015-10-07 | 无锡江南计算技术研究所 | 并行任务动态分配方法 |
| JP5676664B2 (ja) * | 2013-02-27 | 2015-02-25 | Necプラットフォームズ株式会社 | リソース管理装置、リソースの管理方法、及びプログラム |
| CN104422694A (zh) * | 2013-09-11 | 2015-03-18 | 法国圣戈班玻璃公司 | 测量数据的处理装置及处理方法、光学测量系统 |
| GB2521155B (en) | 2013-12-10 | 2021-06-02 | Advanced Risc Mach Ltd | Configuring thread scheduling on a multi-threaded data processing apparatus |
| GB2521151B (en) * | 2013-12-10 | 2021-06-02 | Advanced Risc Mach Ltd | Configurable thread ordering for a data processing apparatus |
| US10169121B2 (en) | 2014-02-27 | 2019-01-01 | Commvault Systems, Inc. | Work flow management for an information management system |
| JP6364827B2 (ja) * | 2014-03-10 | 2018-08-01 | 日本電気株式会社 | 情報処理装置、及び、そのリソースアクセス方法、並びに、リソースアクセスプログラム |
| JP6442947B2 (ja) * | 2014-09-19 | 2018-12-26 | 日本電気株式会社 | 情報処理装置、情報処理方法及びそのプログラム |
| CN105656973B (zh) * | 2014-11-25 | 2018-11-13 | 中国科学院声学研究所 | 一种分布式节点组内任务调度方法及系统 |
| US10297347B2 (en) * | 2015-04-06 | 2019-05-21 | Preventice Solutions, Inc. | Adverse event prioritization and handling |
| US9727944B2 (en) * | 2015-06-22 | 2017-08-08 | Apple Inc. | GPU instruction storage |
| US20180032376A1 (en) * | 2016-07-27 | 2018-02-01 | Samsung Electronics Co .. Ltd. | Apparatus and method for group-based scheduling in multi-core processor system |
| CN106445675B (zh) * | 2016-10-20 | 2019-12-31 | 焦点科技股份有限公司 | 一种b2b平台分布式应用调度与资源分配方法 |
| US10789240B2 (en) * | 2017-11-06 | 2020-09-29 | Google Llc | Duplicative data detection |
| JP7042105B2 (ja) | 2018-02-16 | 2022-03-25 | 日立Astemo株式会社 | プログラム実行制御方法および車両制御装置 |
| US10754729B2 (en) | 2018-03-12 | 2020-08-25 | Commvault Systems, Inc. | Recovery point objective (RPO) driven backup scheduling in a data storage management system |
| EP3776242A1 (en) * | 2018-03-31 | 2021-02-17 | Micron Technology, Inc. | Multi-threaded self-scheduling reconfigurable computing fabric |
| US10754706B1 (en) | 2018-04-16 | 2020-08-25 | Microstrategy Incorporated | Task scheduling for multiprocessor systems |
| CN108595366A (zh) * | 2018-04-16 | 2018-09-28 | 哈尔滨工业大学(威海) | 一种实时的容错的多处理器系统结构模型 |
| US10860443B2 (en) | 2018-12-10 | 2020-12-08 | Commvault Systems, Inc. | Evaluation and reporting of recovery readiness in a data storage management system |
| JP7105927B2 (ja) * | 2019-01-30 | 2022-07-25 | 富士フイルム株式会社 | 医用画像解析装置、方法およびプログラム |
| CN112667369A (zh) * | 2020-06-08 | 2021-04-16 | 宸芯科技有限公司 | 一种线程调度方法、装置、存储介质及电子设备 |
| CN114237274B (zh) * | 2021-09-28 | 2024-04-19 | 航天时代飞鸿技术有限公司 | 融合imu的旋翼无人机环境障碍物快速感知方法及系统 |
| US12131184B2 (en) | 2021-10-29 | 2024-10-29 | Blackberry Limited | Thread scheduling including preemption of a thread in a kernel persona |
| US12106141B2 (en) | 2021-10-29 | 2024-10-01 | Blackberry Limited | Interrupt handling |
| US12112193B2 (en) | 2021-10-29 | 2024-10-08 | Blackberry Limited | Thread state transitions |
| US12118384B2 (en) | 2021-10-29 | 2024-10-15 | Blackberry Limited | Scheduling of threads for clusters of processors |
| US20240045741A1 (en) * | 2022-08-02 | 2024-02-08 | Capital One Services, Llc | Methods and systems for a three-tiered content notification system for a data exchange featuring non-homogenous data types |
| KR20240136005A (ko) * | 2023-03-06 | 2024-09-13 | 한국전자통신연구원 | 병렬연산작업 오프로딩 장치 및 방법 |
| TWI906139B (zh) * | 2025-02-06 | 2025-11-21 | 新唐科技股份有限公司 | 電子裝置及控制方法 |
Family Cites Families (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06187312A (ja) * | 1992-12-18 | 1994-07-08 | Omron Corp | マルチcpuシステムにおける処理方法および装置 |
| JP3259620B2 (ja) * | 1995-12-21 | 2002-02-25 | 株式会社日立製作所 | 資源割り当て方法 |
| JPH09179834A (ja) * | 1995-12-25 | 1997-07-11 | Hitachi Ltd | 並列システムにおけるプロセスのスケジューリング方法 |
| JPH09274608A (ja) * | 1996-04-04 | 1997-10-21 | Hitachi Ltd | マルチプロセッサシステムにおけるプロセッサ間の負荷配分制御方法 |
| JPH1063525A (ja) * | 1996-08-23 | 1998-03-06 | Canon Inc | 情報処理装置、情報処理システム及びその制御方法 |
| GB2334116A (en) * | 1998-02-04 | 1999-08-11 | Ibm | Scheduling and dispatching queued client requests within a server computer |
| US6601146B2 (en) * | 1998-06-16 | 2003-07-29 | International Business Machines Corporation | Technique for efficiently transferring moderate amounts of data across address space boundary |
| US6314501B1 (en) * | 1998-07-23 | 2001-11-06 | Unisys Corporation | Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory |
| US6910210B1 (en) * | 1998-11-24 | 2005-06-21 | Microsoft Corp. | System and method for terminating applications |
| JP3557947B2 (ja) * | 1999-05-24 | 2004-08-25 | 日本電気株式会社 | 複数のプロセッサで同時にスレッドの実行を開始させる方法及びその装置並びにコンピュータ可読記録媒体 |
| US6526491B2 (en) * | 2001-03-22 | 2003-02-25 | Sony Corporation Entertainment Inc. | Memory protection system and method for computer architecture for broadband networks |
| JP2003263331A (ja) * | 2002-03-07 | 2003-09-19 | Toshiba Corp | マルチプロセッサシステム |
| US7360219B2 (en) * | 2002-12-13 | 2008-04-15 | Hewlett-Packard Development Company, L.P. | Systems and methods for facilitating fair and efficient scheduling of processes among multiple resources in a computer system |
| US20040237087A1 (en) * | 2003-05-08 | 2004-11-25 | Nong Ye | Job scheduling techniques to reduce the variance of waiting time |
| JP3892829B2 (ja) * | 2003-06-27 | 2007-03-14 | 株式会社東芝 | 情報処理システムおよびメモリ管理方法 |
-
2004
- 2004-12-01 JP JP2004348479A patent/JP4606142B2/ja not_active Expired - Lifetime
-
2005
- 2005-11-25 CN CN2005800412782A patent/CN101069161B/zh not_active Expired - Lifetime
- 2005-11-25 WO PCT/JP2005/021663 patent/WO2006059543A1/ja not_active Ceased
- 2005-11-25 EP EP05809655.3A patent/EP1837762B1/en not_active Expired - Lifetime
- 2005-11-30 US US11/291,073 patent/US7913257B2/en active Active
- 2005-12-01 TW TW094142287A patent/TWI410866B/zh active
-
2011
- 2011-01-24 US US13/012,054 patent/US8166482B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| US20060123420A1 (en) | 2006-06-08 |
| EP1837762A1 (en) | 2007-09-26 |
| TW200632743A (en) | 2006-09-16 |
| US20110119674A1 (en) | 2011-05-19 |
| CN101069161A (zh) | 2007-11-07 |
| US8166482B2 (en) | 2012-04-24 |
| EP1837762B1 (en) | 2017-03-01 |
| WO2006059543A1 (ja) | 2006-06-08 |
| EP1837762A4 (en) | 2014-09-17 |
| JP2006155480A (ja) | 2006-06-15 |
| TWI410866B (zh) | 2013-10-01 |
| US7913257B2 (en) | 2011-03-22 |
| CN101069161B (zh) | 2010-10-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4606142B2 (ja) | スケジューリング方法、スケジューリング装置およびマルチプロセッサシステム | |
| US11550627B2 (en) | Hardware accelerated dynamic work creation on a graphics processing unit | |
| JP5597196B2 (ja) | プロセス内のスケジューラインスタンス | |
| JP5597195B2 (ja) | スケジューラーにおけるスケジューリングコレクション | |
| EP2288989B1 (en) | Local collections of tasks in a scheduler | |
| US8769543B2 (en) | System and method for maximizing data processing throughput via application load adaptive scheduling and context switching | |
| US11698816B2 (en) | Lock-free work-stealing thread scheduler | |
| JP2011059777A (ja) | タスクスケジューリング方法及びマルチコアシステム | |
| JP2010044784A (ja) | システムにおける要求のスケジューリング | |
| KR20130033020A (ko) | 매니코어 시스템에서의 파티션 스케줄링 장치 및 방법 | |
| JP2006099332A (ja) | 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム | |
| JP5820525B2 (ja) | 仮想計算機のスケジュールシステム及びその方法 | |
| Suzuki et al. | Real-time GPU resource management with loadable kernel modules | |
| JP2009252133A (ja) | ベクトル処理装置及びベクトル処理方法 | |
| CN115599508A (zh) | Cpu及任务调度方法 | |
| Tabish et al. | SCE-Comm: A Real-Time Inter-Core Communication Framework for Strictly Partitioned Multi-core Processors | |
| JP2009211604A (ja) | 情報処理装置、情報処理方法、プログラム、及び、記憶媒体 | |
| JPH11249917A (ja) | 並列型計算機及びそのバッチ処理方法及び記録媒体 | |
| KR20260023016A (ko) | 컨텍스트 언맵 중 gpu 회로 자체 컨텍스트 저장 | |
| Huang et al. | REMUS: Efficient Multi-Request Scheduling in Computational Storage Devices | |
| JP3585956B2 (ja) | 情報処理装置及びその方法 | |
| Langer et al. | Work-in-Progress: Real-Time Scheduling of Parallel Applications with Gang Scheduling | |
| KR20060066465A (ko) | 유저 쓰레드 관리 장치 및 그 방법 | |
| AG | The Case for Migratory Priority Inheritance in Linux: Bounded Priority Inversions on Multiprocessors | |
| Warren | by Maria Lima |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071129 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091222 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100222 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100511 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100625 |
|
| 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: 20101005 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101005 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4606142 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131015 Year of fee payment: 3 |
|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20101124 |
|
| A072 | Dismissal of procedure [no reply to invitation to correct request for examination] |
Free format text: JAPANESE INTERMEDIATE CODE: A072 Effective date: 20110412 |
|
| 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 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| EXPY | Cancellation because of completion of term |