JP7273383B2 - スケジューリング方法、およびスケジューリング装置 - Google Patents
スケジューリング方法、およびスケジューリング装置 Download PDFInfo
- Publication number
- JP7273383B2 JP7273383B2 JP2020056884A JP2020056884A JP7273383B2 JP 7273383 B2 JP7273383 B2 JP 7273383B2 JP 2020056884 A JP2020056884 A JP 2020056884A JP 2020056884 A JP2020056884 A JP 2020056884A JP 7273383 B2 JP7273383 B2 JP 7273383B2
- Authority
- JP
- Japan
- Prior art keywords
- processes
- time
- fpga
- order
- binary file
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
図1は、本実施形態に係るスケジューリング方法およびスケジューリング装置の基となる、コンテナ技術を用いた通信機器の仮想化およびコンテナ技術とFPGAとの関係の概念の一例を示す図である。仮想通信機器は、1つ以上のコンテナで構成されて動作している。それぞれのコンテナは、1つ以上のプロセスの集合として構成されている。仮想通信機器は、例えば、ルータ、ファイアウォール、基地局、モバイルコア等が考えられるが、これに限定されるわけではない。プロセスとは、仮想通信機器の行なう処理を1つまたは複数の機能ごとに分割したものである。例えば、仮想通信機器がルータである場合、パケットをフィルタリングする機能、通信プロトコルを管理する機能等がプロセスとして考えられるが、これに限定されるわけではない。
(スケジューリング装置の構成)
図3は、本実施形態に係るスケジューリング装置の概略構成の一例を示すブロック図である。図3では1つのサーバ10内での実装を説明しているが、それぞれの要素が別のサーバで実装されていてもよい。「プロセス-あ」は、ある仮想化されたネットワーク機器のプロセスを示している。FPGA20はサーバ内に実装されたFPGAであり、サーバ10内に1つのFPGAが実装された例で説明を行う。スケジューリング装置100は、タスクキュー110、スケジュール部120、バイナリ設定部130、および前処理測定部140によって構成されている。
(スケジューリング装置の構成)
図5は、本実施形態に係るスケジューリング装置の概略構成の一例を示すブロック図である。スケジューリング装置200は、タスクキュー110、スケジュール部120、バイナリ設定部130、前処理測定部140、およびポリシ設計部210によって構成されている。タスクキュー110、スケジュール部120、バイナリ設定部130、および前処理測定部140の機能は、第1の実施形態と同様であるため、説明は省略する。
次に、本実施形態に係るスケジューリング装置の動作の一例を、図6および図7のフローチャートを用いて説明する。図6および図7は、本実施形態に係るスケジューリング装置の動作の一例を示すフローチャートである。
次に実施例を説明する。以下の実施例では、プロセス間の公平性を重視して各プロセスにFPGAを割り当てる時間を決定する、いわゆるラウンドロビン方式と、ターンアラウンドタイムを小さくする、いわゆる最短ジョブ優先方式に基づいた方法を採用した場合の実施例を説明するが、本発明は、これに限定されるわけではない。各プロセスで利用する回路データのバイナリファイルを、時分割でFPGAに設定する際に、FPGAへの設定時間(前処理時間)を考慮したスケジューリングをする方法は、本発明に含まれる。
まず、公平性を重視する方法について説明する。ポリシ設計部に公平性重視が設定された場合は、スケジューリング装置は、プロセス間の割当時間を実質的に公平に割り当てることを重視することとする。この場合、スケジュール部は全プロセスに共通のタイムクウォンタムにプロセスごとの前処理時間を足したものを各プロセスに割り当てる時間とする。具体的な例として、図8(a)のプロセスをスケジュールする場合、および図9のプロセスをスケジュールする場合で説明する。図8(a)、(b)は、それぞれ、本実施例のプロセスの具体例を示す表および割当時間を示す概念図である。図9は、本実施例のプロセスの具体例を示す表である。図10は、図9に示されるプロセスの具体例に対する割当時間を示す概念図である。
次に、ターンアラウンドタイムを小さくする方法を説明する。ターンアラウンドタイムを小さくする代表的なスケジューリング方式として最短ジョブ優先方式がある。通常、最短ジョブ優先方式ではプロセス時間が最短であるものが優先して実行されるが、本発明では前処理時間とプロセス時間を足し合わせた初回プロセス時間が最短であるものが優先して実行される。
次に、ターンアラウンドタイムを小さくする方法において、タスクキューに同一のプロセスが複数入っていた場合の方法を説明する。タスクキューにセットされている複数の前記プロセスに同一のプロセスが含まれる場合、同一のプロセスを連続して実行する場合に限定して、それぞれのプロセスの初回プロセス時間を算出することが好ましい。言い換えると、タスクキューに同一のプロセスが複数入っていた場合には、各プロセスの順番の組み合わせから、同一プロセスが連続しないものを除き、その他の組み合わせの、各プロセスが終了する時間をそれぞれ足し合わせ、その合計値が一番小さいパターンでスケジュールする。
実施例3の動作の一例を図14のフローチャートを用いて説明する。図14は、実施例3のスケジューリング装置の動作の一例を示すフローチャートである。まず、タスクキューを確認する(ステップT1)。次に、タスクキューに同一プロセスが存在するかどうか確認し、同一プロセスが存在しない場合(ステップT2-NO)、初回プロセス時間が短い順に並び替え(ステップT3)、その順番でプロセスを実行し(ステップT8)、全てのプロセスが実行されたら終了する。
FPGAの時分割を適用する際、プロセス間に順序の制約や優先度を考慮する場合においても、前処理時間などの考慮が活用できる。例えば、図15のように優先値(優先度情報)を設けることで、プロセス間の順序制約や優先度などを表現することができる。図15の例では、優先値が大きいほど優先することを示し、「プロセス-あ」および「プロセス-う」は、「プロセス-い」の後に実行することを示している。例えば、これをラウンドロビン、タイムクォンタム5で実行した場合、図16のように、タイムクォンタムに前処理時間を加算したものがそれぞれに割り当てられつつ、「プロセス-い」を先に実行することになる。
なお、図15に示される優先値の場合、全てのプロセス間で同一の値を含め優先度の差異があり、これを用いて順序の制約を表すこともできるが、一部のプロセス間にのみ順序の制約を示す順序情報を設けてもよい。例えば、図18に示されるプロセスは、順序情報の数字の順序でプロセスが実行される必要があることを表し、「プロセス-あ」は「プロセス-い」の後に実行することを示し、「プロセス-う」は「プロセス-い」の前、「プロセス-い」と「プロセス-あ」の間、「プロセス-あ」の後の、どの段階で実行してもよいことを示している。
プリエンプション(優先度の高いものがタスクキューに新たに到着した際に、実行中のプロセスを停止して、優先度の高いプロセスを実行すること)方式が選択される場合においても、FPGAの時分割適用には、前処理時間等の考慮が必要になる。例えば、最短ジョブ優先方式が選択され、さらに図19(a)のように「プロセス-い」が遅れて到着し、プリエンプションが行われる場合は図19(b)のように実行される。但し、本実施例は図6、7のフローチャートとは少し異なることに注意が必要である。図6、7のフローチャートに従うと、到着時間0の「プロセス-あ、う」を実行した後で、タスクキューの確認に行くので、「プロセス-い」の到着に気が付けない。
次に、FPGAを利用するプロセスが存在しない時間に、FPGAにいずれかの回路情報(バイナリファイル)を設定して待機しておくことで、プロセスの処理時間を短縮する方法を説明する。次に実行される、FPGAを利用するプロセスの回路情報をFPGAに設定し待機しておけば、前処理時間を削減することができる。
20 FPGA
50 DB
100、200 スケジューリング装置
110 タスクキュー
120 スケジュール部
130 バイナリ設定部
140 前処理測定部
210 ポリシ設計部
Claims (10)
- 1または複数の仮想通信機器の複数のプロセスでFPGAを時分割で利用するスケジューリング方法であって、
タスクキューにセットされている前記プロセスを確認するステップと、
セットされている前記プロセスのバイナリファイルが前記FPGAに設定される前処理時間を取得するステップと、
前記タスクキューに複数の前記プロセスがセットされている場合、実行する前記プロセスの順序を決定するステップと、
前記決定された順序に従い、実行する順序が到来した前記プロセスのバイナリファイルを前記FPGAに設定し実行するステップと、を含み、
前記プロセスのバイナリファイルを前記FPGAに設定し実行する割当時間は、前記プロセスごとの前処理時間とすべての前記プロセスに同一のタイムクォンタムとの和として前記プロセスごとに決定されることを特徴とする方法。 - 1または複数の仮想通信機器の複数のプロセスでFPGAを時分割で利用するスケジューリング方法であって、
タスクキューにセットされている前記プロセスを確認するステップと、
セットされている前記プロセスのバイナリファイルが前記FPGAに設定される前処理時間を取得するステップと、
前記タスクキューに複数の前記プロセスがセットされている場合、実行する前記プロセスの順序を決定するステップと、
前記決定された順序に従い、実行する順序が到来した前記プロセスのバイナリファイルを前記FPGAに設定し実行するステップと、を含み、
前記前処理時間を取得するステップにおいて、前記プロセスごとのプロセス時間をさらに取得し、
前記プロセスの順序は、前記プロセスごとの前処理時間と前記プロセス時間との和である初回プロセス時間に基づいて決定されることを特徴とする方法。 - 1または複数の仮想通信機器の複数のプロセスでFPGAを時分割で利用するスケジューリング方法であって、
前記プロセスの順序または前記プロセスのバイナリファイルを前記FPGAに設定し実行する割当時間を決定する方法を示すポリシの設定要求を受け付け、設定するステップと、
タスクキューにセットされている前記プロセスを確認するステップと、
セットされている前記プロセスのバイナリファイルが前記FPGAに設定される前処理時間を取得するステップと、
複数の前記プロセスのうち一部の前記プロセスの順序の制約を示す順序情報を取得するステップと、
前記タスクキューに複数の前記プロセスがセットされている場合、実行する前記プロセスの順序を決定するステップと、
前記決定された順序に従い、実行する順序が到来した前記プロセスのバイナリファイルを前記FPGAに設定し実行するステップと、を含み、
前記プロセスの順序は、設定された前記ポリシ、前記プロセスごとの前処理時間を含む考慮時間、および前記順序情報に基づいて決定されることを特徴とする方法。 - 1または複数の仮想通信機器の複数のプロセスでFPGAを時分割で利用するスケジューリング方法であって、
タスクキューにセットされている前記プロセスを確認するステップと、
セットされている前記プロセスのバイナリファイルが前記FPGAに設定される前処理時間を取得するステップと、
前記タスクキューに複数の前記プロセスがセットされている場合、実行する前記プロセスの順序を決定するステップと、
前記決定された順序に従い、実行する順序が到来した前記プロセスのバイナリファイルを前記FPGAに設定し実行するステップと、
過去の一定の時間内に実行された前記プロセスの現在の実行される可能性の高さを示す待機順位情報を取得するステップと、を含み、
前記プロセスの順序または前記プロセスのバイナリファイルを前記FPGAに設定し実行する割当時間は、前記プロセスごとの前処理時間を含む考慮時間に基づいて決定され、
前記FPGAを利用する前記プロセスが存在しないときに、前記待機順位情報に基づいて選択された前記プロセスのバイナリファイルを前記FPGAにあらかじめ設定することを特徴とする方法。 - 前記タスクキューにセットされている複数の前記プロセスに同一のプロセスが含まれる場合、前記同一のプロセスを連続して実行する場合に限定して、それぞれのプロセスの前記初回プロセス時間を算出することを特徴とする請求項2記載の方法。
- 過去の一定の時間内に実行された前記プロセスの現在の実行される可能性の高さを示す待機順位情報を取得するステップを有し、
前記FPGAを利用する前記プロセスが存在しないときに、前記待機順位情報に基づいて選択された前記プロセスのバイナリファイルを前記FPGAにあらかじめ設定することを特徴とする請求項1から請求項3のいずれかに記載の方法。 - 1または複数の仮想通信機器の複数のプロセスでFPGAを時分割で利用させるスケジューリング装置であって、
前記プロセスの実行命令を格納するタスクキューと、
前記タスクキューにセットされている前記プロセスを確認し、前記タスクキューに複数の前記プロセスがセットされている場合、実行する前記プロセスの順序を決定し、前記決定された順序に従い、実行する順序が到来した前記プロセスのバイナリファイルの前記FPGAへの設定を依頼し、設定されたバイナリファイルを実行するスケジュール部と、
前記スケジュール部に依頼された前記プロセスのバイナリファイルを前記FPGAに設定するバイナリ設定部と、
セットされている前記プロセスのバイナリファイルが前記FPGAに設定される前処理時間を取得する前処理測定部と、を備え、
前記プロセスのバイナリファイルを前記FPGAに設定し実行する割当時間は、前記プロセスごとの前処理時間とすべての前記プロセスに同一のタイムクォンタムとの和として前記プロセスごとに決定されることを特徴とするスケジューリング装置。 - 1または複数の仮想通信機器の複数のプロセスでFPGAを時分割で利用させるスケジューリング装置であって、
前記プロセスの実行命令を格納するタスクキューと、
前記タスクキューにセットされている前記プロセスを確認し、前記タスクキューに複数の前記プロセスがセットされている場合、実行する前記プロセスの順序を決定し、前記決定された順序に従い、実行する順序が到来した前記プロセスのバイナリファイルの前記FPGAへの設定を依頼し、設定されたバイナリファイルを実行するスケジュール部と、
前記スケジュール部に依頼された前記プロセスのバイナリファイルを前記FPGAに設定するバイナリ設定部と、
セットされている前記プロセスのバイナリファイルが前記FPGAに設定される前処理時間を取得する前処理測定部と、を備え、
前記スケジュール部は、前記プロセスごとのプロセス時間を取得し、
前記プロセスの順序は、前記プロセスごとの前処理時間とプロセス時間との和である初回プロセス時間に基づいて決定されることを特徴とするスケジューリング装置。 - 1または複数の仮想通信機器の複数のプロセスでFPGAを時分割で利用させるスケジューリング装置であって、
前記プロセスの順序または前記プロセスのバイナリファイルを前記FPGAに設定し実行する割当時間を決定する方法を示すポリシを設定するポリシ設計部と、
前記プロセスの実行命令を格納するタスクキューと、
前記タスクキューにセットされている前記プロセスを確認し、前記タスクキューに複数の前記プロセスがセットされている場合、実行する前記プロセスの順序を決定し、前記決定された順序に従い、実行する順序が到来した前記プロセスのバイナリファイルの前記FPGAへの設定を依頼し、設定されたバイナリファイルを実行するスケジュール部と、
前記スケジュール部に依頼された前記プロセスのバイナリファイルを前記FPGAに設定するバイナリ設定部と、
セットされている前記プロセスのバイナリファイルが前記FPGAに設定される前処理時間を取得する前処理測定部と、を備え、
前記スケジュール部は、複数の前記プロセスのうち一部の前記プロセスの順序の制約を示す順序情報を取得し、
前記プロセスの順序は、設定された前記ポリシ、前記プロセスごとの前処理時間を含む考慮時間、および前記順序情報に基づいて決定されることを特徴とするスケジューリング装置。 - 1または複数の仮想通信機器の複数のプロセスでFPGAを時分割で利用させるスケジューリング装置であって、
前記プロセスの実行命令を格納するタスクキューと、
前記タスクキューにセットされている前記プロセスを確認し、前記タスクキューに複数の前記プロセスがセットされている場合、実行する前記プロセスの順序を決定し、前記決定された順序に従い、実行する順序が到来した前記プロセスのバイナリファイルの前記FPGAへの設定を依頼し、設定されたバイナリファイルを実行するスケジュール部と、
前記スケジュール部に依頼された前記プロセスのバイナリファイルを前記FPGAに設定するバイナリ設定部と、
セットされている前記プロセスのバイナリファイルが前記FPGAに設定される前処理時間を取得する前処理測定部と、を備え、
前記スケジュール部は、過去の一定の時間内に実行された前記プロセスの現在の実行される可能性の高さを示す待機順位情報を取得し、
前記プロセスの順序または前記プロセスのバイナリファイルを前記FPGAに設定し実行する割当時間は、前記プロセスごとの前処理時間を含む考慮時間に基づいて決定され、
前記バイナリ設定部は、前記FPGAを利用する前記プロセスが存在しないときに、前記待機順位情報に基づいて選択された前記プロセスのバイナリファイルを前記FPGAにあらかじめ設定することを特徴とするスケジューリング装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020056884A JP7273383B2 (ja) | 2020-03-26 | 2020-03-26 | スケジューリング方法、およびスケジューリング装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020056884A JP7273383B2 (ja) | 2020-03-26 | 2020-03-26 | スケジューリング方法、およびスケジューリング装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2021157482A JP2021157482A (ja) | 2021-10-07 |
| JP7273383B2 true JP7273383B2 (ja) | 2023-05-15 |
Family
ID=77918439
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2020056884A Active JP7273383B2 (ja) | 2020-03-26 | 2020-03-26 | スケジューリング方法、およびスケジューリング装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7273383B2 (ja) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2007029421A1 (ja) | 2005-09-05 | 2007-03-15 | Nec Corporation | 情報処理装置 |
| JP2008152470A (ja) | 2006-12-15 | 2008-07-03 | Hitachi Ltd | データ処理システム及び半導体集積回路 |
| JP2016164752A (ja) | 2015-03-06 | 2016-09-08 | 富士ゼロックス株式会社 | 情報処理装置 |
| JP2017021488A (ja) | 2015-07-08 | 2017-01-26 | 富士通株式会社 | 制御装置、制御方法及びプログラム |
| JP2017117204A (ja) | 2015-12-24 | 2017-06-29 | 富士通株式会社 | プロセッサ、再構成可能回路の制御方法及びプログラム |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08137703A (ja) * | 1994-11-08 | 1996-05-31 | Matsushita Electric Ind Co Ltd | タスク切替装置 |
-
2020
- 2020-03-26 JP JP2020056884A patent/JP7273383B2/ja active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2007029421A1 (ja) | 2005-09-05 | 2007-03-15 | Nec Corporation | 情報処理装置 |
| JP2008152470A (ja) | 2006-12-15 | 2008-07-03 | Hitachi Ltd | データ処理システム及び半導体集積回路 |
| JP2016164752A (ja) | 2015-03-06 | 2016-09-08 | 富士ゼロックス株式会社 | 情報処理装置 |
| JP2017021488A (ja) | 2015-07-08 | 2017-01-26 | 富士通株式会社 | 制御装置、制御方法及びプログラム |
| JP2017117204A (ja) | 2015-12-24 | 2017-06-29 | 富士通株式会社 | プロセッサ、再構成可能回路の制御方法及びプログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2021157482A (ja) | 2021-10-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6763520B1 (en) | Fair assignment of processing resources to queued requests | |
| US9367357B2 (en) | Simultaneous scheduling of processes and offloading computation on many-core coprocessors | |
| CN113454614A (zh) | 用于分布式计算中的资源划分的系统和方法 | |
| CN109564528B (zh) | 分布式计算中计算资源分配的系统和方法 | |
| US9152467B2 (en) | Method for simultaneous scheduling of processes and offloading computation on many-core coprocessors | |
| CN102567086B (zh) | 一种任务调度的方法、设备和系统 | |
| EP3553657A1 (en) | Method and device for allocating distributed system task | |
| CN106326003B (zh) | 一种作业调度和计算资源分配方法 | |
| US20020052909A1 (en) | Efficient assignment of processing resources in a fair queuing system | |
| US12547464B2 (en) | Systems and methods of hybrid centralized distributive scheduling on shared physical hosts | |
| CN111258745B (zh) | 一种任务处理方法及设备 | |
| CN109936604A (zh) | 一种资源调度方法、装置和系统 | |
| JPH07141305A (ja) | 並列計算機の実行制御方法 | |
| CN113886069B (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
| CN105718316A (zh) | 一种作业调度的方法及装置 | |
| CN114995971B (zh) | 实现kubernetes中pod批量调度方法及系统 | |
| CN112073498B (zh) | 一种资源分配方法及装置 | |
| CN109271236A (zh) | 一种业务调度的方法、装置、计算机存储介质及终端 | |
| CN114077486A (zh) | 一种MapReduce任务调度方法及系统 | |
| EP3274828B1 (en) | Methods and nodes for scheduling data processing | |
| CN117311899A (zh) | 任务处理、任务调度方法、计算设备及计算机存储介质 | |
| CN114706663A (zh) | 一种计算资源调度方法、介质及计算设备 | |
| CN113127178B (zh) | 资源抢占方法及装置、计算机可读存储介质、电子设备 | |
| JP7273383B2 (ja) | スケジューリング方法、およびスケジューリング装置 | |
| CN120104287A (zh) | 基于Kubernetes的调度方法、装置及介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220202 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221226 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230124 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230324 |
|
| 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: 20230404 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230417 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7273383 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |