JP2013186637A - Multiprocessor device, scheduling method, and scheduling program - Google Patents
Multiprocessor device, scheduling method, and scheduling program Download PDFInfo
- Publication number
- JP2013186637A JP2013186637A JP2012050447A JP2012050447A JP2013186637A JP 2013186637 A JP2013186637 A JP 2013186637A JP 2012050447 A JP2012050447 A JP 2012050447A JP 2012050447 A JP2012050447 A JP 2012050447A JP 2013186637 A JP2013186637 A JP 2013186637A
- Authority
- JP
- Japan
- Prior art keywords
- program
- operation mode
- microprocessors
- setting
- unexecuted state
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 19
- 238000001514 detection method Methods 0.000 claims abstract description 25
- 238000010586 diagram Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 208000024891 symptom Diseases 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
Description
本発明に係るいくつかの態様は、複数のマイクロプロセッサを備えるマルチプロセッサ装置のスケジューリング技術に関する。 Some embodiments according to the present invention relate to a scheduling technique for a multiprocessor device including a plurality of microprocessors.
従来、入出力装置からの要求により処理を実行するファームウェアは、カーネルモードと呼ばれる優先度(プライオリティ)の高い動作モードで実行されていた。しかし、入出力装置からの要求に制限を課すことはできないため、入出力装置からの要求が増加して負荷が高くなったときに、通常の優先度(プライオリティ)で動作する他のプログラムを実行できない、という問題があった。一方、ファームウェアを通常の優先度(プライオリティ)で実行すると、他のプログラムも実行可能となるが、ファームウェアの応答時間(レスポンスタイム)が長くなって(低下して)しまう、という問題があった。 Conventionally, firmware that executes processing in response to a request from an input / output device has been executed in an operation mode with a high priority (priority) called a kernel mode. However, since there is no limit on requests from I / O devices, other programs that run at normal priority (priority) are executed when I / O device requests increase and the load increases. There was a problem that it was not possible. On the other hand, when the firmware is executed with a normal priority (priority), other programs can be executed, but there is a problem that the response time (response time) of the firmware becomes long (decreases).
この問題を解決するために、同一のファームウェアを搭載してそれぞれ個別に処理を行う複数のプロセッサと、これらの複数のプロセッサの管理を行う共通部のプロセッサとを備えたマルチプロセッサシステムが知られている(例えば、特許文献1参照)。 In order to solve this problem, a multiprocessor system is known that includes a plurality of processors that are loaded with the same firmware and perform processing individually, and a common processor that manages the plurality of processors. (For example, refer to Patent Document 1).
しかしながら、特許文献1のマルチプロセッサシステムのように、ファームウェアを実行するマイクロプロセッサと、その他の処理を実行するプロセッサと、を分ける(分割する)方法では、いわゆる分割損が生じてしまい、マイクロプロセッサのリソースの全てをファームウェアで使用(利用)することができない、という問題があった。 However, in the method of dividing (dividing) a microprocessor that executes firmware and a processor that executes other processing as in the multiprocessor system of Patent Document 1, a so-called division loss occurs, and the microprocessor is There was a problem that not all resources could be used (utilized) by firmware.
本発明のいくつかの態様は前述の問題に鑑みてなされたものであり、分割損を生じることなく、要求される時間内に入出力要求に対する応答を返すことができるととともに、他のプログラムの実行を保証することができるマルチプロセッサ装置、スケジューリング方法、および、スケジューリングプログラムを提供することを目的の1つとする。 Some aspects of the present invention have been made in view of the above-described problems. A response to an input / output request can be returned within a required time without causing a division loss, and other programs It is an object to provide a multiprocessor device, a scheduling method, and a scheduling program that can guarantee execution.
本発明に係るマルチプロセッサ装置は、複数のマイクロプロセッサを備えるマルチプロセッサ装置であって、第1のプログラムが第2のプログラムに優先して複数のマイクロプロセッサの全てを使用可能な第1の動作モードと、第2のプログラムが複数のマイクロプロセッサのうちの少なくとも1つを使用する第2の動作モードと、のうちのいずれかの動作モードを設定する設定部と、設定部により設定された動作モードに基づいて、第1のプログラムおよび第2のプログラムの少なくとも一方に前述のマイクロプロセッサを割り当てる割当部と、第2のプログラムの未実行状態を検出する検出部と、を備え、設定部は、検出部により第2のプログラムの未実行状態が検出されたときに、第1の動作モードを設定する。 A multiprocessor device according to the present invention is a multiprocessor device including a plurality of microprocessors, and a first operation mode in which a first program can use all of the plurality of microprocessors in preference to a second program. A second operation mode in which the second program uses at least one of the plurality of microprocessors, a setting unit for setting any one of the operation modes, and an operation mode set by the setting unit And an assigning unit that assigns the microprocessor to at least one of the first program and the second program, and a detection unit that detects an unexecuted state of the second program. When the unexecuted state of the second program is detected by the unit, the first operation mode is set.
本発明に係るスケジューリング方法は、複数のマイクロプロセッサを備えるマルチプロセッサ装置のスケジューリング方法であって、第1のプログラムが第2のプログラムに優先して複数のマイクロプロセッサの全てを使用可能な第1の動作モードと、第2のプログラムが複数のマイクロプロセッサのうちの少なくとも1つを使用する第2の動作モードと、のうちのいずれかの動作モードを設定する設定ステップと、設定された動作モードに基づいて、第1のプログラムおよび第2のプログラムの少なくとも一方に前述のマイクロプロセッサを割り当てる割当ステップと、第2のプログラムの未実行状態を検出する検出ステップと、を備え、設定ステップは、第2のプログラムの未実行状態が検出されたときに、第1の動作モードを設定する。 The scheduling method according to the present invention is a scheduling method for a multiprocessor device including a plurality of microprocessors, wherein the first program can use all of the plurality of microprocessors in preference to the second program. An operation mode, a second operation mode in which the second program uses at least one of the plurality of microprocessors, a setting step for setting one of the operation modes, and the set operation mode. An allocation step of allocating the microprocessor to at least one of the first program and the second program, and a detection step of detecting an unexecuted state of the second program. When the unexecuted state of the program is detected, the first operation mode is set
本発明に係るスケジューリングプログラムは、複数のマイクロプロセッサを備えるマルチプロセッサ装置のスケジューリングプログラムであって、第1のプログラムが第2のプログラムに優先して複数のマイクロプロセッサの全てを使用可能な第1の動作モードと、第2のプログラムが複数のマイクロプロセッサのうちの少なくとも1つを使用する第2の動作モードと、のうちのいずれかの動作モードを設定する設定ステップと、設定された動作モードに基づいて、第1のプログラムおよび第2のプログラムの少なくとも一方に前述のマイクロプロセッサを割り当てる割当ステップと、第2のプログラムの未実行状態を検出する検出ステップと、を備え、設定ステップは、第2のプログラムの未実行状態が検出されたときに、第1の動作モードを設定する。 A scheduling program according to the present invention is a scheduling program for a multiprocessor device including a plurality of microprocessors, wherein the first program can use all of the plurality of microprocessors in preference to the second program. An operation mode, a second operation mode in which the second program uses at least one of the plurality of microprocessors, a setting step for setting one of the operation modes, and the set operation mode. An allocation step of allocating the microprocessor to at least one of the first program and the second program, and a detection step of detecting an unexecuted state of the second program. When an unexecuted state of the program is detected, the first operation mode is To set.
本発明によれば、分割損を生じることなく、要求される時間内に入出力要求に対する応答を返すことができるととともに、第2のプログラムの実行を保証することができ、複数のCPUのリソースを効率的に使用して費用対効果(コストパフォーマンス)を向上させることができる。 According to the present invention, a response to an input / output request can be returned within a required time without causing a division loss, and the execution of the second program can be guaranteed, and resources of a plurality of CPUs can be guaranteed. Can be used efficiently to improve cost effectiveness.
以下に本発明の実施の形態を説明する。以下の図面の記載において、同一または類似の部分には同一または類似の符号で表している。但し、図面は模式的なものである。したがって、具体的な寸法などは以下の説明を照らし合わせて判断するべきものである。また、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることは勿論である。なお、以下の説明において、図面の上側を「上」、下側を「下」、左側を「左」、右側を「右」という。 Embodiments of the present invention will be described below. In the following description of the drawings, the same or similar parts are denoted by the same or similar reference numerals. However, the drawings are schematic. Therefore, specific dimensions and the like should be determined in light of the following description. Moreover, it is a matter of course that portions having different dimensional relationships and ratios are included between the drawings. In the following description, the upper side of the drawing is referred to as “upper”, the lower side as “lower”, the left side as “left”, and the right side as “right”.
図1ないし図6は、本発明の一実施形態を示すためのものである。図1は、本発明の一実施形態におけるマルチプロセッサ装置を説明するブロック図である。図1に示すように、マルチプロセッサ装置100は、CPU(Central Processing Unit)ユニット110と、I/O(Input-Output)制御装置120と、ファームウェアプログラム131と、管理プログラム132と、未実行状態検出部141と、動作モード設定部142と、CPU割当部143と、を含んで構成される。
1 to 6 show one embodiment of the present invention. FIG. 1 is a block diagram illustrating a multiprocessor device according to an embodiment of the present invention. As shown in FIG. 1, the
CPUユニット110は、複数のCPUを備える。本実施形態では、CPUユニット110は、2つのCPU111,112を含んでいる。なお、説明の簡略化のためにCPUの数が2つの例を示したが、これに限定されず、3つ以上であってもよい。
The
I/O制御装置120は、入出力要求を制御するためのものである。I/O制御装置120には、マルチプロセッサ装置100の外部の入出力装置(図示両略)から入出力要求が入力され、ファームウェアプログラム131の処理結果に基づいて、入出力要求に対する応答を出力する。
The I /
ファームウェアプログラム131は、I/O制御装置120を介して入力された入出力要求を処理するためのファームウェアである。そのため、ファームウェアプログラム131は、外部の入出両装置の要求に応じて、CPU111,112で実行される。また、ファームウェアプログラム131には、相対的に高い優先度(プライオリティ)が設定されている。
The
管理プログラム132は、マルチプロセッサ装置100の設定などを行うためのプログラムである。管理プログラム132には、相対的に低い、通常の優先度(プライオリティ)が設定されている。なお、管理プログラム132は、本発明における「第2プログラム」の一例に相当する。
The
未実行状態検出部141は、プログラムが未実行状態であることを検出するためのものである。ここで、「未実行状態」とは、実際にプログラムが実行されていない場合に限定されず、実際にはプログラムが実行さていても、実行さていないと見なすことができる場合を含む意味である。本実施形態では、未実行状態検出部141は、管理プログラム132が未実行状態であることを検出する。
The unexecuted
なお、未実行状態検出部141は、例えば、汎用の(専用ではない)オペレーティングシステム(OS)が有する(提供する)スケジューリングの機能の一部として実装することが可能である。
The unexecuted
動作モード設定部142は、CPUユニット110の動作モードを設定するためのものである。本実施形態において設定される動作モードは、ファームウェアプログラム131が管理プログラム132に優先してCPU111,112の全てを使用可能な第1モードAと、管理プログラム132がCPU111,112の少なくとも1つを使用する第2動作モードBとが存在する。動作モード設定部142は、第1動作モードAおよび第2動作モードBのうちのいずれかの動作モードを設定する。
The operation
CPU割当部143は、CPUユニット110の動作モードに基づいて、プログラムが使用するCPUを割り当てる(設定する)ためのものである。本実施形態では、CPU割当部143は、動作モード設定部142により設定された動作モードに基づいて、ファームウェアプログラム131および管理プログラム132の少なくとも一方に、CPU111,112を割り当てる。
The
なお、CPU割当部143は、例えば、汎用の(専用ではない)オペレーティングシステム(OS)が有する(提供する)リソース割り当ての機能の一部として実装することが可能である。
Note that the
図2は、図1に示した第1動作モードAを説明する図である。図2に示すように、第1動作モードAは、CPU111,112単位の区別がなく、CPU割当部143は、ファームウェアプログラム131に、使用するCPU111,112を制限することなく(無制限に)、割り当てることができる。これにより、ファームウェアプログラム131は、入出力装置からの要求(入出力要求)が増加して負荷が高くなった場合に、CPU111,112の全てを使用することができるので、要求される時間内に入出力要求に対する応答を返す(要求される応答時間を満たす)ことが可能となる。
FIG. 2 is a diagram illustrating the first operation mode A shown in FIG. As shown in FIG. 2, in the first operation mode A, there is no distinction between the
また、CPU割当部143は、ファームウェアプログラム131の実行の合間(切れ目)に、ファームウェアプログラム131が使用するCPU111,112を切り替えることができるので、比較的短時間でCPU111,112を空けることができる。そのため、CPU111,112が切り替わったことを確認する必要がなく、CPU割当部143はオーバヘッドの小さい(少ない)方式を採用することができる。
In addition, since the
なお、CPU割当部143は、入出力要求の要求元である外部の入出力装置に対し、割り込みを発生させるCPU111,112を設定するようにしてもよい。この場合、CPU割当部143は、割り込みを発生させるCPU111,112として、ファームウェアプログラム131に割り当てられたCPU111,112を設定することが好ましい。
The
一方、第1動作モードAでは、入出力要求による負荷が高すぎると(過負荷であると)、CPU割当部143が、CPU111,112のいずれも管理プログラム132に割り当てることができなくなり、管理プログラム132が実行されない可能性がある。
On the other hand, in the first operation mode A, if the load due to the input / output request is too high (overload), the
図3は、図1に示した第2動作モードBを説明する図である。図3に示すように、第2動作モードBは、CPU111,112単位に区別があり、CPU割当部143は、例えば、CPU111には管理プログラム132のみ、CPU112にはファームウェアプログラム131のみ、を割り当てる。これにより、管理プログラム132の実行が保証される。
FIG. 3 is a diagram for explaining the second operation mode B shown in FIG. As shown in FIG. 3, the second operation mode B is distinguished in units of the
一方、入出力要求による負荷が高い(過負荷である)場合に、ファームウェアプログラム131は、要求される時間内に入出力要求に対する応答を返す(要求される応答時間を満たす)ことができない可能性がある。
On the other hand, when the load due to the input / output request is high (overload), the
図4は、図1に示した第2動作モードBの変形例を説明する図である。なお、第2動作モードBは、図3に示す例に限定されない。第2動作モードBでは、管理プログラム132が少なくとも1つのCPUを使用していればよい。例えば、図4に示すように、第2動作モードB’では、ファームウェアプログラム131を、ファームウェアプログラム131aおよびファームウェアプログラム131bに分割し、CPU割当部143は、管理プログラム132の実行を妨げない範囲で、管理プログラム132が使用するCPU111に、ファームウェアプログラム131の一部であるファームウェアプログラム131bを割り当てるようにしてもよい。
FIG. 4 is a diagram for explaining a modification of the second operation mode B shown in FIG. The second operation mode B is not limited to the example shown in FIG. In the second operation mode B, the
図5は、図1に示した未実行状態検出部141の動作を説明するフローチャートである。図5に示すように、未実行状態検出部141は、管理プログラム132のプロセス群のそれぞれに対して、実行可能になってから実際に実行されるまでの時間(実行待ち時間)を取得する(S201)。そして、未実行状態検出部141は、取得した実行待ち時間に基づいて、管理プログラム132のプロセス群の統計情報、例えば、平均時間を算出する(S202)。
FIG. 5 is a flowchart for explaining the operation of the unexecuted
次に、未実行状態検出部141は、S202において算出した平均時間が所定のしきい値以上であるか否かを判定する(S203)。なお、所定のしきい値は、あらかじめ設定されているものとする。
Next, the unexecuted
S203の判定の結果、S202において算出した平均時間が所定のしきい値以上である場合、管理プログラム132は未実行状態であると見なすことができる。なお、管理プログラム132は、要求される応答時間がファームウェアプログラム131ほど短く(厳しく)ないので、このような条件で未実行状態であると見なしても十分である。よって、未実行状態検出部141は、管理プログラム132の未実行状態を検出し(S204)、処理S200を終了する。
As a result of the determination in S203, when the average time calculated in S202 is equal to or greater than a predetermined threshold value, the
一方、S203の判定の結果、S202において算出した平均時間が所定のしきい値以上でない、すなわち、所定のしきい値未満である場合、管理プログラム132は実行状態であると考えられる。よって、未実行状態検出部141は、平均時間が所定のしきい値以上になるまで、再度、S201以下の各ステップを繰り返す。
On the other hand, as a result of the determination in S203, when the average time calculated in S202 is not equal to or greater than the predetermined threshold value, that is, less than the predetermined threshold value, the
図6は、図1に示した動作モード設定部142の動作を説明するフローチャートである。未実行状態検出部141が管理プログラム132の未実行状態を検出すると、動作モード設定部142は、処理S300を実行する。すなわち、図6に示すように、動作モード設定部142は、現在の動作モードが第2動作モードBであるか否かを判定する(S301)。なお、初期状態のときに、動作モードは、動作モード設定部142によって、第1動作モードAまたは第2動作モードBのいずれかに設定されている。
FIG. 6 is a flowchart for explaining the operation of the operation
S301の判定の結果、現在の動作モードが第2動作モードBである場合、動作モード設定部142は、動作モードを、第2動作モードBから第1動作モードAに変更する(S302)。これにより、管理プログラム132の未実行状態が検出されたときに、第1動作モードAが設定される。
As a result of the determination in S301, when the current operation mode is the second operation mode B, the operation
S302のステップの後、動作モード設定部142は、S302において第1動作モードAに変更してから所定時間を経過した否かを判定する(S303)。
After the step of S302, the operation
S303の判定の結果、第1動作モードAに変更してから所定時間を経過した場合、動作モード設定部142は、動作モードを、第1動作モードAから第2動作モードBに変更し(S304)、処理S300を終了する。
As a result of the determination in S303, when a predetermined time has elapsed since the change to the first operation mode A, the operation
なお、ファームウェアプログラム131の実行が完了したことを検出する必要はなく、動作モード設定部142は、所定時間を経過後に、第1動作モードAから第2動作モードBに変更する。
It is not necessary to detect that the execution of the
一方、S303の判定の結果、第1動作モードAに変更してから所定時間を経過していない場合、動作モード設定部142は、所定時間を経過するまで、S303のステップを繰り返す(所定時間を経過するまで待つ)。
On the other hand, as a result of the determination in S303, when the predetermined time has not elapsed since the change to the first operation mode A, the operation
S301の判定の結果、現在の動作モードが第2動作モードBでない、すなわち、現在の動作モードが第1動作モードAである場合、動作モード設定部142は、動作モードを変更する必要がないため、何もせずに、処理S300を終了する。
As a result of the determination in S301, when the current operation mode is not the second operation mode B, that is, the current operation mode is the first operation mode A, the operation
このように、本実施形態のマルチプロセッサ装置100、スケジューリング方法、および、スケジューリングプログラムによれば、管理プログラム132の未実行状態が検出されたときに、ファームウェアプログラム131が管理プログラム132に優先してCPU111,112の全てを使用可能な第1動作モードAが設定される。これにより、ファームウェアプログラム131は、入出力装置からの要求(入出力要求)が増加して負荷が高くなった場合に、CPU111,112の全てを使用することができるので、要求される時間内に入出力要求に対する応答を返す(要求される応答時間を満たす)ことが可能となる。一方、例えば、管理プログラム132の未実行状態を検出しなかったとき(管理プログラム132の実行状態のとき)や、第1動作モードAに変更してから所定時間を経過したときに、管理プログラム132がCPU111,112の少なくとも1つを使用する第2動作モードBが設定される。これにより、管理プログラム132の実行が保証される。したがって、分割損を生じることなく、要求される時間内に入出力要求に対する応答を返すことができるととともに、管理プログラム132の実行を保証することができ、CPU111,112のリソースを効率的に使用して費用対効果(コストパフォーマンス)を向上させることができる。
As described above, according to the
なお、前述の各実施形態の構成は、組み合わせたり或いは一部の構成部分を入れ替えたりしたりしてもよい。また、本発明の構成は前述の実施形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加えてもよい。 Note that the configurations of the above-described embodiments may be combined or a part of the components may be replaced. The configuration of the present invention is not limited to the above-described embodiment, and various modifications may be made without departing from the scope of the present invention.
前述の各実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。 Part or all of the above-described embodiments can be described as in the following supplementary notes, but is not limited thereto.
(付記1)複数のマイクロプロセッサを備えるマルチプロセッサ装置であって、第1のプログラムが第2のプログラムに優先して前記複数のマイクロプロセッサの全てを使用可能な第1の動作モードと、前記第2のプログラムが前記複数のマイクロプロセッサのうちの少なくとも1つを使用する第2の動作モードと、のうちのいずれかの動作モードを設定する設定部と、前記設定部により設定された動作モードに基づいて、前記第1のプログラムおよび前記第2のプログラムの少なくとも一方に前記マイクロプロセッサを割り当てる割当部と、前記第2のプログラムの未実行状態を検出する検出部と、を備え、前記設定部は、前記検出部により前記第2のプログラムの未実行状態が検出されたときに、前記第1の動作モードを設定することを特徴とするマルチプロセッサ装置。 (Supplementary note 1) A multi-processor device including a plurality of microprocessors, wherein a first operation mode in which a first program can use all of the plurality of microprocessors in preference to a second program; A second operation mode in which two programs use at least one of the plurality of microprocessors, a setting unit for setting one of the operation modes, and an operation mode set by the setting unit. An allocation unit that allocates the microprocessor to at least one of the first program and the second program, and a detection unit that detects an unexecuted state of the second program, and the setting unit includes: The first operation mode is set when the detection unit detects an unexecuted state of the second program. Multiprocessor apparatus according to symptoms.
(付記2)前記設定部は、前記第1の動作モードを設定してから所定時間を経過したときに、前記第2の動作モードを設定することを特徴とする付記1に記載のマルチプロセッサ装置。 (Supplementary note 2) The multiprocessor device according to Supplementary note 1, wherein the setting unit sets the second operation mode when a predetermined time has elapsed since the first operation mode was set. .
(付記3)前記割当部は、前記第2の動作モードのときに、前記第1のプログラムの一部を、前記前記第2のプログラムが割り当てられた前記マイクロプロセッサに割り当てることを特徴とする付記1または2に記載のマルチプロセッサ装置。 (Supplementary Note 3) The allocating unit allocates a part of the first program to the microprocessor to which the second program is allocated in the second operation mode. The multiprocessor device according to 1 or 2.
(付記4)前記第1のプログラムは、入出力装置の要求に応じて実行されるファームウェアプログラムであることを特徴とする付記1ないし3のいずれか一つに記載のマルチプロセッサ装置。 (Supplementary note 4) The multiprocessor device according to any one of Supplementary notes 1 to 3, wherein the first program is a firmware program executed in response to a request from an input / output device.
(付記5)前記検出部は、前記第2のプログラムが実行可能になってから実行されるまでの時間に基づいて、前記第2のプログラムの未実行状態を検出することを特徴とする付記1ないし4のいずれか一つに記載のマルチプロセッサ装置。 (Additional remark 5) The said detection part detects the unexecuted state of the said 2nd program based on the time after the said 2nd program becomes executable until it is performed. 5. The multiprocessor device according to any one of 4 to 4.
(付記6)複数のマイクロプロセッサを備えるマルチプロセッサ装置のスケジューリング方法であって、第1のプログラムが第2のプログラムに優先して前記複数のマイクロプロセッサの全てを使用可能な第1の動作モードと、前記第2のプログラムが前記複数のマイクロプロセッサのうちの少なくとも1つを使用する第2の動作モードと、のうちのいずれかの動作モードを設定する設定ステップと、前記設定された動作モードに基づいて、前記第1のプログラムおよび前記第2のプログラムの少なくとも一方に前記マイクロプロセッサを割り当てる割当ステップと、前記第2のプログラムの未実行状態を検出する検出ステップと、を備え、前記設定ステップは、前記第2のプログラムの未実行状態が検出されたときに、前記第1の動作モードを設定することを特徴とするスケジューリング方法。 (Supplementary Note 6) A scheduling method for a multiprocessor device including a plurality of microprocessors, wherein the first program can use all of the plurality of microprocessors in preference to the second program; A second operation mode in which the second program uses at least one of the plurality of microprocessors; a setting step for setting any one of the operation modes; and the set operation mode. An allocation step of allocating the microprocessor to at least one of the first program and the second program, and a detection step of detecting an unexecuted state of the second program, the setting step comprising: When the unexecuted state of the second program is detected, the first operation mode is Scheduling method and sets the.
(付記7)複数のマイクロプロセッサを備えるマルチプロセッサ装置のスケジューリングプログラムであって、第1のプログラムが第2のプログラムに優先して前記複数のマイクロプロセッサの全てを使用可能な第1の動作モードと、前記第2のプログラムが前記複数のマイクロプロセッサのうちの少なくとも1つを使用する第2の動作モードと、のうちのいずれかの動作モードを設定する設定ステップと、前記設定された動作モードに基づいて、前記第1のプログラムおよび前記第2のプログラムの少なくとも一方に前記マイクロプロセッサを割り当てる割当ステップと、前記第2のプログラムの未実行状態を検出する検出ステップと、を備え、前記設定ステップは、前記第2のプログラムの未実行状態が検出されたときに、前記第1の動作モードを設定することを特徴とするスケジューリングプログラム。 (Supplementary Note 7) A scheduling program for a multiprocessor device including a plurality of microprocessors, wherein the first program can use all of the plurality of microprocessors in preference to the second program; A second operation mode in which the second program uses at least one of the plurality of microprocessors; a setting step for setting any one of the operation modes; and the set operation mode. An allocation step of allocating the microprocessor to at least one of the first program and the second program, and a detection step of detecting an unexecuted state of the second program, the setting step comprising: The first operation is detected when an unexecuted state of the second program is detected. Scheduling program and sets the mode.
100…マルチプロセッサ装置、111,112…CPU、131…ファームウェアプログラム、132…管理プログラム、141…未実行状態検出部、142…動作モード設定部、143…CPU割当部、A…第1動作モード、B…第2動作モード
DESCRIPTION OF
Claims (7)
第1のプログラムが第2のプログラムに優先して前記複数のマイクロプロセッサの全てを使用可能な第1の動作モードと、前記第2のプログラムが前記複数のマイクロプロセッサのうちの少なくとも1つを使用する第2の動作モードと、のうちのいずれかの動作モードを設定する設定部と、
前記設定部により設定された動作モードに基づいて、前記第1のプログラムおよび前記第2のプログラムの少なくとも一方に前記マイクロプロセッサを割り当てる割当部と、
前記第2のプログラムの未実行状態を検出する検出部と、を備え、
前記設定部は、前記検出部により前記第2のプログラムの未実行状態が検出されたときに、前記第1の動作モードを設定する
ことを特徴とするマルチプロセッサ装置。 A multiprocessor device comprising a plurality of microprocessors,
A first operation mode in which the first program can use all of the plurality of microprocessors in preference to the second program; and the second program uses at least one of the plurality of microprocessors. A setting unit for setting any one of the second operation modes,
An allocating unit that allocates the microprocessor to at least one of the first program and the second program based on the operation mode set by the setting unit;
A detection unit for detecting an unexecuted state of the second program,
The multi-processor device, wherein the setting unit sets the first operation mode when an unexecuted state of the second program is detected by the detection unit.
ことを特徴とする請求項1に記載のマルチプロセッサ装置。 The multiprocessor device according to claim 1, wherein the setting unit sets the second operation mode when a predetermined time elapses after setting the first operation mode.
ことを特徴とする請求項1または2に記載のマルチプロセッサ装置。 The allocation unit allocates a part of the first program to the microprocessor to which the second program is allocated in the second operation mode. A multiprocessor device according to claim 1.
ことを特徴とする請求項1ないし3のいずれか一項に記載のマルチプロセッサ装置。 The multiprocessor device according to any one of claims 1 to 3, wherein the first program is a firmware program executed in response to a request from an input / output device.
ことを特徴とする請求項1ないし4のいずれか一項に記載のマルチプロセッサ装置。 5. The detection unit according to claim 1, wherein the detection unit detects an unexecuted state of the second program based on a time from when the second program becomes executable to when the second program is executed. The multiprocessor device according to any one of claims.
第1のプログラムが第2のプログラムに優先して前記複数のマイクロプロセッサの全てを使用可能な第1の動作モードと、前記第2のプログラムが前記複数のマイクロプロセッサのうちの少なくとも1つを使用する第2の動作モードと、のうちのいずれかの動作モードを設定する設定ステップと、
前記設定された動作モードに基づいて、前記第1のプログラムおよび前記第2のプログラムの少なくとも一方に前記マイクロプロセッサを割り当てる割当ステップと、
前記第2のプログラムの未実行状態を検出する検出ステップと、を備え、
前記設定ステップは、前記第2のプログラムの未実行状態が検出されたときに、前記第1の動作モードを設定する
ことを特徴とするスケジューリング方法。 A method for scheduling a multiprocessor device comprising a plurality of microprocessors, comprising:
A first operation mode in which the first program can use all of the plurality of microprocessors in preference to the second program; and the second program uses at least one of the plurality of microprocessors. A second operation mode, a setting step for setting any one of the operation modes,
Allocating the microprocessor to at least one of the first program and the second program based on the set operation mode;
Detecting a non-executed state of the second program,
In the scheduling method, the setting step sets the first operation mode when an unexecuted state of the second program is detected.
第1のプログラムが第2のプログラムに優先して前記複数のマイクロプロセッサの全てを使用可能な第1の動作モードと、前記第2のプログラムが前記複数のマイクロプロセッサのうちの少なくとも1つを使用する第2の動作モードと、のうちのいずれかの動作モードを設定する設定ステップと、
前記設定された動作モードに基づいて、前記第1のプログラムおよび前記第2のプログラムの少なくとも一方に前記マイクロプロセッサを割り当てる割当ステップと、
前記第2のプログラムの未実行状態を検出する検出ステップと、を備え、
前記設定ステップは、前記第2のプログラムの未実行状態が検出されたときに、前記第1の動作モードを設定する
ことを特徴とするスケジューリングプログラム。 A scheduling program for a multiprocessor device comprising a plurality of microprocessors,
A first operation mode in which the first program can use all of the plurality of microprocessors in preference to the second program; and the second program uses at least one of the plurality of microprocessors. A second operation mode, a setting step for setting any one of the operation modes,
Allocating the microprocessor to at least one of the first program and the second program based on the set operation mode;
Detecting a non-executed state of the second program,
The scheduling program sets the first operation mode when an unexecuted state of the second program is detected.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012050447A JP5936041B2 (en) | 2012-03-07 | 2012-03-07 | Multiprocessor device, scheduling method, and scheduling program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012050447A JP5936041B2 (en) | 2012-03-07 | 2012-03-07 | Multiprocessor device, scheduling method, and scheduling program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013186637A true JP2013186637A (en) | 2013-09-19 |
JP5936041B2 JP5936041B2 (en) | 2016-06-15 |
Family
ID=49388019
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012050447A Expired - Fee Related JP5936041B2 (en) | 2012-03-07 | 2012-03-07 | Multiprocessor device, scheduling method, and scheduling program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5936041B2 (en) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04191935A (en) * | 1990-11-27 | 1992-07-10 | Toshiba Corp | Task scheduling system |
JP2002108841A (en) * | 2000-10-03 | 2002-04-12 | Shimadzu Corp | Distributed control system |
JP2002278778A (en) * | 2001-03-21 | 2002-09-27 | Ricoh Co Ltd | Scheduling device in symmetrical multiprocessor system |
JP2005234637A (en) * | 2004-02-17 | 2005-09-02 | Hitachi Ltd | Method and device for managing computer resource and processing program |
JP2006243864A (en) * | 2005-03-01 | 2006-09-14 | Seiko Epson Corp | Processor and information processing method |
JP2010134496A (en) * | 2008-12-02 | 2010-06-17 | Hitachi Ltd | Virtual machine system, hypervisor in virtual machine system, and scheduling method in virtual machine system |
JP2011526040A (en) * | 2008-06-27 | 2011-09-29 | マイクロソフト コーポレーション | Protected mode scheduling of operations |
-
2012
- 2012-03-07 JP JP2012050447A patent/JP5936041B2/en not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04191935A (en) * | 1990-11-27 | 1992-07-10 | Toshiba Corp | Task scheduling system |
JP2002108841A (en) * | 2000-10-03 | 2002-04-12 | Shimadzu Corp | Distributed control system |
JP2002278778A (en) * | 2001-03-21 | 2002-09-27 | Ricoh Co Ltd | Scheduling device in symmetrical multiprocessor system |
JP2005234637A (en) * | 2004-02-17 | 2005-09-02 | Hitachi Ltd | Method and device for managing computer resource and processing program |
JP2006243864A (en) * | 2005-03-01 | 2006-09-14 | Seiko Epson Corp | Processor and information processing method |
JP2011526040A (en) * | 2008-06-27 | 2011-09-29 | マイクロソフト コーポレーション | Protected mode scheduling of operations |
JP2010134496A (en) * | 2008-12-02 | 2010-06-17 | Hitachi Ltd | Virtual machine system, hypervisor in virtual machine system, and scheduling method in virtual machine system |
Also Published As
Publication number | Publication date |
---|---|
JP5936041B2 (en) | 2016-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4705051B2 (en) | Computer system | |
US9619378B2 (en) | Dynamically optimizing memory allocation across virtual machines | |
KR102571293B1 (en) | Method for Efficient Job Scheduling in the Existence of Conflicts | |
KR101651871B1 (en) | Job Allocation Method on Multi-core System and Apparatus thereof | |
US9563585B2 (en) | System and method for isolating I/O execution via compiler and OS support | |
US9298504B1 (en) | Systems, devices, and techniques for preempting and reassigning tasks within a multiprocessor system | |
US9311142B2 (en) | Controlling memory access conflict of threads on multi-core processor with set of highest priority processor cores based on a threshold value of issued-instruction efficiency | |
US9354934B2 (en) | Partitioned shared processor interrupt-intensive task segregator | |
US9244733B2 (en) | Apparatus and method for scheduling kernel execution order | |
KR20130088513A (en) | Task distribution method on multicore system and apparatus thereof | |
US8386684B2 (en) | Data processing system and method of interrupt handling | |
KR20120066189A (en) | Apparatus for dynamically self-adapting of software framework on many-core systems and method of the same | |
US20120096462A1 (en) | Dynamic virtualization technique for multicore processor system | |
JP2008171293A (en) | Scheduling method for virtual computer system | |
US9417924B2 (en) | Scheduling in job execution | |
JP2009223842A (en) | Virtual machine control program and virtual machine system | |
KR101694302B1 (en) | Apparatus and method foe managing heterogeneous multicore processor system | |
JP4348639B2 (en) | Multiprocessor system and workload management method | |
US20170286168A1 (en) | Balancing thread groups | |
WO2016202153A1 (en) | Gpu resource allocation method and system | |
JP5726006B2 (en) | Task and resource scheduling apparatus and method, and control apparatus | |
KR101330609B1 (en) | Method For Scheduling of Mobile Multi-Core Virtualization System To Guarantee Real Time Process | |
JP5936041B2 (en) | Multiprocessor device, scheduling method, and scheduling program | |
JP7236811B2 (en) | Information processing equipment | |
US20140089930A1 (en) | Host system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150212 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150814 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150924 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151120 |
|
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: 20160414 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160427 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5936041 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |