JP4523921B2 - Computer resource dynamic controller - Google Patents
Computer resource dynamic controller Download PDFInfo
- Publication number
- JP4523921B2 JP4523921B2 JP2006047704A JP2006047704A JP4523921B2 JP 4523921 B2 JP4523921 B2 JP 4523921B2 JP 2006047704 A JP2006047704 A JP 2006047704A JP 2006047704 A JP2006047704 A JP 2006047704A JP 4523921 B2 JP4523921 B2 JP 4523921B2
- Authority
- JP
- Japan
- Prior art keywords
- computer
- time
- memory
- processing
- 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 - Fee Related
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
この発明は、複数の計算機がネットワークを形成して、連携して複数のプロセスを並行処理する分散システムにおける、処理が間に合わない事によるデッドラインミスの多発を防止する装置、システムに関するものである。 The present invention relates to an apparatus and a system for preventing frequent occurrence of deadline mistakes due to inadequate processing in a distributed system in which a plurality of computers form a network and cooperate to process a plurality of processes in parallel.
従来の計算機リソース動的制御方式は、従来例1として例えば特許文献1によれば、繰り返し周期ごとに処理時間と処理データのデータの内容、データの大きさと前回の処理時間をもとにしてプロセスの次の処理時間を予測する手段と、処理予測時間の大きさの範囲ごとに定められたタスクの実行順序案を保持し、予測によって求めた次の処理時間のデータに基づいて、あらかじめ定められた実行順序案に基づいて次の周期の処理順序を決定することにより、処理のデッドラインミス発生を防止することを特徴としている。
According to the conventional computer resource dynamic control method, for example, according to
また従来例2として他の特許文献2によれば、処理すべきプロセス量を単位化して、例えばあるプロセスは8単位、他のプロセスは5単位等とし、この細分化されたプロセスの単位を基準にして、各プロセッサに処理する単位を割当てる方法が示されている。従ってプロセスが持つ単位量を管理するプロセス管理手段と、実行するプロセッサを管理するプロセッサ管理手段と、割当リソース量決定手段とを持っている。
上記の従来例1では、プロセスのマイグレーション(他の計算機への移行)を行うことができず、例え他の計算機に空きリソースがあったとしても処理内容の変更や縮退を行うしかなく、システム内の他の計算機リソースを効率よく利用できない、またはオーバーロードするプロセスの処理を任された計算機(プロセッサ)によるデッドラインミスが継続する、という課題がある。
また、上記の従来例1では、主としてデータの大きさ、値をもとにして次の処理時間を予測しているが、データの大きさによって処理時間が決定する訳ではない。更に各プロセス様々なデータを受信するが、データの内容はプロセスが受け取る直前まで不明である場合が多くて、事前の予測はできない。このような理由から、従来例1の手法で次の周期処理時間を予測することは不可能である。
また従来例2では、やはりプロセスの量を大きさで区切って単位化して管理するだけであり、プロセスの内容や質により計算機を割当てたり、計算機の環境により処理量を変えたりはしないので、やはりデッドラインミスが発生し続けることを防げない、という課題がある。
In the conventional example 1 described above, process migration (transfer to another computer) cannot be performed, and even if there is an empty resource in another computer, there is no choice but to change or degenerate the processing contents. There is a problem that other computer resources cannot be used efficiently, or that deadline mistakes caused by a computer (processor) entrusted with the process of overloading continue.
Further, in the above conventional example 1, the next processing time is predicted mainly based on the data size and value, but the processing time is not determined by the data size. Furthermore, each process receives various data, but the content of the data is often unknown until just before the process receives, and cannot be predicted in advance. For this reason, it is impossible to predict the next periodic processing time by the method of Conventional Example 1.
In the conventional example 2, the process amount is also divided and managed in units, and the computer is not allocated according to the contents or quality of the process or the processing amount is not changed depending on the computer environment. There is a problem that it is not possible to prevent the occurrence of deadline mistakes.
この発明は上記のような課題を解決するためになされたもので、システムを構成する各プロセスのデッドラインミスが発生した場合に、十分な空きメモリ量、CPU時間を持つ計算機にプロセスマイグレーションを行うことによってプロセスのデッドラインミスの継続発生を防止することを目的とする。
また、過去のプロセスの処理時間からプロセスの将来の処理時間を予測し、将来デッドラインミスが発生すると予測された場合には、プロセスマイグレーションを行うことによってプロセスのデッドラインミスの発生を未然に防ぐことを目的とする。
The present invention has been made to solve the above-described problems. When a deadline miss of each process constituting the system occurs, process migration is performed to a computer having a sufficient free memory amount and CPU time. The purpose is to prevent the continuous occurrence of process deadline mistakes.
In addition, by predicting the future processing time of the process from the processing time of the past process, if it is predicted that a future deadline miss will occur, the process migration is performed to prevent the occurrence of a process deadline miss. For the purpose.
この発明に係る計算機リソース動的制御装置は、対象となるプロセスを処理する計算機を複数台接続して、複数の上記プロセスを連携処理するシステム、に接続して、
各上記計算機のリソースの使用状態を監視して計算機のこのリソースの使用状態情報を収集し、このリソースの不足を検出する計算機負荷量収集部と、
上記プロセスの処理時間を監視してプロセスの処理時間を収集し、プロセスの処理限界時間を規定したデッドライン時間を超す処理となるデッドラインミスの発生を検出する処理時間収集部と、
システムで処理される上記プロセスの処理時間とこのプロセスの処理で使用する計算機のリソースの使用量とデッドライン時間とをプロセスの識別子と共に記憶し、システムに接続される上記計算機の所有リソース量を計算機の識別子と共に記憶するシステム構成情報テーブル・メモリと、
上記デッドラインミスの発生を検出した通知により上記システム構成情報テーブル・メモリを参照して上記プロセスまたは関連するプロセスの処理を現行の計算機とは異なる計算機に再割当を勧告する移行プロセス決定部と、
上記再割当を勧告する通知を受けて上記システム構成情報テーブル・メモリの上記プロセスの処理時間と上記計算機の所有リソース量とを参照して上記プロセスの処理時間が上記デッドライン時間内となるよう上記再割当を勧告されたプロセスと候補計算機とを抽出し、この抽出したプロセスをこの抽出した候補計算機に割当て実行させると同時に上記システム構成情報テーブル・メモリを更新する資源割当部と、を備えた。
The computer resource dynamic control device according to the present invention connects a plurality of computers that process a target process, and connects to a system that processes the plurality of processes in a coordinated manner.
A computer load collection unit that monitors the resource usage status of each of the above computers, collects the usage status information of this resource of the computer, and detects a shortage of this resource;
A processing time collecting unit that monitors the processing time of the process and collects the processing time of the process, and detects the occurrence of a deadline miss that is a process that exceeds the deadline time that defines the processing limit time of the process;
The processing time of the above-mentioned process processed in the system, the use amount of the computer resource used in the processing of this process, and the deadline time are stored together with the process identifier, and the owned resource amount of the above-mentioned computer connected to the system is calculated. A system configuration information table memory for storing together with the identifier of
A transition process determining unit that recommends reassignment of processing of the process or related process to a computer different from the current computer by referring to the system configuration information table / memory according to the notification that the occurrence of the deadline miss is detected;
In response to the notification recommending the reallocation, the processing time of the process is within the deadline time by referring to the processing time of the process in the system configuration information table memory and the amount of resources owned by the computer. A resource allocation unit that extracts a process and a candidate computer for which reassignment has been recommended, causes the extracted process to be allocated to the extracted candidate computer, and simultaneously updates the system configuration information table and memory;
この発明によれば、プロセスのデッドラインミスを検出し、またプロセスが要求する計算機リソース量と各計算機が持つリソース量を管理して、規定回数以上デッドラインミスが発生したプロセスを、負荷の軽い他の計算機、または計算機リソースに余裕のある他の計算機に割り付けることで、デッドラインミスの継続を防ぐ効果がある。
また、デッドラインミスの原因が計算機故障の場合には、故障した計算機上で動作していた全てのプロセスを他の計算機に再割付して、処理の継続が可能となり、可用性の高いシステムが得られる効果がある。
According to the present invention, a deadline miss of a process is detected, and the amount of computer resources required by the process and the amount of resources possessed by each computer are managed. By allocating to other computers or other computers with sufficient computer resources, there is an effect of preventing the continuation of deadline mistakes.
In addition, if the cause of the deadline mistake is a computer failure, all processes that were running on the failed computer can be reassigned to other computers, and processing can be continued, resulting in a highly available system. There is an effect.
実施の形態1.
図1は、本実施の形態における計算機リソース動的制御システムの構成を示した図である。即ち、本実施の形態のリソース動的制御システムは、複数の計算機100がネットワーク102によって接続された分散計算機システム環境において、各計算機がシステムに必要な構成要素を分担して持ち、全体として処理が間に合わない事によるデッドラインミスの多発を防止する。図において各計算機100は、それぞれプロセス101の処理を分担して、または独立に行っており、資源割当に応じて新たなプロセスを処理する。
最初に計算機のハードウェア構成を説明するが、図2は、計算機100が計算機リソース動的制御装置100aとなる場合の構成を示す図である。これらの図において、計算機100または計算機リソース動的制御装置100aは、プロセッサ(CPU)11、プログラムやプロセス101を記憶するメモリ12、処理時間監視部1、処理時間収集部2、移行プロセス決定部3、計算機負荷監視部4、計算機負荷量収集部5、資源割当部6、システム構成情報管理テーブル・メモリ7、処理時間履歴テーブル・メモリ8、計算機負荷履歴テーブル・メモリ9、計算機状態テーブル・メモリ10、入力装置13、出力装置14、通信インタフェース15及び各計算機上で動作するプロセス101で構成される。
図1の構成では全体の構成例を示すために、各計算機の詳細接続は示されていないが、各計算機100は図2の詳細構成と同じ構成をしている。例えば右端の計算機は、処理時間監視部1と計算機負荷監視部4と資源割当部6と図示しないメモリ12に書込まれたプロセス101とのみが枠で表示されているが、図2に示すプロセッサ11やメモリ12と内部バス16で接続されている。また資源割当部6等の構成要素は、以下の機能説明で述べるような機能を持つプログラムをメモリに展開して、このプログラムをプロセッサ11が読み出して実行することでその機能を得ている。
このプロセス101は、入力装置13の一種であるCDリーダや他の記録媒体読取り装置で読取られて、または他の計算機から通信回線等を経由して通信インタフェース15で取込まれて、図2に示されるように、実際にはメモリ12に展開して記憶されている。本実施の形態において処理されるプロセス101は、例えばレーダのアプリケーションのように、データのサイズではなくデータの内容によって処理負荷が大きく変動するようなアプリケーションであってもよい。
FIG. 1 is a diagram showing a configuration of a computer resource dynamic control system according to the present embodiment. That is, the resource dynamic control system according to the present embodiment shares the components necessary for the system in a distributed computer system environment in which a plurality of
First, the hardware configuration of a computer will be described. FIG. 2 is a diagram illustrating a configuration when the
The detailed connection of each computer is not shown in the configuration of FIG. 1 to show an overall configuration example, but each
This
以下、本実施の形態における計算機リソース動的制御装置100aまたは計算機リソース動的制御システムにおける各構成要素についてその機能を説明する。
図3は、本実施の形態におけるプロセスのデータ処理時間を監視する処理時間監視部1の機能を説明する図である。即ち、分散処理を行う各プロセッサ11が割当てられたプロセス101の処理を実行するに当たり、データを受け取ってから処理を開始した時刻(以下、「処理開始時刻」とする)、処理を完了した時刻(以下「処理終了時刻」とする)を処理時間監視部1に報告するステップを設けると共に、処理開始時刻から処理終了時刻までの間で、実際に演算のためにCPU(プロセッサ)を使用した時間(以下「CPU時間」とする)を報告するステップを設ける。なお動作に関係するステップは、後の動作記述で説明する。更に処理時間監視部1は、必要に応じて処理時間収集部2に上記の処理開始時刻、処理終了時刻、CPU時間を通知する役割を持つ。
処理時間監視部1は、それぞれの計算機100に各1つ設けてもよいし、プロセス101毎に各1つ設けてももよいし、システム全体で1つ設けてもよい。図1では、構成の一例として計算機100に各1つ設けた場合の構成を示している。
Hereinafter, the function of each component in the computer resource dynamic control device 100a or the computer resource dynamic control system in the present embodiment will be described.
FIG. 3 is a diagram illustrating the function of the processing
One processing
図4、図5、図6は、本実施の形態における処理時間収集部2の主な機能を説明する図である。処理時間収集部2は図4(a)に示すように、処理時間監視部1から処理開始時刻、処理終了時刻、CPU時間を受け取るとともに、これらのデータをプロセスごとに分けて、処理時間履歴テーブル・メモリ8に過去一定回数分だけ保持する。図4(b)は、処理時間履歴テーブル・メモリ8に保持されたデータの例を示す図である。
また図5(a)に示すように、保持している履歴の中で何回デッドラインミスが起きているかを調査して、許容可能な回数以上デッドラインミスが発生していた場合には、移行プロセス決定部3に、デッドラインミスが規定回数発生している旨を通知する機能を持つ。
更に図6に示すように、移行プロセス決定部3から、あるプロセスの処理開始時刻、終了時刻、CPU時間の履歴を送信するようリクエストがあった場合に、該当するプロセスのデータを持つ処理時間履歴テーブル・メモリ8に保持されたデータを送信する機能を持つ。なお、処理時間収集部2が機能を実行するために必要な、処理時間履歴テーブル・メモリ8に保持する過去のデータの個数、プロセスの処理限界時間を規定したデッドライン時間、このデッドライン時間を超えた処理となるデッドラインミスの許容回数はシステム構成情報管理テーブル・メモリ7に記載される。
処理時間収集部2は、プロセス毎に1つ設けてもよいし、計算機毎に1つ設けてもよいし、システム全体で1つ設けるようにしてもよい。
4, 5, and 6 are diagrams for explaining main functions of the processing
Further, as shown in FIG. 5A, the number of deadline misses that have occurred in the history that is held is investigated, and if a deadline miss has occurred more than an allowable number of times, It has a function of notifying the migration
Further, as shown in FIG. 6, when there is a request from the migration
One processing
図7は、本実施の形態における移行プロセス決定部3の機能を説明する図である。移行プロセス決定部3は、処理時間収集部2よりデッドラインミスが規定回数以上発生した旨を告げる通知を受け取ると、処理時間収集部2、計算機負荷量収集部5などに問い合わせ、他プロセスの処理時間の変動や、計算機の状態(正常または異常)、CPU、メモリ等のハードウェアの利用率などについて調査を行うことにより、デッドラインミスを解消するためにハードウェア・リソースの再割り当てを行うべきプロセスを検出する機能を持つ。
この移行プロセス決定部3は、システムに1つ在ればよい。
FIG. 7 is a diagram illustrating the function of the migration
One migration
図8は、本実施の形態における計算機負荷監視部4の機能を説明する図である。計算機負荷監視部4は、各計算機100上に1つ設けて、各計算機100のメモリ使用状況やCPU使用率を定期的に取得し、計算機負荷量収集部5に通知する機能を持つと共に、これらの情報を定期的に通知することにより計算機100が正常に動作していることを計算機負荷量収集部5に伝える機能も持つ。
FIG. 8 is a diagram for explaining the function of the computer
図9、図10、図11、図12は、本実施の形態における計算機負荷量収集部5の主な機能を説明する図である。計算機負荷量収集部5は図9に示すように、計算機負荷監視部4からの通知を受け取り、メモリの空き状況とCPU11の利用状況と上記情報の受信時刻を計算機毎に分類して計算機負荷履歴テーブル・メモリ9に保持する。
また、移行プロセス決定部3や資源割当部6から、CPU11の利用率、空きメモリ量、計算機の正常・異常に関する情報を送信するようリクエストがあった場合に、図10に示すように、計算機負荷履歴テーブル・メモリ9に保持されたデータから対応するデータを取出して送信する機能も持つ。
更に、計算機負荷監視部4からデータが届かなくなった場合には、計算機状態テーブル・メモリ10にある、対応するデータが届かなくなった計算機のエントリを図11(b)のように「異常」を示すように書き換え、同時に移行プロセス決定部3に故障が発生したことを通知する機能も持つ。
更に、計算機負荷履歴テーブル・メモリ9にあるデータを参照し、空きメモリ量や空きCPUリソースが少なくなった計算機があった場合にも、移行プロセス決定部3に通知する機能も持つ。また図12に示すように、移行プロセス決定部3や資源割当部6から正常な計算機100の一覧リストの取得要求があった場合には、計算機状態テーブル・メモリ10を参照して、正常動作する計算機100の識別子の一覧を返す機能も持つ。
9, FIG. 10, FIG. 11, and FIG. 12 are diagrams for explaining the main functions of the computer load
Further, when there is a request from the migration
Further, when the data is not received from the computer
Further, it has a function of referring to the data in the computer load
図13は、本実施の形態における資源割当部6の機能を説明する図である。資源割当部6は、移行プロセス決定部3が移行する必要があるとして選定したプロセスを、新しく他の計算機100に割り当てる機能を持つ。資源割当部6がそのプロセスに対して異なる計算機を割り当てる際には、計算機負荷量収集部5に各計算機100のCPU11の負荷やメモリ12の利用状況について問い合わせたり、システム構成情報管理テーブル・メモリ7からプロセス101が必要とするCPU時間やメモリ量に関する情報を取得したりすることにより、メモリ不足やデッドラインミスを発生させる可能性が少ない計算機100上でそのプロセス101を起動する。更に、プロセス101の起動後は元の計算機で動作していたプロセスを停止させる。
FIG. 13 is a diagram illustrating the function of the
図14は、本実施の形態におけるシステム構成情報管理テーブル・メモリ7のデータ構成の例を示す図である。システム構成情報管理テーブル・メモリ7は、ソフトウェアに関する情報として、プロセス101の名称である「プロセス名」、直近のデッドラインミスの発生回数をカウントするために保持する処理開始時刻・処理終了時刻・CPU時間の履歴の個数を示す「処理時間履歴テーブルに格納する履歴数」、各プロセスが処理した際の「平均CPU時間」、「デッドライン時間」、「履歴中のデッドラインミス許容回数」「動作中の計算機」「プロセス識別子」、「消費メモリ」等の計算機リソースの使用量をプロセス101毎に保持する。ハードウェア情報として、システムに存在する計算機100を識別する「ホスト名」、その計算機の「搭載メモリ量」等の所有リソース量、「計算機負荷履歴テーブルに保持する履歴数」を計算機ごとに記載する。
FIG. 14 is a diagram showing an example of the data configuration of the system configuration information management table /
図15は、本実施の形態における処理時間履歴テーブル・メモリ8のデータ構成の例を示す図である。本テーブルはプロセス毎に存在し、テーブルには、1つのエントリごとに「処理開始時刻」「処理終了時刻」「CPU時間」を格納する。本テーブルは、処理時間監視部1が処理時間収集部2に「処理開始時刻」「処理終了時刻」「CPU時間」を送信すると、処理時間収集部2によってそのデータが書き込まれる。エントリの数は、システム構成情報管理テーブルによって決定されており、全エントリにデータが書き込まれると、古いデータから順に削除される。また、規定回数以上デッドラインミスが発生すると、リソース割当完了後、リソース割当を行ったプロセスのデータを管理するテーブル中に在る対応する全てのデータが削除される。
FIG. 15 is a diagram showing an example of the data configuration of the processing time
図16は、本実施の形態における計算機負荷履歴テーブル・メモリ9のデータ構成の例を示す図である。本テーブルは計算機ごとに存在し、テーブルには、1つのエントリ毎に「データ取得時刻」「CPU使用率」「空きメモリ量」のデータを格納する。本テーブルは、計算機負荷監視部4が計算機負荷量収集部5に「データ取得時刻」「CPU使用率」「空きメモリ量」のデータを送ると、計算機負荷量収集部5によって書き込まれる。テーブルのエントリの数はシステム構成情報管理テーブルによって決定されており、全エントリにデータが書き込まれると、古いデータから順に削除される。
図17は、本実施の形態における計算機状態テーブル・メモリ10のデータ構成の例を示す図である。本テーブルには、計算機ごとに「正常/異常」を格納するエントリがあり、計算機負荷量収集部5が、ある一定時間内に計算機負荷監視部4から「データ取得時刻」「CPU使用率」「空きメモリ量」のデータを受信しなければ、計算機に異常が発生したと判断し、該当する計算機のエントリが「異常」と示される。
図2で示したように、計算機リソース動的制御装置100aが必要な全ての構成要素を持つようにしてもよいが、図1に例を示すように、幾つかの計算機が必要な処理時間収集・予測部2等の構成要素を分散して持ち、それらの計算機群が全体として計算機リソース動的制御システムを構成してもよい。
FIG. 16 is a diagram showing an example of the data configuration of the computer load history table /
FIG. 17 is a diagram showing an example of the data configuration of the computer state table /
As shown in FIG. 2, the computer resource dynamic control apparatus 100a may have all the necessary components. However, as shown in FIG. 1, some computers need to collect processing time. The constituent elements such as the
次に、本実施の形態における計算機リソース動的制御装置または計算機リソース動的制御システムの各構成要素の動作について説明する。
図18は、処理時間監視部1の動作フローの一例を示す図である。図3の機能説明図も参照しながら動作を説明する。ステップS1(以下、ステップの記述を省略する)にて、処理時間監視部1は、プロセッサ11が各プロセス101の処理を開始すると、プロセスの処理開始時刻を取得する。そしてS2において、プロセッサ11がその処理を終了した時に、処理終了時刻とS1からS2までの処理時間中におけるCPU時間を取得する。S3において、処理開始時刻、処理終了時刻、CPU時間を処理時間収集部2に通知する。これが処理時間監視部1の図3の機能による具体的な動作である。
処理時間監視部1はS1〜S3の処理を、プロセッサ11がプロセス101の処理動作を実行する限り繰り返す。なお、各プロセスの処理におけるCPU時間の取得は、例えばオペレーティング・システムがUNIX(登録商標)であれば、times()システムコールや、getrusage()システムコール、psコマンドなどにより得られる。
Next, the operation of each component of the computer resource dynamic control device or computer resource dynamic control system in the present embodiment will be described.
FIG. 18 is a diagram illustrating an example of an operation flow of the processing
The processing
図19は、処理時間収集部2の動作フローの一例を示す図である。図4ないし図6の機能説明図も参照しながら動作を説明する。S11において、処理時間監視部1からあるプロセスを処理した処理開始時刻、終了時刻、CPU時間のデータを受け取ると、S12において、そのプロセス処理のデータを書き込む処理時間履歴テーブル・メモリ8のあるエントリにこれらのデータを書き込む。S13において、全プロセスの処理について、S12にて書き込んだ処理開始時刻、処理終了時刻より、デッドラインミスが発生しているかどうかを調べる。デッドラインミスが発生しているかどうかは、処理終了時刻から処理開始時刻を引くことにより処理に要した時間を求め、この時間とシステム構成情報管理テーブル・メモリ7に示されている、プロセスのデッドライン時間を比較することにより得ることができる。デッドラインミスが発生していたら、S14において、処理時間履歴テーブル・メモリ8に保持されているデータを全て参照し、規定回数以上デッドラインミスが発生しているかどうかを調べる。許容可能なデッドラインミスの規定回数はシステム構成情報管理テーブル・メモリ7が保持している。規定回数以上のデッドラインミスが発生していた場合には、S15において、移行プロセス決定部3に通知すると共に、処理時間履歴テーブル・メモリ8に書き込まれている全データを削除する。なおS13にてデッドラインミスが発生していなければ、S16に進み、処理時間履歴テーブル・メモリ8の、次にデータを書き込むエントリを1つ先に進める。処理時間履歴テーブル・メモリ8の空きエントリがなくなった場合には、それ以降、S12では最も古いデータを順に上書きしていく。
FIG. 19 is a diagram illustrating an example of an operation flow of the processing
図20は、本実施の形態における計算機負荷監視部4の動作フローの一例を示す図である。図8の機能説明図も参照しながら動作を説明する。S1001において計算機負荷監視部4は、プロセッサ11による処理開始時刻を取得する。そしてS1002で、計算機負荷とメモリ使用量を取得する。そしてS1003で、取得した現在時刻と、CPU使用率、メモリ使用量を計算機負荷量収集部5に通知する。CPU使用率の取得方法は、例えばオペレーティング・システムがUNIX(登録商標)であれば、mpstatコマンドやtopコマンド、メモリ使用量の取得方法は、vmstatコマンドにより得られる。
FIG. 20 is a diagram showing an example of an operation flow of the computer
図21は、本実施の形態における計算機負荷量収集部5の動作フローの一例を示す図である。図9ないし図12の機能説明図も参照しながら動作を説明する。S1011で一定時間待ち、S1012で計算機負荷監視部4からデータが届いたらそれを受け取る。そしてS1013で、計算機状態テーブル・メモリ10中の、データを送信した計算機の欄を「正常」にする。そしてS1014で、計算機負荷履歴テーブル・メモリ9の該当するエントリにデータを書き込む。計算機負荷履歴テーブルは、図9(b)に示すように計算機毎にエントリが分かれているので、通知を送信した計算機のエントリに書き込むことになる。S1015で、書き込んだデータがリソース不足を示しているかどうかを調べる。リソース不足とは、例えばCPU使用率が100%になったか、使用メモリ量が搭載メモリ量を超えた場合などが考えられる。また、CPU使用率、使用メモリ量の上限をユーザによって設定しておき、それを超えたらリソース不足としてもよい。リソース不足が発生していたら、S1016にて、移行プロセス決定部3にリソース不足が発生した旨と、その計算機名を通知する。S1017にて、次にデータを書き込むために、計算機負荷履歴テーブル・メモリ9のエントリを1つ先に進める。計算機負荷履歴テーブル・メモリ9の空きエントリがなくなった場合には、それ以降、最も古いデータから順に上書きしていく。
なお、S1011にて一定時間待っても、計算機負荷監視部4からデータが届かなかった場合には、S1018にて計算機状態テーブル・メモリ10の、データを送信してこなかった計算機負荷監視部4が監視する計算機の欄を「異常」に変更し、S1019にて移行プロセス決定部3に通知する。S1011〜S1019の手順は1つの計算機100に対しての計算機負荷量収集の処理を示したものであり、これを全ての計算機100に対して行う。
FIG. 21 is a diagram illustrating an example of an operation flow of the computer load
If no data arrives from the computer
図22は、デッドラインミスが発生したことが処理時間収集部2より通知された場合における移行プロセス決定部3の動作フローの一例を示した図である。図において、S101で図5に示すように、処理時間収集部2よりデッドラインミスが規定回数以上発生した旨を伝える通知が届く。通知とともに、例えばデッドラインミスが発生したプロセス名も届く。S101でデッドラインミスが発生したプロセスの名前が届くと、S102で、システム構成情報管理テーブル・メモリ7よりデッドラインミスが発生したプロセスを処理している計算機を識別する。そしてS103で、その計算機上で動作している他のプロセスを識別してその名を取得する。S104で、計算機負荷量収集部5に対し、その計算機が正常に動作しているかどうかを問い合わせる。そしてS105にて、S103で識別した計算機が正常動作していなければ、計算機が停止したことがデッドラインミス発生の原因であることがわかる。その場合は、S103で検出した全てのプロセス101を他の計算機に移行させるために、S106にてこれらのプロセス名をリソース再割付の対象として資源割当部6に通知する。
FIG. 22 is a diagram illustrating an example of an operation flow of the migration
なおS105で計算機が正常に動作していた場合には、S107において、S103で見つけたプロセスのうち、CPU時間が増えているプロセスを調査する。CPU時間が増えているかどうかは、システム構成情報管理テーブルが各プロセスの平均CPU時間を保持しているので、システム構成情報管理テーブルを見て平均CPU時間を取得し、現在のCPU時間と比較することで判る。そして、デッドラインミスが発生したプロセスと、S107で見つけ出したプロセスをリソース再割当の候補として、これらのうちのどれかに対してリソース割当を行うように資源割当部6に通知する。
If the computer is operating normally in S105, in S107, a process in which the CPU time is increased among the processes found in S103 is investigated. Whether the CPU time has increased or not is determined because the system configuration information management table holds the average CPU time of each process, so that the average CPU time is obtained by looking at the system configuration information management table and compared with the current CPU time. I understand. Then, the process in which the deadline miss has occurred and the process found in S107 are set as candidates for resource reallocation, and the
図23は、計算機負荷収集手段より通知が届いた場合に移行プロセス決定部3が行う動作フローの一例を示す図である。図7の機能説明図も参照しながら動作を説明する。計算機負荷量収集部5より負荷量が多いと通知が届くのは、計算機故障かメモリ容量が不足の場合があると考えられる。S111にて計算機負荷量収集部5よりこうした通知が届くと、S112にて、システム構成情報管理テーブル・メモリ7を参照することにより、異常が発生した計算機100上で処理されているプロセス101を識別する。そしてS113にて、計算機負荷量収集部5よりの通知の内容が計算機故障かメモリ不足かを調べる。通知の内容が計算機故障であった場合にはS114にて、S112で調べた全プロセスをリソース再割当ての対象として、資源割当部6に通知する。また、通知の内容がメモリ不足であった場合にはS112で、識別して判明した全プロセス101をリソース再割当ての候補として、これらのプロセスのいずれかを他の計算機100に移行させるよう、資源割当部6に通知する。
FIG. 23 is a diagram illustrating an example of an operation flow performed by the migration
図24は、資源割当部6の動作フローの一例を示した図である。図13の機能説明図も参照しながら動作を説明する。S121で、移行プロセス決定部3から、リソース再割当の候補またはリソース再割当の対象となるプロセスのリストが届く。リソース再割当の候補のリストが届く場合は、デッドラインミスが発生してメモリ不足が原因である場合であり、この場合には届いたリストに示すプロセスのいずれか少なくとも1つについて対処を行えばよい。リソース再割当の対象リストが届く場合は、計算機故障が発生した場合であり、この場合には届いた全てのプロセスに対してリソース再割当てを行う必要がある。
S122で、S121で届いたリストに記載されているプロセス名を例えばCPU時間の長い順にテーブルに保持する。S124で、S122で作成したプロセスのテーブルから、プロセス名を1つ取り出す。S126で、正常に動作する計算機100のリストを計算機負荷量収集部5より取得し、例えば負荷の大きい順にテーブルに保持する。そして、S127以下を、S126のテーブルに示されている全計算機について、または、割当先計算機が見つかるまで繰り返す。
S127で、計算機100のリストが示されたテーブル中、最も負荷の大きい計算機を1つ取り出す。S128で、S124で取り出したプロセス101がS127で選択した計算機100上で動作できるかどうかを確認する。動作できるかどうか確認する方法としては、例えば、単純に計算機のCPU使用率のみで判断する方法や、各プロセスの処理周期とCPU時間をもとに処理のタイミングを実際に求め、デッドラインミスが発生せずにスケジューリングできるかどうかを分析する方法が考えられる。
FIG. 24 is a diagram illustrating an example of an operation flow of the
In S122, the process names described in the list received in S121 are stored in a table in the order of, for example, the CPU time. In S124, one process name is extracted from the process table created in S122. In S126, a list of normally operating
In S127, one computer with the highest load is taken out from the table showing the list of
S129にて資源割当部6が、S124でテーブルより取り出したプロセス101がS127で選んだ計算機100上で動作可能であると判断した場合には、次にS130で、S126で取り出した計算機の空きメモリ量を調査し、S124で取り出したプロセスが使用するメモリ量以上空いているかどうかを確認する。十分なメモリが空いていればS132にて、S127で選択した計算機をS124で取り出したプロセスの移行先として決定する。そしてS133にて、S132で決定した計算機によってS124で取り出したプロセスを起動して処理させ、これまで動作していた計算機によるプロセスの処理を停止させる。
S134にて、システム構成情報管理テーブル・メモリ7の、S124にてテーブルより取り出したプロセスと、プロセスの割当先となった計算機(つまりS127で取り出した計算機)とS124にてテーブルより取り出したプロセスの現在のCPU時間に関する情報を書き換えて、S123に戻り、S122にて作成したテーブルの次のエントリに示されるプロセスの処理を行う。
なお、移行プロセス決定部3から「リソース再割当の候補プロセス群」としてプロセスのリストが与えられた場合には、通知されたすべてのプロセス101に対してリソース再割当を行う必要はなく、1つ以上のプロセスの再割当が決定すれば、S122にて作成したテーブルに示される他のプロセスの割当処理を行わずに終了してもよい。
If the
In S134, the process extracted from the table in S124 of the system configuration information
When a list of processes is given as a “resource reassignment candidate process group” from the migration
S129において、S127で選択した計算機100がプロセス101を処理するとデッドラインミスを発生させると判断した場合には、S126に戻り、次に負荷の大きい計算機を選択してS127以降を行う。
またS131で、S127で選択した計算機がS124で選択したプロセスを処理するために必要な空きメモリ量を持たない場合には、S126に戻り、テーブルの次のエントリにある計算機について、S127以降を実行する。S126において、全ての計算機についてS127を実行し、かつ割当先が見つからなかった場合には、そのプロセスのリソース割当を断念してS135に進み、S124で選んだプロセスを停止し、S136で、S122にて作成したテーブルから停止させたプロセス名を削除する。
なお、ここで示した再割当の方法はあくまで一例であり、S124〜S136の動作を応用した例は多数考えられるが、その他の例はここでは割愛する。
If it is determined in S129 that the
In S131, if the computer selected in S127 does not have the amount of free memory necessary to process the process selected in S124, the process returns to S126, and S127 and subsequent steps are executed for the computer in the next entry in the table. To do. In S126, if S127 is executed for all the computers and the allocation destination is not found, the resource allocation of the process is abandoned and the process proceeds to S135, the process selected in S124 is stopped, and the process proceeds to S122 in S136. Delete the stopped process name from the created table.
Note that the reallocation method shown here is merely an example, and there are many examples in which the operations of S124 to S136 are applied, but other examples are omitted here.
図25は、これまでに説明した各構成要素による図18から図24で示される動作をもとに、計算機リソース動的制御装置100aが、または構成要素を分散した計算機リソース動的制御システムが連携して、動作する、デッドラインミスの継続を防ぐ総合動作フローを示した図である。
処理時間収集部2または計算機負荷量収集部5がS141にて、デッドラインミスの発生、または計算機の異常、CPU、メモリ・リソース不足を検出して、移行プロセス決定部3に通知する。この場合の処理時間収集部2の動作はS11〜S16、計算機負荷量収集部5の動作はS1011〜S1018に示すとおりである。その後に移行プロセス決定部3はS142で、上記の通知の内容を調査する。通知の内容が計算機の故障である場合は、S144にて、故障した計算機上で動作していた全てのプロセスを対象として、資源割当部6がS121〜S136の手順によりリソースの割当を行う。計算機の故障でない場合は、S145にて、移行プロセス決定部3が、デッドラインミス発生の原因となったプロセス、リソース不足発生の原因となったプロセス、リソース再割当を行うプロセスを見つけ出す。そしてそれらのプロセスに対してS146にて、資源割当部6がS121〜S136の手順でリソース割当を行う。リソース割当終了後、S147にて資源割当部6は、システム構成情報管理テーブル・メモリ7の、新規にリソース割当を行ったプロセスの識別子と、そのプロセスを処理する割当先計算機、処理に要するCPU時間などに関する情報を新しいものに書き換える。
In FIG. 25, the computer resource dynamic control device 100a or the computer resource dynamic control system in which the components are distributed is linked based on the operations shown in FIGS. FIG. 5 is a diagram showing an overall operation flow that operates and prevents the continuation of a deadline miss.
In S141, the processing
即ち本実施の形態は、複数台の計算機がネットワークに接続され、各計算機上で複数のプロセスが連携または独立して動作し、各プロセスは一定の時間周期で処理を行い、制限時間内に処理を完了することが求められているような分散リアルタイムシステムにおいて、プロセスの処理時間を監視する処理時間監視手段と計算機のリソース使用状況を監視する計算機負荷監視手段とを持ち、各プロセスの処理時間に応じてプロセスに与えるリソースを変更することによってプロセスのデッドラインミスの発生継続を防止するシステムであって、以下の構成を付加することにより十分な空きリソースを持つ他計算機へのプロセスマイグレーションを可能とし、プロセスマイグレーション後における全プロセスのデッドラインミスの再発防止を可能とすることを特徴とする計算機リソース動的制御方式を示している。そして、
11)システムを構成するプロセス一覧、各プロセスの平均処理時間、消費メモリ量、CPU時間、各プロセスの1回あたりの処理における制限時間、システムを構成する計算機一覧、計算機が搭載するメモリ量を保持するシステム構成情報管理テーブル。
12)システム上で動作する全プロセスの処理時間、CPU時間の変動の履歴を保持するとともに、プロセスのデッドラインミスの発生を検出する処理時間収集手段。
13)システム上で動作する全計算機のリソースの使用状況の履歴を保持し、過去の計算機リソースの使用状況を他の手段に通知するとともに、リソース不足の発生を検出する計算機負荷収集手段。
14)デッドラインミス、CPUリソース不足、デッドラインミスなどの障害が発生した場合に、リアルタイム処理を継続するためにリソースの再割り当てを行うプロセスを決定する移行プロセス決定手段。
15)移行プロセス決定手段が決定したプロセスに対して、システム構成情報管理テーブルより必要なリソース量を取得し、必要な空きリソースを持つ計算機上にプロセスマイグレーションを行う資源割付手段、を備えた。
In other words, in this embodiment, a plurality of computers are connected to a network, and a plurality of processes operate in cooperation or independently on each computer, and each process performs processing at a fixed time period and performs processing within a time limit. In a distributed real-time system that is required to complete the process, it has a processing time monitoring means for monitoring the processing time of the process and a computer load monitoring means for monitoring the resource usage status of the computer. In response to the change of the resources given to the process, the system prevents the continuation of process deadline mistakes. By adding the following configuration, process migration to other computers with sufficient free resources is possible. , Prevents the recurrence of deadline mistakes in all processes after process migration It shows a computer resource dynamic control method, characterized by. And
11) A list of processes constituting the system, an average processing time of each process, a consumed memory amount, a CPU time, a time limit for processing per process, a list of computers constituting the system, and a memory amount installed in the computer are retained. System configuration information management table.
12) Processing time collection means for holding the history of fluctuations in the processing time and CPU time of all processes operating on the system and detecting the occurrence of a process deadline miss.
13) Computer load collection means for holding a history of resource usage of all the computers operating on the system, notifying other means of usage of past computer resources, and detecting occurrence of resource shortage.
14) A migration process determination unit that determines a process for reallocating resources in order to continue real-time processing when a failure such as a deadline miss, CPU resource shortage, or deadline miss occurs.
15) Resource allocation means for acquiring a necessary resource amount from the system configuration information management table for the process determined by the migration process determining means and performing process migration on a computer having the necessary free resources is provided.
言い換えると、本実施の形態の計算機リソース動的制御装置は、対象となるプロセスを処理する計算機を複数台接続して、複数の上記プロセスを連携処理するシステム、に接続して、
各上記計算機のリソースの使用状態を監視して計算機のこのリソースの使用状態情報を収集し、このリソースの不足を検出する計算機負荷量収集部と、
上記プロセスの処理時間を監視してプロセスの処理時間を収集し、プロセスの処理限界時間を規定したデッドライン時間を超す処理となるデッドラインミスの発生を検出する処理時間収集部と、
システムで処理される上記プロセスの処理時間とこのプロセスの処理で使用する計算機のリソースの使用量とデッドライン時間とをプロセスの識別子と共に記憶し、システムに接続される上記計算機の所有リソース量を計算機の識別子と共に記憶するシステム構成情報テーブル・メモリと、
上記デッドラインミスの発生の通知により上記システム構成情報テーブル・メモリを参照して上記プロセスの処理を現行の計算機とは異なる計算機に再割当を勧告する移行プロセス決定部と、
上記再割当の勧告通知を受けて上記システム構成情報テーブル・メモリの上記プロセスの処理時間と上記計算機の所有リソース量とを参照して上記プロセスの処理時間が上記デッドライン時間内となるようプロセスと候補計算機とを抽出し、この抽出したプロセスをこの抽出した候補計算機に割当て実行させると同時に上記システム構成情報テーブル・メモリを更新する資源割当部と、を備えた。
このように、プロセスのデッドラインミスを検出し、規定回数以上デッドラインミスが発生したプロセス101の処理を他の負荷の軽い計算機100に割り付けるか、デッドラインミスが発生した原因となるプロセスを計算機リソースに余裕のある他の計算機に割当ることにより、デッドラインミスの継続を防ぐことが可能となる。
また、原因が計算機故障の場合には、故障した計算機上で動作していた全てのプロセスを他の計算機に再割当することにより、処理の継続が可能となる。
In other words, the computer resource dynamic control device according to the present embodiment connects a plurality of computers that process the target process, and connects to a system that processes the plurality of processes in cooperation.
A computer load collection unit that monitors the resource usage status of each of the above computers, collects the usage status information of this resource of the computer, and detects a shortage of this resource;
A processing time collecting unit that monitors the processing time of the process and collects the processing time of the process, and detects the occurrence of a deadline miss that is a process that exceeds the deadline time that defines the processing limit time of the process;
The processing time of the above-mentioned process processed in the system, the use amount of the computer resource used in the processing of this process, and the deadline time are stored together with the process identifier, and the owned resource amount of the above-mentioned computer connected to the system is calculated. A system configuration information table memory for storing together with the identifier of
A transition process determination unit that recommends reassignment of processing of the process to a computer different from the current computer by referring to the system configuration information table / memory by notification of occurrence of the deadline miss;
In response to the reassignment recommendation notification, the processing time of the process in the system configuration information table / memory is referred to the amount of resources owned by the computer so that the processing time of the process is within the deadline time. A candidate computer, and a resource allocation unit that updates the system configuration information table and memory at the same time that the extracted process is allocated and executed by the extracted candidate computer.
In this way, a deadline miss of a process is detected, and the process of the
In addition, when the cause is a computer failure, the process can be continued by reassigning all the processes operating on the failed computer to other computers.
実施の形態2.
実施の形態1では、計算機がプロセスを処理する実績に基づいてデッドラインミスが生じたプロセスを負荷の軽い計算機に移す場合を説明したが、本実施の形態では学習により将来の予測をしてデッドラインミスが発生しそうであると、プロセスを他の計算機に移して、更にデッドラインミスの発生確率を減らす装置、システムを説明する。
図26は、本実施の形態における計算機リソース動的制御システムの構成の例を示す図である。本実施の形態における計算機リソース動的制御システムは、実施の形態1における構成のほか、デッドラインミス発生時刻予測部21、計算機負荷予測部22、CPU時間予測部23、メモリ使用量予測部24を備えている。その他の構成要素の、処理時間監視部1、計算機負荷監視部4、システム構成情報管理テーブル・メモリ7ないし計算機状態テーブル・メモリ10の機能と動作は、実施の形態1と同一であり、説明を省略する。
同様に図27は、本実施の形態における計算機リソース動的制御装置100bの構成を示す図である。即ち図26に示す分散配置でシステムとして動的制御することに代えて、特定の計算機が全ての構成要素を備えて、制御装置となってもよい。
また、処理時間収集部がデッドラインミス発生時刻予測部21を含んで、処理時間収集・予測部2bとなる構成とし、計算機負荷量収集部が計算機負荷予測部22を含んで、計算機負荷量収集・予測部5bとなる構成としてもよい。
In the first embodiment, a case has been described in which a process in which a deadline error has occurred is transferred to a light-loading computer based on the results of processing the process by the computer. An apparatus and system for reducing the probability of occurrence of a deadline miss by moving the process to another computer when a line miss is likely to occur will be described.
FIG. 26 is a diagram showing an example of the configuration of a computer resource dynamic control system in the present embodiment. The computer resource dynamic control system according to the present embodiment includes, in addition to the configuration according to the first embodiment, a deadline miss occurrence
Similarly, FIG. 27 is a diagram showing a configuration of the computer resource
Further, the processing time collection unit includes the deadline miss occurrence
以下、本実施の形態における移行プロセス決定部3b、資源割当部6b、デッドラインミス発生時刻予測部21または処理時間収集・予測部2b、計算機負荷予測部22または計算機負荷量収集・予測部5b、CPU時間予測部23、メモリ使用量予測部24の機能について説明する。
本実施の形態における移行プロセス決定部3bは、処理時間収集部2から、デッドラインミス発生の通知を受け取る機能に加え、デッドラインミス発生時刻予測部21からも通知を受け取る機能を持つ点が実施の形態1と異なる。また、デッドラインミス発生時刻予測部21からデッドラインミス発生の通知を受け取った場合には、計算機負荷予測部22やメモリ使用量予測部24やCPU時間予測部23にも問い合わせることによってデッドラインミス発生時の計算機負荷、メモリ使用量、CPU時間(計算機のプロセッサがそのプロセスを処理する時間)の予測値を取得し、これらの予測値に基づき、将来発生すると思われるデッドラインミス発生の原因を推測する点が実施の形態1と異なる。
本実施の形態における資源割当部6bは、移行プロセス決定部3bがデッドラインミス発生時刻予測部21からデッドラインミス通知を受け取った場合には、計算機負荷予測部22、CPU時間予測部23、メモリ使用量予測部24に問い合わせることによって、プロセスの再割当先として適切な計算機100を選択する点が実施の形態1と異なる。
Hereinafter, the migration process determination unit 3b, the resource allocation unit 6b, the deadline miss occurrence
The migration process determination unit 3b in the present embodiment has a function of receiving a notification from the processing
When the migration process determining unit 3b receives a deadline miss notification from the deadline miss occurrence
図28は、本実施の形態におけるデッドラインミス発生時刻予測部21の機能を示した図である。デッドラインミス発生時刻予測部21は、処理時間履歴テーブル・メモリ8に示される処理開始時刻、処理終了時刻から時刻と処理時間の変動の関係を統計学などにより求め、近似式で表現する機能を持つ。また、求めた近似式を利用してデッドラインミス発生時刻を予測し、処理時間収集・予測部2bか、または直接に移行プロセス決定部3bに、デッドライン発生予測時刻を通知する役割を持つ。例えば、図28の例では、50ミリ秒周期で処理を行っており、処理を行うたびに処理時間が10ミリ秒ずつ長くなっているケースを示している。この場合の近似式はy=0.2×(x−最も古いデータ内の処理開始時刻)+10ミリ秒(yは処理時間、xは処理開始時刻)と求めることができ、例えば処理のデッドラインが100ミリ秒であった場合には、10時10分10秒450ミリ秒にデッドラインミスが発生することがわかる。この場合、デッドラインミス発生時刻予測部21は、移行プロセス決定部3bに「10時10分10秒450ミリ秒にデッドラインミスが発生する」との予告を通知することになる。
FIG. 28 is a diagram illustrating the function of the deadline miss occurrence
図29は、本実施の形態における計算機負荷予測部22の機能を示した図である。計算機負荷予測部22は、計算機負荷履歴テーブル・メモリ9に示されるCPU使用率から、時刻とCPU負荷の変動の関係を統計学などの手法により求め、変動を近似式にて表現する機能を持つ。また、求めた近似式を利用して、デッドラインミス発生予測時刻における各計算機のCPU使用率を求め、移行プロセス決定部3bなどからのリクエストに応じてこれらの値を通知する機能を持つ。また、CPU使用率がある上限値を超える時刻を求め、移行プロセス決定部3bに通知する機能を持つ。ある上限値とは、100%でもよいし、ユーザによってあらかじめ決めておいてもよい。
例えば、図29では、ある計算機の負荷が50ミリ秒ごとに0.5%ずつ増加しているケースを示している。この場合のCPU使用率の近似式はy=0.01×(x−最も古いデータの受信時刻)+10(yはCPU使用率、xは時刻)と求めることができ、例えば、移行プロセス決定部3bから、10時10分10秒450ミリ秒のCPU負荷について問い合わせがあった場合には、14.5%と回答することになる。もし、問い合わせと同じ時刻のデータが存在しなければ、テーブルに示される中で最も近い時刻データを取得し、回答することになる。また、CPU使用率の許容可能な上限値を100%とした場合、本式より、CPU使用率が100%になるのは10時10分28秒になる。
計算機負荷予測部22は、プロセスごとにあってもよいし、システムで1つでもよい。ただしシステムで1つの場合は、全てのプロセスに対して近似式を求めることになる。
FIG. 29 is a diagram showing the function of the computer
For example, FIG. 29 shows a case where the load on a certain computer increases by 0.5% every 50 milliseconds. In this case, the approximate expression of the CPU usage rate can be obtained as y = 0.01 × (x−the reception time of the oldest data) +10 (y is the CPU usage rate and x is the time). From 3b, if there is an inquiry about the CPU load at 10:10:10 seconds 450 milliseconds, it will be answered 14.5%. If there is no data at the same time as the inquiry, the closest time data shown in the table is acquired and answered. Also, assuming that the allowable upper limit value of the CPU usage rate is 100%, from this equation, the CPU usage rate becomes 100% at 10:10:28.
The computer
図30は、本実施の形態におけるCPU時間予測部23の機能を示した図である。CPU時間予測部23は、処理時間履歴テーブル・メモリ8に示される各プロセスのCPU時間から、時刻とCPU時間の変動の関係を統計学などにより求め、近似式で表現する機能を持つ。また、移行プロセス決定部3bなどからのリクエストに応じて、求めた近似式を利用して、デッドラインミス発生予測時における各プロセスのCPU時間を求め、通知する機能を持つ。
例えば、図30では、ある計算機のCPU時間が50ミリ秒ごとに10ミリ秒ずつ増えているケースを示している。この場合のCPU時間の近似式はy=0.2×(x−最も古い受信データ内の処理開始時刻)+9(yはCPU時間、xは処理開始時刻)と求めることができ、例えば、移行プロセス決定部3bから、10時10分10秒450ミリ秒のCPU時間について問い合わせがあった場合には、CPU時間予測部23は、その時間は99ミリ秒と回答することになる。
FIG. 30 is a diagram illustrating a function of the CPU
For example, FIG. 30 shows a case where the CPU time of a certain computer increases by 10 milliseconds every 50 milliseconds. In this case, an approximate expression of CPU time can be obtained as y = 0.2 × (x−processing start time in the oldest received data) +9 (y is CPU time, x is processing start time). If there is an inquiry about the CPU time of 10: 10: 10: 450 milliseconds from the process determination unit 3b, the CPU
図31は、本実施の形態におけるメモリ使用量予測部24の機能を示した図である。メモリ使用量予測部24は、計算機負荷履歴テーブル・メモリ9に示されるメモリ使用量から、時刻とメモリ使用量の変動を統計学などにより求め、変動を近似式にて表現する機能を持つ。また、メモリ使用量の近似式をもとにメモリ不足が発生する時刻を求め、移行プロセス決定部3bに通知する機能を持つ。また、求めた近似式を利用して、デッドラインミス発生予測時刻における各計算機のメモリ使用量を求め、移行プロセス決定部3bなどからのリクエストに応じて通知する機能を持つ。空きメモリ量がどの程度になったらメモリ不足とするかは、ユーザよりシステムに与えてもよいし、空きメモリ量が0になったらメモリ不足としてもよい。ここでは説明を単純にするため、空きメモリが0となったらメモリ不足とする。
例えば、図31の例では、ある計算機のメモリ使用量が、50ミリ秒ごとに2MBずつ増加しているケースを示している。この場合のメモリ使用量の近似式は、y=0.04×(x−最も古いデータの受信時刻)+100(yはメモリ使用量、xは時刻)と求めることができる。そして、本計算機の搭載メモリ量が180MBであった場合には、2秒後にメモリ不足が発生することになり、その旨を処理時間収集・予測部2bまたは直接に移行プロセス決定部3bに通知する。また、移行プロセス決定部3bなどから、10時10分10秒450ミリ秒のメモリ使用量について問い合わせがあった場合には、118MBと回答することになる。
メモリ使用量予測部24は、計算機に1つあってもよいし、システムに1つでもよいが、全ての計算機について近似式を求めることになる。
FIG. 31 is a diagram showing the function of the memory usage
For example, the example of FIG. 31 shows a case where the memory usage of a certain computer increases by 2 MB every 50 milliseconds. In this case, the approximate expression of the memory usage can be obtained as y = 0.04 × (x−the reception time of the oldest data) +100 (y is the memory usage, x is the time). If the amount of installed memory in this computer is 180 MB, a memory shortage will occur after 2 seconds, and this is notified to the processing time collection /
Although there may be one memory
図32は、本実施の形態におけるデッドラインミス発生時刻予測部21の動作フローの一例を示す図である。図28の機能説明図も参照しながら動作を説明する。デッドラインミス発生時刻予測部21は、S21にて、処理時間履歴テーブル・メモリ8の全エントリを参照し、各エントリにおける開始時刻と処理時間を求める。処理時間とは、処理終了時刻から処理開始時刻を引いたものである。そしてS22にて、統計学の手法により処理開始時刻と処理時間の関係を近似式にて表す。近似式の求め方としては、例えば最小二乗法などが考えられる。また近似式の次数に関しては、あらかじめ決めておいてもよいし、次数の上限を決めた上で次数を1次から徐々に上げていき、正確に近似した式を求めるという方法も考えられる。そして求めた式を用いて、S23にて、デッドラインミス発生時刻を求める。求め方は、例えば、S22にて求めた式がy=anxn+an−1xn−1+…+ax+b(y:処理時間、x:時刻)であった場合、yの値にデッドライン時間の値を代入したときのxの値により求めることができる。
そしてS24にて、デッドラインミスが将来発生するかどうかを求める。デッドラインミスが将来発生するかどうかは、例えばS23にて求めた時刻が現在時刻より前か後かによって判断することができる。デッドラインミスが将来発生すると判断した場合には、S25において、処理時間収集・予測部経由で、または直接で移行プロセス決定部3bに、デッドラインミス発生が予想されるプロセスの名前を通知する。この動作は、プロセスの処理とは同期せずに行ってもよいし、プロセスの処理が終わるたびに行ってもよい。
FIG. 32 is a diagram illustrating an example of an operation flow of the deadline miss occurrence
In S24, it is determined whether a deadline miss will occur in the future. Whether a deadline miss will occur in the future can be determined, for example, based on whether the time obtained in S23 is before or after the current time. If it is determined that a deadline miss will occur in the future, in S25, the name of the process in which the occurrence of a deadline miss is expected is notified to the migration process determination unit 3b via the processing time collection / prediction unit or directly. This operation may be performed without being synchronized with the processing of the process, or may be performed every time the processing of the process is completed.
図33は、本実施の形態における計算機負荷予測部22の動作フローの一例を示した図である。図29の機能説明図も参照しながら動作を説明する。S201にて、計算機負荷履歴テーブル・メモリ9の全エントリを参照し、各エントリの負荷取得時刻とそのときの計算機負荷を求める。そしてS202にて、統計学の手法により、計算機負荷と負荷取得時刻の関係を近似式にて表す。近似式の求め方としては、デッドラインミス発生時刻予測手段と同様、例えば最小二乗法などが考えられる。また、近似式の次数に関しては、デッドラインミス発生時刻予測手段と同様にあらかじめ決めておいてもよいし、次数の上限を決めた上で徐々に上げて、最もデータの変動に近い式を近似式とする、という方法でもよい。
S203にて、S202で求めた式からCPU使用率が100%ないし決められた上限値になる時刻を求める。そしてCPU使用率が上限に達すると予測されると、S205にて、CPU使用率が上限に達する時刻と、その計算機名を通知する。なお、S201〜S205の処理は、計算機負荷量収集部5からの計算機負荷情報の通知に同期して行ってもよいし、非同期に行ってもよい。
FIG. 33 is a diagram showing an example of an operation flow of the computer
In S203, the time when the CPU usage rate becomes 100% or the determined upper limit value is obtained from the equation obtained in S202. If it is predicted that the CPU usage rate will reach the upper limit, in S205, the time when the CPU usage rate reaches the upper limit and the computer name are notified. Note that the processing of S201 to S205 may be performed in synchronization with the notification of the computer load information from the computer load
図34は、本実施の形態におけるCPU時間予測部23の動作フローの一例を示した図である。図30の機能説明図も参照しながら動作を説明する。S211にて、処理時間履歴テーブル・メモリの全エントリを参照し、各エントリにおける処理開始時刻とCPU時間を取得する。そしてS212にて、統計学の手法により、CPU時間取得時刻とCPU時間の関係を近似式で表す。近似式の求め方は、上記の最小二乗法などが考えられる。その近似式の次数に関しても上記と同様に処理する。この動作は、プロセスの処理と同期、非同期いずれで行ってもよい。
図35は、本実施の形態におけるメモリ使用量予測部24の動作フローの一例を示す図である。S221にて、計算機負荷履歴テーブル・メモリ9の全エントリを参照し、各エントリにおける負荷取得時刻とそのときのメモリ使用量を求める。そしてS222にて、負荷取得時刻とメモリ使用量の関係を、上記の近似式で表したと同様な方法で表す。この処理も、計算機負荷量収集部5への通知に同期して、または非同期で行ってよい。そしてS223にて、メモリ不足が発生する時刻を求める。例えば、S222にて求めた式がy=anxn+an−1xn−1+・・・+a1x+b(y:メモリ使用量、x:時刻)であった場合には、yに例えば計算機搭載メモリ量またはユーザが決定した上限メモリ量を代入した場合のxの値を求めればよい。求めた時刻が現在時刻よりも後であった場合には、メモリ不足が発生させると予測され、S225において、メモリ不足が発生する時刻と、その計算機名を移行プロセス決定部3bに通知する。
FIG. 34 is a diagram showing an example of an operation flow of the CPU
FIG. 35 is a diagram illustrating an example of an operation flow of the memory usage
図36は、本実施の形態における移行プロセス決定部3bの、デッドラインミス発生時刻予測部21からデッドラインミス発生の予測通知が届いた場合の動作フローの一例順を示した図である。
S231で、デッドラインミス発生時刻予測部21よりデッドラインミスがある時刻に発生する旨を伝える通知が届く。通知とともに、例えばデッドラインミスが発生したプロセス名が届くことが考えられる。S231でデッドラインミスが発生するプロセスの名前が届くと、S232で、システム構成情報管理テーブル・メモリ7を参照することにより、デッドラインミスが発生するプロセスを処理している計算機名を取得する。そしてS233で、その計算機100上で動作している他のプロセス101の名を取得する。S234にて、S233で見つけたプロセスのうちでデッドラインミス発生の予測時刻においてCPUの処理時間が増えているプロセスを調査する。CPU時間が増えているプロセスは実際に処理負荷が高くなったプロセスを示す。CPU時間が増えているかどうかの判断は、システム構成情報管理テーブルが、各プロセスの平均CPU時間を保持しているので、システム構成情報管理テーブルより平均CPU時間を取得し、更にCPU時間予測部23に、デッドラインミス発生時刻におけるプロセスのCPU時間を問い合わせて取得し、この二つの値を比較することにより判断できる。そしてS235にて、デッドラインミスが発生すると予測されるプロセスと、S234で見つけ出したプロセスを、リソース再割当を行う候補プロセスとして、これらのうちの少なくともどちらか1つを移行させるように資源割当部6bに通知する。
FIG. 36 is a diagram illustrating an example order of an operation flow in the transition process determination unit 3b according to the present embodiment when a prediction notification of the occurrence of a deadline miss has arrived from the deadline miss occurrence
In S231, the deadline miss occurrence
図37は、本実施の形態における移行プロセス決定部3bの他の動作フロー、即ちメモリ使用量予測部24または計算機負荷予測部22から、それぞれの予測通知が届いた場合の動作フローの一例を示した図である。
S241にて、メモリ使用量予測部24または計算機負荷予測部22よりデッドラインミス発生の予測通知が届くと、S242で、システム構成情報管理テーブル・メモリ7を参照して、メモリ不足が発生する計算機100上で動作するプロセス101名を取得し、S242で見つけたプロセスをリソース再割当の候補とし、資源割付部6bにこれらのプロセスを通知する。
なお、処理時間収集・予測部2b、計算機負荷量収集部5から通知を受け取った場合の移行プロセス決定部3bの動作は実施の形態1と同一である。
FIG. 37 shows an example of the operation flow when each prediction notification arrives from the other operation flow of the migration process determination unit 3b in this embodiment, that is, the memory usage
When a notice of occurrence of a deadline miss is received from the memory
The operation of the migration process determination unit 3b when receiving a notification from the processing time collection /
図38は、本実施の形態における資源割付部6bの動作フローの一例を示す図である。
S251で移行プロセス決定部3bから、リソース再割当の候補、リソース再割当対象となるプロセスのリストが届くと、S252で、そのリストに記載されているプロセス名を例えばデッドラインミス発生時において使用するCPU時間の長い順にテーブルに保持する。デッドラインミス発生時のCPU時間は、CPU時間予測部23に問い合わせることにより求められる。
S254において、S252で作成したプロセス名のテーブルから、プロセス名を1つ取り出す。S255で、正常に動作する計算機100の一覧を計算機負荷量収集部5より取得し、例えばデッドラインミス発生時において負荷の大きい順にテーブルに保持する。デッドラインミス発生時刻における計算機負荷は、計算機負荷予測部22に問い合わせることにより求められる。
S257において、計算機のリストで示されたテーブル中、例えば最もCPU使用率の最も高い計算機を1つ取り出す。S258では、S254で取り出したプロセス101がS257で選択した計算機100上で動作できるかどうかを確認する。動作できるかどうかを確認する方法としては、例えば、単純に計算機のCPU使用率のみで判断する方法や、各プロセスの周期をもとにして、どのプロセスがいつCPUを占有するかを実際に調査することによってデッドラインミスが発生せずにスケジューリングできるかどうかを分析する方法が考えられる。
FIG. 38 is a diagram illustrating an example of an operation flow of the resource allocation unit 6b in the present embodiment.
When the migration process determination unit 3b receives a resource reassignment candidate and a list of resource reassignment process processes in S251, the process name described in the list is used in S252 when a deadline miss occurs, for example. The table is held in order of increasing CPU time. The CPU time when a deadline miss occurs is obtained by inquiring the CPU
In S254, one process name is extracted from the process name table created in S252. In S255, a list of normally operating
In S257, for example, one computer having the highest CPU usage rate is extracted from the table shown in the computer list. In S258, it is confirmed whether or not the
S259において、S254でテーブルより取り出したプロセスがS257で選んだ計算機100上で動作可能であると判断した場合には、次にS260において、S257で取り出した計算機100の、デッドラインミス発生時刻における空きメモリ量を調査し、S254で取り出したプロセス101が使用するメモリ量以上に空いているかどうかを確認する。デッドラインミス発生時刻における空きメモリ量は、メモリ使用量予測部24にデッドラインミス発生時刻のメモリ使用量を問い合わせて取得し、更にシステム構成情報管理テーブル・メモリ7に対してS256で取り出した計算機の搭載メモリ量を参照して得て、後者の値から前者の値を引くことにより求めることができる。
そして十分な空きメモリ量があればS262において、S257で選択した計算機100をS254で取り出したプロセス101の再割当先として決定する。S263において、S261で決定した計算機100上でS254にて取り出したプロセス101を起動し、元の計算機で動作していたプロセスを停止させる。S264にて、システム構成情報管理テーブル・メモリ7の、S254にてテーブルより取り出したプロセスとプロセスの割付先となった計算機100(S256で取り出した計算機)とS254にてテーブルより取り出したプロセス101のデッドラインミス発生時のCPU時間を書き換えてS253に戻り、S252にて作成したテーブルの次のエントリに示されるプロセスについて、S253〜S264の処理を行う。
If it is determined in S259 that the process extracted from the table in S254 is operable on the
If there is a sufficient amount of free memory, in S262, the
なお、移行プロセス決定部3bからデッドラインミス発生時刻予測部21、またはメモリ使用量予測部24からの通知で動的リソース制御装置またはシステムが動作している場合、すなわちリソース再割当の候補プロセス群としてプロセス101のリストが与えられており、リストに示されるプロセスの少なくともどれか1つについてリソース再割当が行えればよいという場合には、通知されたすべてのプロセスに対してリソース再割当を行わずに終了してもよい。
S259において、S257で選択した計算機100でプロセス101を処理するとデッドラインミスを発生させると判断した場合には、S256に戻り、S255で作成したテーブルに示される他の全計算機100についてS257以下を実行する。
またS261において、S257で選択した計算機100に十分な空きメモリがない場合には、S256に戻り、S255で作成したテーブルに示される全計算機についてS257以下を実行する。S256において、全ての計算機について動作可能であるかどうかチェックを行って未割当の場合には、割当可能な計算機が存在しなかったと判断してリソース割当を断念し、S266にて自プロセスを停止させ、S265にて、そのプロセスをテーブルから削除して、テーブルの次のプロセスについてS253以下の処理を行う。
なお、ここで示した再割当の方法はあくまで一例であり、S254〜S264の動作を応用した例は多数考えられるが、その他の例はここでは割愛する。
In addition, when the dynamic resource control device or system is operating in response to a notification from the migration process determination unit 3b from the deadline miss occurrence
In S259, when it is determined that the
In S261, if there is not enough free memory in the
Note that the reallocation method shown here is merely an example, and there are many examples in which the operations of S254 to S264 are applied, but other examples are omitted here.
図39は、各構成要素の動作をもとにして連携動作させた場合の、本実施の形態における計算機リソース動的制御装置またはシステムの動作フローの概要を示した図である。
図において、S271にて、処理時間収集部2、計算機負荷量収集部5、デッドラインミス発生時刻予測部21、メモリ使用量予測部24が、デッドラインミスの発生、デッドラインミスの発生予測、計算機の異常、CPU・メモリリソース不足、CPU・メモリ・リソース不足の予測を移行プロセス決定部3bに通知する。デッドラインミス発生の検出は、S11〜S16の手順で行われる。デッドラインミスの発生予測の検出はS21〜S25の手順で行われる。計算機の異常検出、CPU・メモリリソース不足の検出はステップS1011〜S1016の手順で行われる。デッドラインミスの発生予測は、S21〜S25の手順で行われる。CPUリソース不足の予測は、ステップS201〜S205の手順で行われる。メモリリソース不足の予測は、ステップS221〜S225の手順で行われる。
するとS272で、移行プロセス決定部3bは、通知の内容を調査する。通知の内容が計算機の故障であれば、S274にて、故障した計算機100上で動作していた全てのプロセス101に対して、資源割当部6bはS251〜S265の手順でリソースの割当を行う。
FIG. 39 is a diagram showing an outline of the operation flow of the computer resource dynamic control device or system in the present embodiment when a cooperative operation is performed based on the operation of each component.
In the figure, in S271, the processing
Then, in S272, the migration process determination unit 3b investigates the content of the notification. If the content of the notification is a computer failure, in S274, the resource allocation unit 6b allocates resources to all the
計算機の故障でなければ、S275にて、移行プロセス決定部3bによりデッドラインミス発生の原因と考えられるプロセス、または、リソース不足発生の原因と考えられるプロセスを見つけ出し、S276にて資源割当部6bがS251〜S265の手順でリソース割当を行う。リソース割当終了後S277にて、資源割当部6bは、システム構成情報管理テーブル・メモリ7の、新規にリソース割当を行ったプロセスの識別子と、そのプロセスが動作する割当先計算機100に関する情報などを書き換える。
If it is not a computer failure, in S275, the migration process determining unit 3b finds a process that is considered to be the cause of the occurrence of a deadline error or a process that is considered to be the cause of the resource shortage, and in S276, the resource allocation unit 6b Resource allocation is performed according to the procedures of S251 to S265. In S277 after the resource allocation is completed, the resource allocation unit 6b rewrites the identifier of the process that has newly allocated the resource, information on the
即ち本実施の形態は、複数台の計算機がネットワークに接続され、各計算機上で複数のプロセスが連携または独立して動作し、各プロセスは一定の時間周期で処理を行い、制限時間内に処理を完了することが求められているような分散リアルタイムシステムにおいて、プロセスの処理時間を監視する処理時間監視手段と計算機のリソース使用状況を監視する計算機負荷監視手段とを持ち、各プロセスの処理時間に応じてプロセスに与えるリソースを変更することによってプロセスのデッドラインミスの発生を防止するシステムであって、以下の構成を付加することにより、デッドラインミスが発生する前に空きリソースを持つ他計算機へのプロセスマイグレーションを行い、デッドラインミス発生を予防することを特徴とする計算機リソース動的制御方式を示している。即ち、
21)各プロセスの平均処理時間、消費メモリ量、CPU時間、各プロセスの1回あたりの処理における制限時間、システムを構成する計算機一覧を保持するシステム構成情報管理テーブル。
22)システム上で動作する各プロセスの処理時間、CPU時間の変動の履歴を保持するとともに、プロセスのデッドラインミスの発生を検出する処理時間収集手段。
23)各プロセスの処理時間の変動の履歴より、プロセスの処理時間の変動を学習し、将来のデッドラインミスの発生および発生時刻を予測する処理時間予測手段。
24)システム上で動作する全計算機のリソースの使用状況の履歴を保持し、過去の計算機リソースの使用状況を他の手段に通知するとともに、リソース不足の発生を検出する計算機負荷収集手段。
25)計算機のメモリ使用状況の変動をもとに、メモリの使用状況の将来の変動を学習し、将来のメモリ不足の発生を検出するとともに、プロセスのデッドラインミス発生予想時刻やCPUリソース不足発生時刻におけるメモリ使用状況を通知するメモリ使用量予測手段。
26)計算機のCPU使用状況の変動より、CPU使用状況の将来の変動を学習し、将来のCPUリソース不足の発生を検出するとともに、メモリ不足が発生する時刻、デッドラインミス発生予想時刻におけるCPU使用状況を通知するCPU使用率予測手段。
27)デッドラインミス、CPUリソース不足、メモリリソース不足などの障害が発生した場合に、リソースの再割り当てを行うべきプロセスを決定する移行プロセス決定手段。
28)システム構成情報管理テーブルより移行プロセス手段が決定したプロセスが必要なリソース量を取得し、必要な空きリソースを持つ計算機上にプロセスマイグレーションする資源割付手段、を備えた。
In other words, in this embodiment, a plurality of computers are connected to a network, and a plurality of processes operate in cooperation or independently on each computer, and each process performs processing at a fixed time period and performs processing within a time limit. In a distributed real-time system that is required to complete the process, it has a processing time monitoring means for monitoring the processing time of the process and a computer load monitoring means for monitoring the resource usage status of the computer. A system that prevents the occurrence of process deadline misses by changing the resources given to the process accordingly, and by adding the following configuration to other computers that have free resources before the deadline miss occurs A computer resource that prevents deadline errors from occurring It shows the control system. That is,
21) A system configuration information management table that holds an average processing time of each process, an amount of consumed memory, a CPU time, a time limit for processing per process, and a list of computers constituting the system.
22) Processing time collecting means for holding a history of fluctuations in processing time and CPU time of each process operating on the system and detecting occurrence of a process deadline miss.
23) A processing time predicting unit that learns the variation in the processing time of the process from the history of the variation in the processing time of each process, and predicts the occurrence and occurrence time of a future deadline miss.
24) Computer load collecting means for holding a history of resource usage of all the computers operating on the system, notifying other means of the usage status of past computer resources, and detecting occurrence of resource shortage.
25) Learning future fluctuations in memory usage based on fluctuations in the memory usage of computers, detecting future memory shortages, and predicting the occurrence of process deadline misses and CPU resource shortages Memory usage amount predicting means for notifying the memory usage status at time.
26) Learning future fluctuations in the CPU usage status from fluctuations in the CPU usage status of the computer, detecting the occurrence of a future CPU resource shortage, and the CPU usage at the time when the memory shortage occurs and the estimated deadline miss occurrence time CPU usage rate predicting means for notifying the situation.
27) A migration process determining unit that determines a process to which resources should be reassigned when a failure such as a deadline miss, CPU resource shortage, or memory resource shortage occurs.
28) Resource allocation means for acquiring a necessary resource amount for the process determined by the migration process means from the system configuration information management table and performing process migration on a computer having the necessary free resources is provided.
言い換えると、本実施の形態における計算機リソース動的制御装置は、計算機のプロセッサ使用状況の変動を基に、該プロセッサの使用時間を予測し、現プロセッサによるデッドラインミスの発生時刻を予測する計算機時間予測部と、
計算機のメモリ使用状況の変動を基に、該メモリの必要量を予測するメモリ使用量予測部と、を備え、
計算機負荷量収集部は、計算機リソースの使用状態情報の収集に加えて、リソースと計算機能力との必要量を予測する計算機負荷量収集・予測部を有し、
処理時間収集部は、プロセスの処理時間の収集に加えて、現計算機によるデッドラインミスの発生時刻を予測する処理時間収集・予測部を有し、
移行プロセス決定部は、上記リソースと計算機能力の必要量予測または上記デッドラインミスの発生予測の通知を受けると、該予測に基づいてプロセスの再割当を勧告し、
資源割当部は、上記デッドラインミスの発生時刻の予測と上記メモリの必要量の予測とに基づいて、上記勧告されて抽出したプロセスを抽出した候補計算機に割当て実行させることを特徴とする。
このように、実施の形態1に加え、デッドラインミスの発生をプロセスの処理時間の変動などから学習することによって予測し、デッドラインミス発生を予測してリソース再割当てを行えるようにすることにより、システムのソフトリアルタイム処理だけでなく、ハードリアルタイム処理も実現することができる。また、デッドラインミス発生時のCPU負荷、メモリ使用量も予測してリソース割当を行うことによって、よりデッドラインミスの発生しにくい計算機100にリソース割当を行うことができ、リソース再割当完了後のデッドラインミス再発を高い確率で防止することができる。
In other words, the computer resource dynamic control apparatus according to the present embodiment predicts the usage time of the processor based on the change in the processor usage status of the computer, and predicts the occurrence time of the deadline miss by the current processor. A predictor;
A memory usage amount predicting unit that predicts a necessary amount of the memory based on a change in the memory usage status of the computer,
The computer load amount collection unit has a computer load amount collection / prediction unit that predicts the required amount of resources and calculation function in addition to the collection of computer resource usage information.
The processing time collection unit has a processing time collection / prediction unit that predicts the occurrence time of a deadline miss by the current computer in addition to collecting the processing time of the process,
When the migration process determination unit receives the notification of the necessary amount prediction of the resource and the calculation function or the prediction of the occurrence of the deadline miss, it recommends the reallocation of the process based on the prediction,
The resource allocation unit is configured to cause the candidate computer that has extracted the recommended extracted process to execute allocation based on the prediction of the occurrence time of the deadline miss and the prediction of the required amount of memory.
As described above, in addition to the first embodiment, the occurrence of a deadline miss is predicted by learning from fluctuations in the processing time of the process, and the deadline miss occurrence is predicted to enable resource reallocation. In addition to soft real-time processing of the system, hard real-time processing can also be realized. Also, by allocating resources by predicting the CPU load and memory usage when a deadline miss occurs, it is possible to allocate resources to the
実施の形態3.
デッドラインミスが発生すると予測される場合に、より早くプロセスを他の計算機に移行させて、デッドラインミスの発生を確実に抑える構成と動作を説明する。
本実施の形態における計算機リソース動的制御システムまたは装置の構成は、実施の形態2と同一である。また実施の形態3における処理時間監視部1、処理時間収集・予測部2b、計算機負荷監視部4、計算機負荷量収集部5、処理時間履歴テーブル・メモリ8、計算機負荷履歴テーブル・メモリ9、計算機状態テーブル・メモリ10、CPU時間予測部23の機能と動作は、実施の形態2と同一である。
本実施の形態におけるシステム構成情報管理テーブル・メモリ7cのデータ構成の例を図40に示す。本実施の形態のシステム構成情報管理テーブル・メモリ7cでは、実施の形態2におけるシステム構成情報管理テーブル・メモリ7に示す情報のほか、リソース動的制御システムに関する情報として、「再割付所要時間」、ソフトウェアに関する情報として、「プロセス起動所要時間」を保持する。再割付所要時間とは、デッドラインミス発生、デッドラインミス予測、メモリ不足予測、計算機故障などの通知が移行プロセス決定部3cに届いてから、資源割当部6cが資源の再割当を完了するまでに要する時間を保持するものである。この時間は過去の最悪値としてもよいし、割付完了時間に大きな変動がなければ過去の平均値などでもよい。プロセス起動所要時間とは、動的制御システムがプロセス101を起動してから、プロセスが処理を開始するまでの時間である。この時間は、例えばプロセスをメモリにロードするまでの時間や、プロセス固有の初期化処理が含まれる。
A description will be given of a configuration and an operation in which, when a deadline miss is predicted to occur, the process is transferred to another computer earlier to reliably prevent the occurrence of a deadline miss.
The configuration of the computer resource dynamic control system or apparatus in the present embodiment is the same as that in the second embodiment. The processing
An example of the data configuration of the system configuration information management table / memory 7c in the present embodiment is shown in FIG. In the system configuration information management table / memory 7c according to the present embodiment, in addition to the information shown in the system configuration information management table /
本実施の形態におけるデッドラインミス発生時刻予測部21cの動作フローを図41に示す。S31においてはS21〜S24を実行する。このときS24にてデッドラインミスが将来発生すると判断した場合には、S32にて現在時刻を取得し、デッドラインミス発生時刻までの残り時間を求める。そしてS33にて、リソース再割当てに要する時間とプロセス起動に要する時間と、プロセス1回あたりの処理周期時間の和を求める。S34にて、S32で求めた時間とS33で求めた時間を比較し、S32の時間が短い場合、つまり、デッドラインミス発生までの残り時間が、対処に要する時間とプロセス起動所要時間と処理周期の時間の和よりも短い場合には、S35にて移行プロセス決定部3cに、デッドラインミスの発生が予想されるプロセスの名前と現在時刻を通知する。S34にて、S32の時間のほうが短い、つまりS34以降でただちにリソース再割当を開始した場合にデッドラインミスが発生する時刻の1周期よりも前の時刻にリソース再割当が完了すると推定できる場合には、リソース再割当は行わずにプロセスの処理時間の監視を続ける。
なおS31〜S35の処理は、プロセスの処理が終了に同期して行ってもよいし、プロセスの処理とは非同期に行ってもよい。また、本例ではデッドラインミスが発生する1周期前にリソース割付が完了するか否かでリソース割付を開始するかどうかを判断しているが、必ずしも1周期である必要はなく、ユーザによって任意に決定してよい。
FIG. 41 shows an operation flow of the deadline miss occurrence time prediction unit 21c in the present embodiment. In S31, S21 to S24 are executed. At this time, if it is determined in S24 that a deadline miss will occur in the future, the current time is acquired in S32, and the remaining time until the deadline miss occurrence time is obtained. In S33, the sum of the time required for resource reallocation, the time required for process activation, and the processing cycle time per process is obtained. In S34, the time obtained in S32 is compared with the time obtained in S33. If the time in S32 is short, that is, the remaining time until the occurrence of a deadline miss is the time required for handling, the time required for starting the process, and the processing cycle. If it is shorter than the sum of the times, the name and the current time of the process in which the occurrence of a deadline miss is expected are notified to the migration process determination unit 3c in S35. In S34, when the time of S32 is shorter, that is, when resource reassignment is started immediately after S34, it can be estimated that resource reassignment is completed at a time before one cycle of the time when a deadline miss occurs. Continues monitoring the process time without reallocating resources.
Note that the processing of S31 to S35 may be performed in synchronization with the end of the processing of the process, or may be performed asynchronously with the processing of the process. In this example, whether or not to start resource allocation is determined based on whether or not resource allocation is completed one cycle before the deadline miss occurs. You may decide.
本実施の形態におけるメモリ使用量予測部24cの動作フローを図42に示す。
S301では、S221〜S224を実行する。そしてS224にてメモリ不足が将来発生すると判断した場合には、S302にて現在時刻を取得し、メモリ不足が発生するまでの残り時間を求める。そしてS303にてリソース再割当てに要する時間とプロセス起動に要する時間とプロセスの処理周期時間の和を求める。S304にて、S302で求めた時間とS303で求めた時間を比較し、S302で求めた時間のほうが短い、つまりメモリ不足発生までの残り時間が、リソース再割り当てに要する時間とプロセス起動所要時間と処理周期時間の時間の和より短い場合には、S305にて、メモリ不足が発生する時刻とその計算機、現在時刻を移行プロセス決定部3cに通知する。なおS304にて、S302で求めた時間のほうが短い、つまり、ただちにリソース再割当を行った場合にメモリ不足が発生する時刻の1周期よりも前にリソース再割付が終了する場合、メモリ使用量の監視を継続する。なおデッドラインミスが発生する1周期前にリソース割付が完了するか否かでリソース割付を開始するかどうかを判断しているが、必ずしも1周期である必要はなく、ユーザによって任意に決定してよい。
FIG. 42 shows an operation flow of the memory usage prediction unit 24c in the present embodiment.
In S301, S221 to S224 are executed. If it is determined in S224 that a memory shortage will occur in the future, the current time is acquired in S302, and the remaining time until the memory shortage occurs is obtained. In S303, the sum of the time required for resource reallocation, the time required for process activation, and the processing cycle time of the process is obtained. In S304, the time obtained in S302 is compared with the time obtained in S303, and the time obtained in S302 is shorter, that is, the remaining time until the memory shortage occurs is the time required for resource reallocation and the time required for starting the process. If it is shorter than the sum of the processing cycle times, in S305, the time when the memory shortage occurs, its computer, and the current time are notified to the migration process determination unit 3c. In S304, if the time obtained in S302 is shorter, that is, if resource reallocation is completed before one cycle of the time when memory shortage occurs when resource reallocation is performed immediately, Continue monitoring. Note that it is determined whether or not resource allocation is started based on whether or not resource allocation is completed one cycle before the deadline miss occurs. However, it is not necessarily one cycle and can be arbitrarily determined by the user. Good.
本実施の形態における計算機負荷予測部22cの動作フローを図43に示す。
S311では、S201〜S204を実行する。そしてS204にて、CPU使用率がある上限値以上になると判断した場合には、S312にて、現在時刻を取得し、CPU使用率が上限値になるまでの残り時間を求める。そしてS313にて、リソース再割当てに要する時間とプロセス起動に要する時間とプロセスの処理周期時間の和を求める。S314にて、S312で求めた時間とS313で求めた時間を比較し、S312で求めた時間、つまりCPU使用率が上限値になるまでの残り時間が、リソース再割当てに要する時間とプロセス起動所要時間と周期処理のインターバル時間より短い場合には、S315にて、CPUが上限値になる時刻とその計算機、現在時刻を移行プロセス決定部3cに通知する。なお、S314にて、S312の時間のほうが短い、つまり現在時刻でリソース再割当を行っても、CPUリソース不足が発生する時刻の1周期以上前にリソース再割当が終了する場合には何もせず、CPU使用率の監視を継続する。
FIG. 43 shows an operation flow of the computer load predicting unit 22c in the present embodiment.
In S311, S201 to S204 are executed. If it is determined in S204 that the CPU usage rate is greater than or equal to a certain upper limit value, the current time is acquired in S312 and the remaining time until the CPU usage rate reaches the upper limit value is obtained. In S313, the sum of the time required for resource reallocation, the time required for process activation, and the process cycle time of the process is obtained. In S314, the time obtained in S312 is compared with the time obtained in S313, and the time obtained in S312, that is, the remaining time until the CPU usage rate reaches the upper limit value, the time required for resource reallocation and the process activation required If it is shorter than the time and the interval time of the periodic processing, in S315, the time when the CPU reaches the upper limit value, its computer, and the current time are notified to the migration process determination unit 3c. In S314, the time of S312 is shorter, that is, even if the resource reallocation is performed at the current time, nothing is done if the resource reallocation ends one cycle or more before the time when the CPU resource shortage occurs. Continue monitoring the CPU usage rate.
本実施の形態における、デッドラインミス発生時刻予測部21cからデッドラインミス発生の予測通知が届いた場合の移行プロセス決定部3cの動作フローを図44に示す。
S321にて、デッドラインミス発生時刻予測部21cより、デッドラインミス発生が予測されるプロセス101と、S32にて取得した現在時刻が届くと、S322にて、実施の形態2におけるステップS232〜S234を実行する。そしてS323にて、S234で見つけたプロセスと、デッドラインミス発生が予測されるプロセスをリソース再割当の候補とし、この候補プロセス群とデッドラインミス発生時刻予測部21cより送られてきた時刻を資源割付部6cに送信する。
本実施の形態における、メモリ使用量予測部24cまたは計算機負荷予測部22cから通知が届いた場合の移行プロセス決定手段3cの動作フローを図45に示す。
S331で、メモリ使用量予測部24cまたは計算機負荷予測部22cから通知が届く。通知の内容は、異常が発生した計算機と、メモリ使用量予測部24cがS312にて取得した現在時刻、計算機負荷予測部22cがS322で取得した現在時刻である。S332において、システム構成情報管理テーブル・メモリ7cを参照して、S331にて通知された計算機で動作するプロセスを取得する。S333にて、S322で見つけたプロセスをリソース再割当の対象、またはリソース割当の候補のプロセスとし、資源割当部6cにこれらのプロセスと、S321にて受信した時刻を通知する。
FIG. 44 shows an operation flow of the migration process determination unit 3c when a prediction notification of deadline miss occurrence is received from the deadline miss occurrence time prediction unit 21c in the present embodiment.
In S321, when the deadline miss occurrence time predicting unit 21c receives the
FIG. 45 shows an operation flow of the migration process determination unit 3c when a notification is received from the memory usage prediction unit 24c or the computer load prediction unit 22c in the present embodiment.
In S331, a notification is received from the memory usage prediction unit 24c or the computer load prediction unit 22c. The contents of the notification are the computer in which the abnormality has occurred, the current time acquired by the memory usage prediction unit 24c in S312 and the current time acquired by the computer load prediction unit 22c in S322. In S332, the system configuration information management table / memory 7c is referred to, and a process operating on the computer notified in S331 is acquired. In S333, the process found in S322 is set as a resource reassignment target or a resource allocation candidate process, and the resource allocation unit 6c is notified of these processes and the time received in S321.
本実施の形態における、資源割当部6cの動作フローを図46に示す。
S341にて、移行プロセス決定部3cから、リソース割当対象、割当候補となるプロセス一覧と、デッドラインミス発生時刻予測部21c、計算機負荷予測部22c、メモリ使用量予測部24cが取得した時刻を受信する。S342では、S252〜S263を実行する。そして253において、S252のテーブルが空か、もしくは対処する必要がないと判断した場合にS343に進み、現在時刻を取得する。そしてS344にて、S343にて得た時刻からS341で受信した時刻を引くことにより、リソース割当に要した時間を求める。そしてS345にて、システム構成情報管理テーブル・メモリ7cに登録されている、リソース割当所要時間を取得する。そしてS344で求めた、今回リソース割当に要した時間と、システム構成情報テーブル・メモリ7cに登録されていたリソース割当時間を取得し、今回リソース割当に要した時間のほうが長くかかっていればS347に進み、システム構成情報管理テーブル・メモリ7cの、リソース割付所要時間の値を、S344で求めた値に書き換える。
FIG. 46 shows an operation flow of the resource allocation unit 6c in the present embodiment.
In S341, from the migration process determination unit 3c, the resource allocation target, the process list as allocation candidates, and the times acquired by the deadline miss occurrence time prediction unit 21c, the computer load prediction unit 22c, and the memory usage prediction unit 24c are received. To do. In S342, S252 to S263 are executed. If it is determined in 253 that the table in S252 is empty or it is not necessary to deal with it, the process proceeds to S343 to acquire the current time. In S344, the time required for resource allocation is obtained by subtracting the time received in S341 from the time obtained in S343. In S345, the required resource allocation time registered in the system configuration information management table / memory 7c is acquired. Then, the time required for the current resource allocation obtained in S344 and the resource allocation time registered in the system configuration information table / memory 7c are obtained. Then, the value of the resource allocation required time in the system configuration information management table memory 7c is rewritten to the value obtained in S344.
図47は、上記の各構成要素の動作をもとにして連携動作させた場合の、本実施の形態における計算機リソース動的制御装置またはシステムの動作フローの概要を示した図である。
S351にて、処理時間収集・予測部2b、計算機負荷量収集部5、デッドラインミス発生時刻予測部21c、メモリ使用量予測部24cが、デッドラインミスの発生、デッドラインミスの発生予測、計算機の異常、CPU・メモリリソース不足、CPU・メモリリソース不足の予測を移行プロセス決定部3cに通知する。デッドラインミス発生の検出はS11〜S16の手順で行われる。デッドラインミスの発生予測の検出はS31〜S35の手順で行われる。計算機の異常検出、CPU・メモリリソース不足の検出はS1011〜S1016の手順で行われる。CPUリソース不足の予測は、S31〜S35の手順で行われる。メモリリソース不足の予測は、S301〜S305の手順で行われる。
するとS352で、移行プロセス決定部3cは、通知の内容を調査する。通知の内容が計算機の故障であればS355にて、故障した計算機上で動作していた全てのプロセスに対して、資源割当部6cはS341〜S347の手順でリソースの割当を行う。
計算機の故障でなければS355にて、デッドラインミス発生の原因となったプロセス、リソース不足を発生させたプロセスの候補を見つけ出し、S356にて、資源割当部6cがS341〜S347の手順でリソース割当を行う。リソース割当終了後、S357にて資源割当部6cは、システム構成情報管理テーブル・メモリ7cの、新規にリソース割当を行ったプロセスの識別子と、そのプロセスが動作する割当先計算機に関する情報などを書き換える。
FIG. 47 is a diagram showing an outline of the operation flow of the computer resource dynamic control device or system in the present embodiment when a cooperative operation is performed based on the operation of each component described above.
In S351, the processing time collection /
Then, in S352, the migration process determination unit 3c investigates the content of the notification. If the content of the notification is a computer failure, in S355, the resource allocation unit 6c allocates resources to all processes operating on the failed computer in the sequence of S341 to S347.
If it is not a computer failure, in S355, a candidate for the process causing the deadline error or the process causing the resource shortage is found, and in S356, the resource allocator 6c allocates resources in the procedure of S341 to S347. I do. After completing the resource allocation, in S357, the resource allocation unit 6c rewrites the identifier of the process to which the resource allocation is newly performed, information on the allocation destination computer on which the process operates, and the like in the system configuration information management table memory 7c.
このように、システム構成情報管理テーブル・メモリ7cがリソース割付に要する時間の最悪値を保持し、デッドラインミス、メモリ不足、CPUリソース不足の発生予測時間よりリソース割り付けに要する時間とプロセス起動する時間と周期処理時間の和だけ前にリソース割付を開始することにより、少なくともデッドラインミス発生の1周期前までにリソース再割り当てが終了し、プロセスのハードリアルタイム処理を継続することができる。 As described above, the system configuration information management table / memory 7c holds the worst value of the time required for resource allocation, and the time required for resource allocation and the time for starting the process from the estimated occurrence time of deadline miss, memory shortage, and CPU resource shortage. By starting the resource allocation by the sum of the period processing time and the resource processing, the real-time processing of the process can be continued at least one period before the occurrence of the deadline miss.
即ち本実施の形態は、先の実施の形態における計算機リソース動的制御システムに加えて、以下の特徴がある要素を加えることにより、デッドラインミス発生直前までにプロセスマイグレーションを完了することを特徴とする計算機リソース動的制御方式を示している。即ち、
31)先の実施の形態におけるシステム構成情報管理テーブルに加え、各プロセスにおける、デッドラインミスの発生、デッドラインミスの発生予測、メモリ不足、メモリ不足の予測、計算機故障を検出してからプロセスマイグレーションを完了するまでの時間と、プロセスマイグレーションを完了してからプロセスが処理を開始するまでの時間を保持するシステム構成情報管理テーブル。
32)先の実施の形態における処理時間予測手段において、各プロセスの処理時間の変動の履歴より、プロセスの処理時間の変動を学習し、将来のデッドラインミスの発生および発生時刻を予測し、プロセスマイグレーションを完了してプロセスが処理を開始するまでに要する時間だけ前に移行プロセス決定手段にデッドラインミスの発生予測を通知する機能を持つ処理時間予測手段。
33)先の実施の形態におけるメモリ使用量予測手段において、各計算機のメモリ使用量の変動をもとにメモリ使用状況の将来の変動を予測することによりデッドラインミス発生時刻やCPUリソース不足が発生する時刻におけるメモリ使用量を通知するとともに、メモリ不足が発生する時刻を予測し、プロセスマイグレーションを完了してプロセスが処理を開始するまでに必要な時間だけ前に移行プロセス決定手段にメモリ不足の発生予測を通知する機能を持つメモリ使用量予測手段。
34)先の実施の形態におけるCPU使用率予測手段において、各計算機のCPU使用量の変動をもとに、CPU使用量の将来の変動を予測することによりデッドラインミス発生時刻やメモリ不足が発生する時刻におけるCPU使用量を通知するとともに、CPUリソース不足が発生する時刻を予測し、プロセスマイグレーションが完了してプロセスが処理を開始するまでに必要な時間だけ前に移行プロセス決定手段にCPUリソース不足の発生予測を通知する機能を持つCPU使用率予測手段、を備える。
That is, this embodiment is characterized in that the process migration is completed immediately before the occurrence of a deadline miss by adding an element having the following characteristics in addition to the computer resource dynamic control system in the previous embodiment. This shows a computer resource dynamic control method. That is,
31) In addition to the system configuration information management table in the previous embodiment, process migration after detecting deadline miss occurrence, deadline miss occurrence prediction, memory shortage, memory shortage prediction, computer failure in each process System configuration information management table that holds the time to complete the process and the time from the completion of process migration to the start of the process.
32) The processing time predicting means in the previous embodiment learns the process time variation from the history of the process time variation of each process, predicts the occurrence and occurrence time of a future deadline miss, Processing time prediction means having a function of notifying the migration process determination means of the occurrence prediction of a deadline miss only before the time required for the process to start processing after completing the migration.
33) In the memory usage prediction means in the previous embodiment, a deadline miss occurrence time or CPU resource shortage occurs by predicting future fluctuations in the memory usage based on fluctuations in the memory usage of each computer. Notifying the memory usage at the time to run, predicting the time when memory shortage will occur, causing the migration process decision means to run out of memory only as long as necessary until the process starts after the process migration is completed Memory usage prediction means with a function to notify the prediction.
34) In the CPU usage rate prediction means in the previous embodiment, a deadline miss occurrence time or memory shortage occurs by predicting future fluctuations in CPU usage based on fluctuations in CPU usage of each computer. CPU usage at the time to be executed is predicted, the time when CPU resource shortage occurs is predicted, and the migration process decision means is short of CPU resources only before the process migration is completed and the process starts processing. CPU usage rate predicting means having a function of notifying the occurrence prediction.
言い換えると、本実施の形態における計算機リソース動的制御装置は、先の実施の形態の装置に加えて、システム構成情報テーブル・メモリは、プロセスを候補計算機に再割当する再割当所要時間と該候補計算機でプロセスを起動するプロセス起動所要時間とを記憶し、
資源割当部は、上記再割当所要時間とプロセス起動所要時間との和の時間より前に抽出したプロセスを抽出した候補計算機に割当て実行させることを特徴とする。
また、実施の形態2と比べ、デッドラインミス発生直前までアプリケーションの処理時間、メモリ使用量、CPU使用率の変化の振る舞いを調べることができ、より正確なシステムの振る舞いをもとにリソース割付を行うことができる。その結果、直前に振る舞いが変わり、デッドラインミス、メモリ不足、CPUリソース不足が発生しないことがわかった場合には、実施の形態2と比べ、リソース割付に伴って加わる処理オーバーヘッドを削減することができる。また、システム構成情報テーブルに、リソース割付時間の最悪値を保持、絶えず更新し、その最悪値の時間だけ先立ってリソース割付を開始することにより、デッドラインミス発生前にリソース割付処理が完了する可能性が高くなる。
In other words, in the computer resource dynamic control device according to the present embodiment, in addition to the device according to the previous embodiment, the system configuration information table / memory includes a reassignment time required for reassigning a process to a candidate computer and the candidate. Memorize the process start time required to start the process on the computer,
The resource allocation unit is characterized in that the extracted candidate computer allocates and executes the process extracted before the sum of the reassignment required time and the process start required time.
Compared to the second embodiment, it is possible to examine the behavior of changes in application processing time, memory usage, and CPU usage until just before the occurrence of a deadline miss, and to allocate resources based on more accurate system behavior. It can be carried out. As a result, if the behavior changes immediately before and it is found that a deadline miss, memory shortage, and CPU resource shortage do not occur, the processing overhead added with resource allocation can be reduced compared to the second embodiment. it can. In addition, the worst value of resource allocation time is maintained in the system configuration information table, and continuously updated, and resource allocation processing can be completed before a deadline miss occurs by starting resource allocation in advance of the worst time. Increases nature.
実施の形態4.
本実施の形態においては、リソースが不足すると、重要度が高いプロセスを優先して処理する構成と動作を説明する。
本実施の形態における計算機リソース動的制御装置または計算機リソース動的制御システムの構成要素は、実施の形態1と同一である。即ち処理時間監視部1、処理時間収集・予測部2b、移行プロセス決定部3、計算機負荷監視部4、計算機負荷量収集部5、処理時間履歴テーブル・メモリ8、計算機負荷履歴テーブル・メモリ9、計算機状態テーブル・メモリ10の構成は、実施の形態1と同一である。
本実施の形態におけるシステム構成情報管理テーブル・メモリ7dの構成を図48に示す。本実施の形態のシステム構成情報管理テーブル・メモリ7dは、実施の形態1におけるシステム構成情報管理テーブル・メモリ7に示す情報のほか、各プロセスの「重要度」を保持する。ここで重要度とは、システムを構成する全プロセスを動作させるだけの計算機リソースがなくなった場合に空きリソースを作り出すためにプロセスを停止させる際、プロセスを停止させる順序を示すものである。すなわち、重要度に示す順序に応じてプロセスを停止させることにより、重要度の高いプロセスほどリソースが足りなくなっても動作し、重要度の低いプロセスはシステム全体の計算機リソースが足りなくなった場合には停止する。
In the present embodiment, a configuration and operation for preferentially processing a process having high importance when resources are insufficient will be described.
The components of the computer resource dynamic control device or the computer resource dynamic control system in the present embodiment are the same as those in the first embodiment. That is, the processing
The configuration of the system configuration information management table / memory 7d in the present embodiment is shown in FIG. In addition to the information shown in the system configuration information management table /
本実施の形態における資源割当部6dの動作フローの一例を図49に示す。
S401にて、移行プロセス決定部3から、リソース割当の候補、リソース割当対象となるプロセス101のリストが届くと、S402にて、S401にて受け取ったリストを重要度の高い順に並べ替え、テーブルに保持する。そしてS404にて、S402のテーブルの先頭にある重要度の高いプロセス名を取り出す。そしてS405で、正常に動作する計算機100の名前を負荷の大きい順にテーブルに持つ。そしてS406にて、S405にて作成したテーブルの先頭にある計算機名を取り出す。そしてS407にて、S406にて取り出した計算機100のCPU使用状況などを調査し、S404で選択したプロセス101が、S406で選択した計算機100上でデッドラインミス発生することなく動作できるかどうか調べる。デッドラインミスなく動作可能と判断した場合には、S409にて、S406にて取り出した計算機100の空きメモリ量を調査し、S404で選択したプロセス101が動作可能であるかどうか調べる。動作可能であると判断した場合には、S411にて、S406で選択した計算機100をS404で選択したプロセス101の移行先として決定し、S412で、S411で割当を決定した計算機100のうえで、S404で選択したプロセス101を起動し、元の計算機上で動作していたS404で選択したプロセスを停止させる。S413で、システム構成情報管理テーブルの、割当た計算機とプロセス、現在のプロセスの処理時間を書き換える。
An example of the operation flow of the resource allocation unit 6d in the present embodiment is shown in FIG.
In S401, when the migration
S408にて、動作させるとデッドラインミスを発生すると判断した場合には、S415にて、S405で作成したテーブルの次のエントリに示される計算機100を選ぶ。次のエントリに示される計算機があれば、まだ全ての計算機について調査を行っていないことになるので、S406に進み、S415で選択した計算機について、S406以降の処理を行う。
S415にて、次のエントリに示される計算機がなければ、すでに全ての計算機100について動作可能かどうか調査し、どの計算機でも動作しないということがわかったことになる。これはすなわち、計算機リソースに空きがないことを示す。この場合はS417に進み、S404のプロセス101よりも重要度の低いプロセスがあるかどうか調べ、あればS419に進み、動作するプロセスの中で最も重要度の低いプロセスを停止させる。S420で、S402で作成したテーブルに、停止させたプロセスがあれば、そのエントリを削除する。重要度の低いプロセスが停止したことにより、計算機リソースに空きができたことになる。そして、S405に進み、再度計算機の負荷順に並べ替えて、プロセス101を割付可能なリソースを調査する。
S417にて、現在調査中のプロセスよりも重要度の低いプロセスがなくなった場合には、S418にて自プロセスは停止させることにより、一連の処理は終了となる。S413にてプロセスの再割当が完了したか、S418でプロセスが停止したら、S414にて、テーブルから先頭エントリ、すなわち、S404で選択したプロセス名を削除し、S402のテーブルにおいて、今回調査したエントリの次のエントリに示されるプロセスについて、プS404以降の処理を繰り返し行う。
If it is determined in S408 that a deadline miss will occur when operated, the
In S415, if there is no computer shown in the next entry, all the
In S417, when there is no process having a lower importance than the process currently being investigated, the process is terminated by stopping the own process in S418. If the process reallocation is completed in S413 or the process is stopped in S418, the first entry from the table, that is, the process name selected in S404 is deleted in S414. For the process indicated in the next entry, the processing from step S404 is repeated.
図50は本実施の形態における、全構成要素が連携動作した場合における計算機リソース動的制御装置またはシステムの動作フローの概要を示した図である。
図のS421にて、処理時間収集・予測部2bまたは、計算機負荷量収集部5から、デッドラインミスの発生、または計算機の異常が移行プロセス決定部3に通知される。この場合の処理時間収集・予測部2bの動作はS11〜S16、計算機負荷量収集部5の動作はS1011〜S1018に示すとおりである。するとS422で、移行プロセス決定部3は、デッドラインミスの原因を調査する。S423にて、原因が計算機の故障にあるかどうかを調査し、計算機の故障であればS424にて、故障した計算機100上で動作していた全てのプロセス101に対して、資源割当部6はS401〜S420の手順によりリソースの割当を行う。リソース割当の際、どの計算機にも割当可能な空きリソースがなければ、重要度の低いプロセス101から順に停止させて空きリソースを作成し、再度リソースの割当を試行する。
計算機の故障でなければS425で、移行プロセス決定部3により、デッドラインミス発生の原因となったプロセス、リソース不足発生の原因となったプロセス、リソース再割付を行うプロセスを見つけ出す。そしてS426にて、デッドラインミス発生の原因となったプロセス、または、リソース不足を発生させた原因と考えられるプロセスに対して、資源割当部6がS401〜S420の手順でリソース割当を行う。リソース割当の際、どの計算機100にも割当可能な空きリソースがなければ、重要度の低いプロセスから順に停止させて空きリソースを作成し、再度リソース割当を試行する。そしてS427にて、リソース割当終了後に資源割当部6は、システム構成情報管理テーブル・メモリ7dの、新規にリソース割当を行ったプロセス101の識別子と、そのプロセスが動作する割当先の計算機100、処理に要するCPU時間などに関する情報を書き換える。
FIG. 50 is a diagram showing an outline of the operation flow of the computer resource dynamic control device or system when all the components operate in cooperation in this embodiment.
In S421 in the figure, the processing time collection /
If it is not a computer failure, in S425, the migration
即ち本実施の形態は、実施の形態1の計算機リソース動的制御システムに、以下の特徴を加えることにより、全てのプロセスが動作するだけのリソースがシステムに存在しない場合に、重要な処理を優先してリアルタイム処理を継続することを可能とする計算機リソース動的制御方式を示している。即ち、
41)実施の形態1のシステム構成テーブルに加え、全てのプロセスを動作させるだけのシステムリソースが足りなくなった場合に優先動作させるプロセスの順位を保持するシステム構成情報管理テーブル。
42)実施の形態1の資源割付手段において、移行プロセス決定手段が決定したプロセスが動作できるための空きリソースが無い場合に、システム構成情報管理テーブルが持つプロセスの動作順位をもとに、順位の低いプロセスを停止させることにより計算機に空きリソースを作成し、その計算機上にプロセスマイグレーションを行う資源割付手段、を備える。
That is, this embodiment gives priority to important processing when the system does not have enough resources to operate all processes by adding the following features to the computer resource dynamic control system of the first embodiment. This shows a computer resource dynamic control system that enables real-time processing to be continued. That is,
41) In addition to the system configuration table of the first embodiment, a system configuration information management table that holds the order of processes to be preferentially operated when there are not enough system resources to operate all processes.
42) In the resource allocation unit according to the first embodiment, when there is no free resource for the process determined by the migration process determination unit to operate, the rank of the rank is determined based on the process operation order of the system configuration information management table. Resource allocation means for creating a free resource in a computer by stopping a low process and performing process migration on the computer is provided.
言い換えると、本実施の形態における計算機リソース動的制御装置は実施の形態1の装置に加えて、システム構成情報テーブル・メモリは、プロセスの処理優先順位を記憶し、
資源割当部は、現在の計算機ではデッドラインミスの発生が予測されると、上記システム構成情報テーブル・メモリを参照して、プロセスの処理優先順位が高いプロセスを候補計算機に割当て実行させることを特徴とする。
このように、システム内で独立した複数の処理が動作している場合に、計算機故障などにより全てのプロセス101を動作させるだけのシステムリソースがなくなってしまった場合においても、プロセスに重要度を与え、重要性の低い処理は停止させることによってシステムリソースに空きを作り出し、重要度のより高い処理を優先させて動作継続させることが可能になる。
In other words, the computer resource dynamic control device in the present embodiment, in addition to the device in the first embodiment, the system configuration information table memory stores the processing priority of the process,
The resource allocating unit refers to the system configuration information table / memory when the occurrence of a deadline miss is predicted in the current computer, and assigns a process having a higher process priority to the candidate computer to execute the process. And
As described above, when a plurality of independent processes are operating in the system, even when the system resources for operating all the
実施の形態5.
本実施の形態においては、各計算機100の性能にばらつきがある場合に、その性能差を考慮して割当を行える装置、システムを説明する。
本実施の形態における動的リソース制御装置またはシステムの構成要素は、実施の形態1と同一である。本実施の形態における、即ち処理時間監視部1、処理時間収集・予測部2b、移行プロセス決定部3、計算機負荷監視部4、計算機負荷量収集部5、処理時間履歴テーブル・メモリ8ないし計算機状態テーブル・メモリ10の構成は、実施の形態1と同一である。
本実施の形態におけるシステム構成情報管理テーブル・メモリ7eが持つ情報の例を図51に示す。システム構成情報管理テーブル・メモリ7eには、実施の形態1におけるシステム構成情報管理テーブル・メモリ7に示す情報のほか、プロセス101としてのアプリケーションごとに「動作可能計算機名」、計算機100ごとに「性能値」が示されている。性能値としては、例えばSPECIntのような、計算機の性能値を示すベンチマークプログラムのデータが示されることが考えられる。
In the present embodiment, a description will be given of an apparatus and a system that can perform allocation in consideration of the performance difference when the performance of each
The components of the dynamic resource control apparatus or system in the present embodiment are the same as those in the first embodiment. In this embodiment, that is, processing
FIG. 51 shows an example of information held in the system configuration information management table / memory 7e in the present embodiment. In the system configuration information management table / memory 7e, in addition to the information shown in the system configuration information management table /
本実施の形態における資源割当部6eの動作フローの例を図52に示す。
図において、S501で、移行プロセス決定部3から、リソース割当の候補、リソース割当対象となるプロセスのリストが届くと、S502にて、プロセス101のリストを例えばCPU時間の多い順に並べ、テーブルに保持する。S502にて作成したテーブルが空であれば、処理を終了する。
空でなければS504において、S502にて作成したテーブルからプロセス101の名を1つ取り出す。そして、S504のプロセス101が動作可能で、かつ正常に動作している計算機100を、例えば計算機負荷の大きい順に並べ替え、テーブルに保持する。各プロセスが動作可能な計算機の一覧は、システム構成情報管理テーブル・メモリ7eに示されているので、それを参照して計算機の識別子を取得する。そしてS507以下を、S505にて作成したテーブルにある全計算機について、または、リソース割当先となる計算機100が決定するまで行う。S507にて、S505にて作成したテーブルから計算機を1つ選ぶ。そしてS508にて、S507の計算機100の性能値と、現在動作中の計算機の性能値を、システム構成情報管理テーブル・メモリ7eを参照して取得する。そしてS509にて、S508にて求めた値より、S504にて選択したプロセス101の現在のCPU時間を補正する。例えば、現在動作中の計算機の性能値が100、S507で選択した計算機の性能値が85であった場合には、補正後のCPU時間は100/85倍になる。S510にて、この補正後の値をもとに、S504で選択したプロセスが、S507で選択した計算機上でデッドラインミスを発生させることなく動作できるかどうかを確認する。
An example of the operation flow of the resource allocation unit 6e in the present embodiment is shown in FIG.
In FIG. 5, when a resource allocation candidate and a list of processes to be allocated are received from the migration
If it is not empty, one name of the
動作可能であった場合にはS512に進み、S507で選択した計算機が、S504で選択した計算機が動作するだけの空きメモリを持っているかどうか確認する。十分な空きメモリ量があった場合にはS514にて、S507で選択した計算機をリソース割付先計算機として決定する。そしてS515にて、S514で決定した計算機100上で、S504で選択したプロセス101を起動し、これまで動作していたプロセスを停止させる。そしてS516にて、システム構成管理テーブル・メモリ7eの、「動作中の計算機」の欄と、「平均CPU時間」の欄を現在の値に書き換える。そしてS517にて、S504にて作成したテーブル中、リソース再割当を行ったプロセス名を削除し、S503に戻り、S502で作成したテーブルにある残りのプロセスについて、S503以降の処理を行う。
S506において、S505のテーブルに示される全計算機についてS507以下を実施した場合には、割付可能な計算機が見つからなかったということであるため、S504で選択したプロセスのリソース再割付を断念し、S518にてプロセス101を停止させ、S502で作成したテーブルから停止させたプロセス名を削除する。
S511、S513にて、S504で選択したプロセスが動作不可能であった場合には、S506に戻り、次のエントリの計算機についてS507以降の処理を行う。
If it is operable, the process proceeds to S512, and it is confirmed whether or not the computer selected in S507 has enough free memory to operate the computer selected in S504. If there is a sufficient amount of free memory, in S514, the computer selected in S507 is determined as the resource allocation destination computer. In step S515, the
In S506, if S507 and subsequent steps are performed for all the computers shown in the table of S505, it means that no assignable computer was found. Therefore, the resource reallocation of the process selected in S504 is abandoned, and the process goes to S518. The
In S511 and S513, if the process selected in S504 is not operable, the process returns to S506, and the processing of S507 and subsequent steps is performed on the computer of the next entry.
本実施の形態における、各構成要素が連携して行う動的リソース制御装置、またはシステム全体の動作フローの例を図53に示す。
S521にて、処理時間収集・予測部2bまたは、計算機負荷量収集部5は、デッドラインミスの発生、または計算機の異常、CPU、メモリリソース不足を検出して、移行プロセス決定部3に通知する。この場合の処理時間収集・予測部2bの動作はS11〜S16、計算機負荷量収集部5の動作はS1011〜S1018に示すとおりである。するとS522で、移行プロセス決定部3は、通知の内容を調査する。通知の内容が計算機の故障であればS524にて、故障した計算機上で動作していた全てのプロセス101に対して、資源割当部6eはS501〜S518の手順によりリソースの割当を行う。計算機の故障でなければS525で、移行プロセス決定部3により、デッドラインミス発生の原因と考えられるプロセス、リソース不足発生の原因と考えられるプロセスを見つけ出す。そしてS146にて、S525で見つけたプロセスに対して、資源割当部6eがS501〜S518の手順でリソース割当を行う。リソース割当終了後S527にて、資源割当部6eは、システム構成情報管理テーブル・メモリ7eの、新規にリソース割当を行ったプロセス101の識別子と、そのプロセスが動作する割当先の計算機100、処理に要するCPU時間などに関する情報を書き換える。
FIG. 53 shows an example of the operation flow of the dynamic resource control apparatus or the entire system performed in cooperation with each component in this embodiment.
In S521, the processing time collection /
即ち本実施の形態は、実施の形態1の計算機リソース動的制御システムに、以下の特徴を加えることにより、システムを構成する計算機の性能が不均一な場合においてもデッドラインミスを発生させない計算機へのプロセスマイグレーションを可能とすることを特徴とする計算機リソース動的制御方式を示している。即ち、
51)実施の形態1のシステム構成情報管理テーブルに加え、各プロセスが動作可能な計算機の一覧と、各計算機の性能を示す値を保持するシステム構成情報管理テーブル。
52)実施の形態1の資源割付手段において、移行プロセス決定手段が決定したプロセスが動作可能な計算機をプロセスマイグレーション先となる計算機候補とし、システム構成情報管理テーブルが持つ計算機の性能値を用いて、この計算機候補にプロセスを移行した場合にプロセスが必要とする計算機リソースを算出することにより、十分な空きリソースを持つ計算機にプロセスマイグレーションを行う資源割付手段、を備える。
In other words, the present embodiment adds the following features to the computer resource dynamic control system of the first embodiment, so that a computer that does not cause a deadline error even when the performance of the computers constituting the system is uneven. The computer resource dynamic control system is characterized by enabling the process migration. That is,
51) A system configuration information management table that holds a list of computers that can operate each process and a value indicating the performance of each computer in addition to the system configuration information management table of the first embodiment.
52) In the resource allocating unit of the first embodiment, a computer capable of operating the process determined by the migration process determining unit is set as a computer candidate as a process migration destination, and the performance value of the computer included in the system configuration information management table is used. Resource allocation means is provided for performing process migration on a computer having sufficient free resources by calculating computer resources required by the process when the process is transferred to the computer candidate.
言い換えれば、本実施の形態における計算機リソース動的制御装置は、システム構成情報テーブル・メモリは、対象プロセスを処理可能な動作可能計算機の識別子と計算機の性能値とを記憶し、
資源割当部は、再割当の勧告通知を受けると、上記システム構成情報テーブル・メモリを参照して、上記動作可能計算機の識別子と計算機の性能値とを調べてプロセスを候補計算機に割当て実行させることを特徴とする。
このように、システム構成情報管理テーブル・メモリ7eが、各プロセス101が動作可能な計算機名、および、計算機の性能値を示すことにより、システム内の計算機のOSやCPUアーキテクチャ、性能値がそれぞれ異なる場合においても、動作可能な計算機を正しく判別し、CPU時間などを正しく補正し、デッドラインミスが発生しない計算機への割付が可能となる。
In other words, in the computer resource dynamic control device according to the present embodiment, the system configuration information table memory stores an identifier of an operable computer capable of processing the target process and a performance value of the computer,
When the resource allocation unit receives the reassignment recommendation notification, the resource allocation unit refers to the system configuration information table / memory, checks the identifier of the operable computer and the performance value of the computer, and allocates the process to the candidate computer for execution. It is characterized by.
As described above, the system configuration information management table / memory 7e indicates the computer name in which each
実施の形態6.
デッドラインミス発生予測時間が迫っていても、短時間の内に該当するプロセスを処理する計算機の移行を行って、デッドラインミスの発生を防止する構成と動作を説明する。具体的には、そうしたプロセスを移行すべき計算機を想定して起動をかけておき、待機させる。
本実施の形態におけるリソース動的制御システムの構成を図54に示す。また一つの装置としてまとめた場合の計算機リソース動的制御装置100cの構成を図55に示す。本実施の形態における動的リソース制御システムまたは装置における構成要素は、実施の形態3の構成に加え、レプリカ管理部25をもつ。
その他の本実施の形態における処理時間監視部1、処理時間収集部2(または処理時間収集・予測部2b)、移行プロセス決定部3、計算機負荷監視部4、計算機負荷量収集部5(または計算機負荷量収集・予測部5b)、資源割当部6、システム構成情報管理テーブル・メモリ7、処理時間履歴テーブル・メモリ8ないし計算機状態テーブル・メモリ10、デッドラインミス発生時刻予測部21、計算機負荷予測部22、CPU時間予測部23、メモリ使用量予測部24の構成は実施の形態3と同一である。
A configuration and operation for preventing the occurrence of a deadline miss by migrating a computer that processes a corresponding process within a short time even when the deadline miss occurrence prediction time is approaching will be described. Specifically, assuming that the computer to which such a process should be transferred is activated, the process is put on standby.
The configuration of the resource dynamic control system in this embodiment is shown in FIG. Further, FIG. 55 shows the configuration of the computer resource
Other processing
ここで、プロセスのレプリカとは、移行した方が良いと予想されるプロセスを新たに処理する計算機上で起動をかけて待機している、移行を前提としてコピーしたプロセスのことである。従って既に起動はしているが、移行が決まって処理すべきデータは未だ届かないなどの理由により処理待ちになっているプロセスである。また、レプリカは、メモリ資源は使用するものの、CPUリソースは使用しない、つまりレプリカのCPU時間は0であるとする。
本実施の形態におけるレプリカ管理部25は、計算機負荷量収集部5が持つデータを参照し、十分に空きメモリがある計算機100上でレプリカを起動する。そしてデッドラインミスなどが発生すると予測される場合において、資源割当部6がプロセスに資源再割当を行う際に、どの計算機100でプロセスのレプリカが動作しているのかを資源割当部6に通知する役割を持つ。また、レプリカが動作する計算機上でメモリ不足発生が予測される場合には、プロセスのレプリカを停止させる役割を持つ。
Here, the process replica is a process copied on the premise of migration that is activated and waiting on a computer that newly processes a process that is expected to be migrated. Therefore, it is a process that has already started, but is waiting for processing because, for example, the data to be processed has not yet arrived due to the transition. Further, it is assumed that the replica uses memory resources but does not use CPU resources, that is, the replica CPU time is zero.
The
本実施の形態におけるレプリカ管理部25の動作フローの例を図56、図57に示す。図56は、システム起動時などの際にレプリカを起動する場合の手順である。S61にて、レプリカを動作させるプロセスを1つ選択する。プロセスを選択する基準としては、例えば、メモリ使用量の多い順などが考えられる。一般に、メモリ使用量の多いほうが、プロセスの起動に時間を要するため、プロセスの再割当が完了するまでに多くの時間がかかると考えられる。その他の方法としては、処理周期が短く、リソース割当に要する時間を短縮する必要があるものを選ぶ、という方法が考えられる。S62にて、計算機負荷量収集部5より、全ての計算機100のメモリ使用量を取得する。そしてS63にて、プロセスが動作可能なだけの空きメモリ量を持つ計算機上でプロセスのレプリカを起動する。S63にて、起動するレプリカの個数に関しては、全ての計算機上でレプリカを起動してもよいし、例えば空きメモリ量の大きい順に幾つか選択してレプリカを起動してもよいし、1つの計算機上だけで起動してもよい。
図57は、システム運用中に、ある計算機100のメモリが不足した場合のレプリカ管理部25による動作を示した図である。メモリ不足発生時のメモリ使用量予測部24の動作は別途説明する。S601にて、メモリ使用量予測部24より、ある計算機のレプリカ停止要求が届くと、S602にて、指定された計算機100上で動作するレプリカを停止させる。ここで、停止させるレプリカは、全て停止させてもよいし、メモリ使用量の多い順に停止させてもよいし、メモリ使用量の少ない順に停止させてもよい。そしてS603で、レプリカを停止させた計算機以外の計算機のメモリ使用量を計算機負荷量収集部5より取得し、S604で、停止させたレプリカが動作可能だけのメモリ空き容量を持つ計算機100で、レプリカを再起動する。なおS604に関しては、S602で停止させた全レプリカについて実行する。
Examples of the operation flow of the
FIG. 57 is a diagram showing an operation by the
本実施の形態におけるメモリ使用量予測部24の動作フローを図58に示す。S611にて、S221からS224までを実行する。そして、メモリ不足が予測された場合、メモリ不足が発生しそうな計算機100上でプロセスのレプリカが動作するかどうかを調べ、動作しているのであればS613に進み、レプリカ管理部25にレプリカ停止を依頼し、レプリカを停止させる。そしてS614にて、メモリ不足が発生する時刻を再度求める。この場合のメモリ不足が発生する時刻を求める式は、S222で求めた式から停止させたレプリカが使用しているメモリ使用量だけ引くことによって求められる。例えば、S222で求めた式がy=ax+b(y:処理時間、x:時刻)であり、停止させたレプリカが使用していたメモリ使用量の総和がcであった場合には、式はy=ax+b−cとなる。この式のyに計算機の搭載メモリ量を与えることにより、メモリ不足が発生する時刻が求められる。S615にて、S223またはS614で求めたメモリ不足が発生する時刻と、現在時刻から、メモリ不足が発生するまでの残り時間を求める。そして、S616で、その計算機で動作するプロセスのレプリカが他の計算機で動作しているかどうかを調べる。レプリカが動作しているかどうかは、レプリカ管理部25に問い合わせることで判る。レプリカが他の計算機上で動作していれば、S617にて、リソース再割付所要時間と1回の周期処理時間の和を求める。レプリカが動作していなければ、レプリカ再割付所要時間とプロセス起動所要時間と1回の周期処理時間の和を求める。そして、S617またはS618で求めた時間と、S615で求めた時間を比較し、S615で求めた時間のほうが短ければS620にて、デッドラインミス発生時刻予測部21に、デッドラインミスが発生するプロセスと現在時刻を通知する。
FIG. 58 shows an operation flow of the memory
本実施の形態における資源割当部6fの動作フローの例を図59に示す。S621にて、移行プロセス決定部3から、リソース再割当の候補、リソース再割当対象となるプロセス101のリストが届くと、CPU時間の長い順に並べ替え、テーブルに保持する。そして、S624以降の操作をテーブルが空になるまで実行する。
S624にて、S622のテーブルからプロセス名を1つ取り出し、S625にて、S624のプロセスのレプリカが動作する計算機100の識別子をレプリカ管理部25より取得し、CPU使用率の高い順に並べ、テーブルに保持する。そして、S625で作成したテーブルに示される全計算機についてS627以降を実行する。まずS627にて、S625にて作成したテーブルから計算機名を取り出す。そして、S624で取り出したプロセスがS627で取り出した計算機上で動作できるかどうかを確認する。動作可能であればS631にて、ステップS627で選んだ計算機を割付先として決定し、S632にて、S631で決定した計算機上でプロセスを起動し、元の計算機で動作していたプロセスを停止させる。そしてS633にて、システム構成情報管理テーブル・メモリ7の、プロセスと計算機、現在の処理時間の情報を書き換える。そしてS634にて、S624で取り出したプロセスのレプリカを起動するよう要求する。そしてS636にて、S624で取り出したプロセスの名前をテーブルから削除し、テーブルから他のプロセスを選択して、S623以降を行う。またS629にて、S627で選んだ計算機に十分な空きCPUがなかった場合には、S627に戻り、他の計算機についてS627〜S629を実行する。S625で作成したテーブル内の全ての計算機についてS627〜S629を実行し、かつ割当先が決定しなかった場合には、リソース再割当を断念し、S63にて自プロセスを停止させ、S636にてS624で選択したプロセスをテーブルより削除し、他のプロセスについてS623以降を実施する。なお、レプリカが動作していない場合には、実施の形態3と同一の手順で動作を行うことになる。
FIG. 59 shows an example of the operation flow of the resource allocation unit 6f in the present embodiment. In S621, when the migration
In S624, one process name is extracted from the table in S622. In S625, the identifiers of the
本実施の形態における動的リソース制御システムまたは装置の全体の動作フローを図60に示す。
S651にて、処理時間収集部2、計算機負荷量収集部5、デッドラインミス発生時刻予測部21、メモリ使用量予測部24が、デッドラインミスの発生、デッドラインミスの発生予測、計算機の異常、CPU・メモリリソース不足、CPU・メモリリソース不足の予測を移行プロセス決定部3に通知する。デッドラインミス発生の検出はS11〜S16の手順で行われ、デッドラインミスの発生予測の検出はS31〜S35の手順で行われる。計算機の異常検出、CPU・メモリリソース不足の検出はS1011〜S1016の手順で行われ、CPUリソース不足の予測はS31〜S35の手順で行われる。メモリリソース不足の予測は、S301〜S305の手順で行われる。するとS652で、移行プロセス決定部3は、通知の内容を調査する。通知の内容が計算機の故障であればS655にて、故障した計算機上で動作していた全てのプロセスに対して、資源割当部6fはS341〜S347の手順でリソースの割当を行う。
計算機の故障でなければS655にて、デッドラインミス発生の原因と考えられるプロセス、リソース不足を発生させた原因と考えられるプロセスに対して、資源割当部6fがS621〜S634の手順でリソース割当を行う。S656にて、リソース割当終了後、資源割当部6fは、システム構成情報管理テーブル・メモリ7の、新規にリソース割当を行ったプロセスの識別子と、そのプロセスが動作する割当先計算機に関する情報などを書き換える。
FIG. 60 shows an overall operation flow of the dynamic resource control system or apparatus in the present embodiment.
In S651, the processing
If it is not a computer failure, in S655, the resource allocation unit 6f allocates resources in the steps S621 to S634 with respect to the process that is considered to be the cause of the deadline error occurrence and the process that is considered to be the cause of the resource shortage. Do. In S656, after the resource allocation is completed, the resource allocation unit 6f rewrites the identifier of the process to which the resource has been newly allocated and information on the allocation destination computer in which the process is operating, in the system configuration information
即ち本実施の形態の計算機リソース動的制御システムは、実施の形態3の計算機リソース動的制御システム式に、以下の特徴を加えることにより、デッドラインミス発生までの残り時間が短い場合においてもデッドラインミスの発生を防止させることを特徴とする計算機リソース動的制御方式を示す。即ち、
61)計算機負荷収集手段が持つデータを参照し、十分に空きリソース量がある計算機にプロセスのコピーをあらかじめ起動しておき、プロセスマイグレーションを行うプロセスのコピーが動作する計算機を資源割付手段に通知するレプリカ管理手段。
62)実施の形態3の資源割付手段において、移行プロセス決定手段が決定したプロセスのコピーが動作している計算機をプロセスマイグレーション先となる計算機候補とし、計算機候補の中で十分な空きCPUリソースを持つ計算機にプロセスマイグレーションを行う資源割付手段、を備える。
In other words, the computer resource dynamic control system according to the present embodiment adds the following features to the computer resource dynamic control system expression according to the third embodiment, so that even when the remaining time until the deadline miss occurs is short, A computer resource dynamic control system characterized by preventing occurrence of a line miss will be described. That is,
61) Referring to data stored in the computer load collection means, a process copy is started in advance on a computer having a sufficient amount of free resources, and the computer on which the process copy performing the process migration operates is notified to the resource allocation means. Replica management means.
62) In the resource allocation unit of the third embodiment, a computer on which a copy of the process determined by the migration process determination unit is operating is set as a computer candidate to be a process migration destination, and has sufficient free CPU resources among the computer candidates. Resource allocation means for performing process migration on the computer is provided.
言い換えれば、本実施の形態における計算機リソース動的制御装置は実施の形態3の装置に加えて、選択した計算機に所定のプロセスの処理起動をかけて、及びプロセスの処理終了をさせて、これらの状態を管理するレプリカ管理部を備えて、
資源割当部は、再割当の勧告通知を受けると、上記選択した計算機に上記レプリカ管理部で起動をかけていて動作可能であれば、該動作可能な計算機に上記プロセスの割当を実行させることを特徴とする。
このように、レプリカ管理部25によって各プロセスに対して予めそのプロセスのレプリカを起動し、待機させておくことにより、リソース再割当を開始してから実際にプロセスの処理を開始するまでの所要時間を短縮することができ、デッドラインミス発生やメモリ不足発生までの残り時間が短い場合においても短時間で移行処理を完了し、システムのハードリアルタイム処理を継続することが可能になる。
In other words, in addition to the apparatus of the third embodiment, the computer resource dynamic control apparatus according to the present embodiment starts the process of a predetermined process for the selected computer and terminates the process of the process. With a replica management unit that manages the state,
When the resource allocation unit receives the reassignment advisory notice, the resource allocation unit causes the operable computer to execute the process allocation if the selected computer is activated by the replica management unit and is operable. Features.
In this way, the
実施の形態7.
プロセスがパイプライン処理の一部を構成している場合は、パイプライン処理のステージの前後における処理に影響があるので、制約が加わる。こうした場合におけるデッドラインミスの発生は影響が広範囲になるので、適切な原因除去が必要である。本実施の形態においては、こうしたパイプライン処理における移行を説明する。
本実施の形態において、計算機リソース動的制御システムが適用対象とするプロセスの処理形態の一例を図61に示す。図に示すように、1つの入力に対して複数のプロセスが連なって(以下パイプライン処理と呼ぶ)、各プロセスが順々に処理を行うことにより1回の周期処理が完了するものとする。また、この独立したパイプライン処理が複数個存在することにより、システムが構成されるものとする。パイプライン処理を構成する各プロセス101は、同一計算機100上で動作する場合もあれば、それぞれ異なる計算機で動作する場合もある。なお、実施の形態1から実施の形態6で適用対象としているプロセスのように、単一のプロセスで処理が完結する場合は、本実施の形態ではパイプラインの長さ1のパイプライン処理を行っている。
本実施の形態におけるリソース動的制御システムの構成は実施の形態5と同じである。
本実施の形態における処理時間監視部1、計算機負荷監視部4、計算機負荷量収集部5、資源割当部6、処理時間履歴テーブル・メモリ8、計算機負荷履歴テーブル・メモリ9、計算機状態テーブル・メモリ10の役割、構成は実施の形態1と同一であり、詳細説明を省略する。
When a process constitutes part of pipeline processing, processing is affected before and after the stage of pipeline processing, and thus a restriction is added. The occurrence of a deadline miss in such a case has a wide range of effects, and appropriate cause elimination is necessary. In this embodiment, the transition in such pipeline processing will be described.
FIG. 61 shows an example of a processing form of a process to be applied by the computer resource dynamic control system in the present embodiment. As shown in the figure, it is assumed that a plurality of processes are connected to one input (hereinafter referred to as pipeline processing), and each process performs processing one after another to complete one cycle processing. In addition, the system is configured by the existence of a plurality of independent pipeline processes. Each
The configuration of the resource dynamic control system in the present embodiment is the same as that in the fifth embodiment.
Processing
本実施の形態におけるシステム構成情報管理テーブル・メモリ7gのデータ構成の例を図62に示す。本実施の形態におけるシステム構成情報管理テーブル・メモリ7gは、実施の形態1に示す情報のほか、「パイプライン処理に関する情報」として、「パイプライン処理名」、「パイプライン処理を構成するプロセス」、「パイプライン処理のデッドライン」、「パイプライン処理の周期」が示される。例えば図62では、パイプライン1というパイプライン処理を構成するプロセス群があり、パイプライン処理は、プロセスA、プロセスB、プロセスCが順にデータを送信して処理を行うことによって実現し、プロセスAからプロセスCまでの処理を1秒以内に完了し、プロセスAが処理を開始してから、次に処理を開始するまでの時間が200ミリ秒であることを示している。
本実施の形態における処理時間収集部2は、実施の形態1に示す役割のほか、パイプライン処理の先頭の処理を行うプロセスの処理開始時刻、およびパイプライン処理の最後の処理を行うプロセスの処理終了時刻から1回のパイプライン処理に要する時間を求める役割を持つ。また、処理時間履歴テーブル・メモリ8に保有している全プロセスの処理時間の履歴を参照し、システムを構成するパイプライン処理が何回デッドラインミスを発生させているかを調査する。そして、許容可能な回数以上デッドラインミスが発生していた場合には、移行プロセス決定部3に、パイプライン処理において、デッドラインミスが規定回数以上発生している旨を通知する役割を持つ。パイプライン処理のデッドラインミスの回数は、パイプライン処理の先頭の処理を行うプロセスの処理開始時刻とパイプライン処理の最後の処理を行うプロセスの処理終了時刻を取得し、両方の値を引き、システム構成情報管理テーブルに示される「パイプライン処理のデッドライン」の値と比較することにより求められる。これを、処理時間履歴テーブルに示される全てのデータについて行うことになる。
An example of the data configuration of the system configuration information management table / memory 7g in the present embodiment is shown in FIG. In addition to the information shown in the first embodiment, the system configuration information management table memory 7g according to the present embodiment includes “pipeline process name” and “process constituting the pipeline process” as “information related to pipeline process”. , “Pipeline processing deadline” and “Pipeline processing cycle” are shown. For example, in FIG. 62, there is a process group constituting pipeline processing called
In addition to the role shown in the first embodiment, the processing
本実施の形態における処理時間監視部1、計算機負荷監視部4、計算機負荷量収集部5の動作フローは実施の形態1と同一である。
本実施の形態における処理時間収集部2gの動作を図63に示す。S71で、処理時間監視部1からデータを受け取る。そしてS72にて、処理時間履歴テーブル・メモリ8にデータを書き込む。S72で書き込んだデータがパイプライン処理の最後に処理を行うプロセスの処理完了時刻であればS74に進み、パイプライン処理の先頭の処理を行ったプロセスの、同一処理周期における処理開始時刻を求める。S75にて、同様に、パイプライン処理の最後の処理を行ったプロセスの、同一処理周期における処理完了時刻を求める。そしてS76にて、S74とS75から、パイプライン処理の1回の処理時間を求め、デッドラインミスが発生しているかどうかを調べる。デッドラインミスが発生していれば、処理時間履歴テーブル・メモリ8に残されたデータ中に何回デッドラインミスが発生しているのかを調べ、規定回数以上デッドラインミスが発生していれば、移行プロセス決定部3に通知する。そしてS79にて、各プロセスにおける次の周期の処理データを格納するために、処理時間履歴テーブルのエントリを1つ先に勧める。S73にて、書き込んだデータがパイプライン処理の最後に処理を行うプロセスのデータでない場合、またはS76にて、デッドラインミスが発生していなければ、S79に直接進む。
The operation flow of the processing
The operation of the processing time collection unit 2g in the present embodiment is shown in FIG. In S71, data is received from the processing
本実施の形態における移行プロセス決定部3gの動作を図64に示す。
S701にて、処理時間収集部2からパイプライン処理のデッドラインミス通知が届くと、S702にて、デッドラインミスが発生したパイプライン処理を構成するプロセス名の一覧を取得する。そしてS703にて、S702で取得した全プロセスについて処理時間が大きく増加しているプロセスを見つけ出す。この見つけ出したプロセスをデッドラインミス発生の原因となったプロセスとみなす。デッドラインミス発生の原因となったプロセスは複数ある場合も考えられる。S703で見つけた全プロセスについて、S704以下を実行する。S705にて、S703で見つけ出した各プロセスから1つ選択し、S706にて、そのプロセスが動作する計算機を見つけ出し、S707にて、S704で見つけ出した計算機上で動作する他のプロセスを見つけ出す。そしてS708にて、S706にて見つけ出した計算機が正常に動作するかどうかを調べ、正常に動作するのであれば、S707で見つけたプロセスのうち、CPU時間が最も増加しているプロセス、または、S705のプロセスをリソース再割当の候補とする。この場合、S707において最もCPU時間が増加しているプロセスか、S705のプロセスのどちらかについてリソース再割当ができればよい。そしてS710にて、資源割当部6に通知する。S708にて計算機が正常に動作していなければ、S711に進み、S707で見つけた全てのプロセスをリソース再割当の対象とし、資源割当部6に通知する。
FIG. 64 shows the operation of the migration process determination unit 3g in the present embodiment.
When a deadline miss notification for pipeline processing is received from the processing
本実施の形態における、全ての構成要素の連携によって動作する動的リソース管理システムまたは装置の動作フローの例を図65に示す。
S711で、処理時間収集部2g、または、計算機負荷量収集部5が、パイプライン処理のデッドラインミスの発生、計算機故障、メモリ不足の発生、などを移行プロセス決定部3に通知する。処理時間収集部2gはS71〜S79の手順でデッドラインミスの発生を検出し、計算機負荷量収集部5は、S1011〜S1019の手順で計算機故障、メモリ・CPUリソース不足を検出する。
するとS712で、移行プロセス決定部3gは、通知の内容を解析し、原因が計算機故障であればS716に進み、資源割当部6がS121〜S136の手順で、故障していた計算機上で動作していたプロセスを他の計算機上で再起動させる。原因が故障でなければ、移行プロセス決定部3gがS714にてS701〜S710の手順でデッドラインミス発生、リソース不足の発生の原因と考えられるプロセスを見つけ出し、S715で、そのプロセスに対して、資源割当部6が、S121〜S136の手順でリソースの再割り当てを行う。そしてS717にて、システム構成テーブル・メモリ7gの、リソース再割り当てが行われた計算機などに関する情報を書き換える。
FIG. 65 shows an example of the operation flow of the dynamic resource management system or apparatus that operates in cooperation with all the components in the present embodiment.
In S711, the processing time collection unit 2g or the computer load
Then, in S712, the migration process determining unit 3g analyzes the content of the notification, and if the cause is a computer failure, the process proceeds to S716, and the
即ち本実施の形態の計算機リソース動的制御方式は、実施の形態1の計算機リソース動的制御方式に以下の特徴を加えることにより、パイプライン状に複数のプロセスが連なって、各プロセスが順々に処理を行うことにより1回の周期処理が完了するような処理において、処理にデッドライン時間が与えられている場合に、デッドラインミスが発生した場合にデッドライン発生の原因となるプロセスのマイグレーションを行うことにより、本形状の処理のデッドラインミス継続を防止することを特徴とする計算機リソース動的制御方式である。即ち、
71)実施の形態1のシステム構成情報管理テーブルに加え、1つの周期処理を行うプロセス群、周期処理時間、処理の制限時間、処理名を保持するシステム構成情報管理テーブル。
72)実施の形態1の処理時間収集手段において、複数のプロセスによって構成された一連の処理全体の所要時間を求め、デッドラインミスが発生した場合に移行プロセス決定手段に通知する処理時間収集手段。
73)実施の形態1の移行プロセス決定手段において、処理時間収集手段から通知が届いた場合に、一連の処理を構成する全プロセスの処理時間の変動を調査することによって、デッドラインミス発生の原因となったプロセスを求め、資源割付手段にそのプロセスを通知する移行プロセス決定手段、を備える。
In other words, the computer resource dynamic control method of the present embodiment adds the following features to the computer resource dynamic control method of the first embodiment, so that a plurality of processes are connected in a pipeline, and each process is sequentially performed. When a deadline time is given to a process in which one cycle process is completed by performing the process at a time, a process migration that causes a deadline occurs when a deadline miss occurs This is a computer resource dynamic control system characterized by preventing the continuation of a deadline miss in the processing of this shape by performing the above. That is,
71) In addition to the system configuration information management table of the first embodiment, a system configuration information management table that holds a process group that performs one periodic process, a periodic processing time, a processing time limit, and a processing name.
72) A processing time collecting means in the processing time collecting means of the first embodiment, which obtains the time required for the entire series of processes constituted by a plurality of processes and notifies the transition process determining means when a deadline miss occurs.
73) When the notification is received from the processing time collecting unit in the migration process determining unit of the first embodiment, the cause of the occurrence of the deadline miss is investigated by examining the variation in the processing time of all the processes constituting the series of processes. A transition process determining means for obtaining the process and reporting the process to the resource allocating means.
言い換えると、本実施の形態における計算機リソース動的制御装置は実施の形態1の装置に加えて、システム構成情報テーブル・メモリは、パイプライン処理を構成するプロセス名とデッドライン時間を記憶し、
移行プロセス決定部は、デッドラインミスの発生、または発生予測を受けると、上記システム構成情報テーブル・メモリを参照して上記発生の原因となるパイプライン処理のプロセスを特定し、勧告を行うことを特徴とする。
このように、本実施の形態により、複数のプロセスで構成されたパイプライン処理にデッドラインが与えられた場合において、パイプライン処理にデッドラインミスが発生した場合においてもその原因を取り除き、デッドラインミス解消が可能となる。
なお、上記の各実施の形態を組合わせた実施の形態であってもよく、その場合は各実施の形態で述べられた特徴を組合わせた効果が得られる。
In other words, the computer resource dynamic control device in the present embodiment, in addition to the device in the first embodiment, the system configuration information table memory stores the process name and deadline time constituting the pipeline processing,
When the migration process decision unit receives the occurrence or prediction of a deadline miss, it refers to the system configuration information table / memory to identify the pipeline process that causes the occurrence and makes a recommendation. Features.
As described above, according to the present embodiment, when a deadline is given to a pipeline process constituted by a plurality of processes, even when a deadline miss occurs in the pipeline process, the cause is removed and the deadline is removed. Mistakes can be resolved.
It should be noted that the above embodiments may be combined, and in that case, an effect obtained by combining the features described in each embodiment can be obtained.
1 処理時間監視部、2 処理時間収集部、2b 処理時間収集・予測部、3 移行プロセス決定部、4 計算機負荷監視部、5 計算機負荷量収集部、5b 計算機負荷量収集・予測部、6 資源割当部、7 システム構成情報管理テーブル・メモリ、8 処理時間履歴テーブル・メモリ、9 計算機負荷履歴テーブル・メモリ、10 計算機状態テーブル・メモリ、11 プロセッサ(CPU)、12 メモリ、13 入力装置、14 出力装置、15 通信インタフェース、16 内部バス、21 デッドラインミス発生時刻予測部、22 計算機負荷予測部、23 CPU時間予測部、24 メモリ使用量予測部、25 レプリカ管理部、100 計算機、100a,100b,100c 計算機リソース動的制御装置、101 プロセス。 1 processing time monitoring unit, 2 processing time collection unit, 2b processing time collection / prediction unit, 3 migration process decision unit, 4 computer load monitoring unit, 5 computer load collection unit, 5b computer load collection / prediction unit, 6 resources Allocation unit, 7 system configuration information management table / memory, 8 processing time history table / memory, 9 computer load history table / memory, 10 computer state table / memory, 11 processor (CPU), 12 memory, 13 input device, 14 output Apparatus, 15 communication interface, 16 internal bus, 21 deadline miss occurrence time prediction unit, 22 computer load prediction unit, 23 CPU time prediction unit, 24 memory usage prediction unit, 25 replica management unit, 100 computer, 100a, 100b, 100c Computer resource dynamic controller, 101 process.
Claims (2)
上記プロセスの実行が開始されてから終了するまでの処理時間の限界を表すデッドライン時間と、上記プロセスが一定の周期で繰り返し実行される場合に上記デッドライン時間を超える処理時間で当該プロセスが実行されることを許可する許容回数と、上記プロセスが実行される場合に消費するメモリの量を表す消費メモリ量とをあらかじめ記憶するシステム構成情報テーブル・メモリと、
上記プロセスの実行を開始した処理開始時刻と上記プロセスの実行を終了した処理終了時刻とを処理時間履歴情報として1つ以上記憶する処理時間履歴テーブル・メモリと、
上記所定の計算機がプロセスの実行を終了した際に出力する上記処理開始時刻と上記処理終了時刻とを、上記所定の計算機から入力し、入力した処理開始時刻と処理終了時刻とを上記処理時間履歴テーブル・メモリに処理時間履歴情報として記憶し、
上記処理時間履歴テーブル・メモリに記憶した1つ以上の処理時間履歴情報の各処理時間履歴情報に対応して、当該処理時間履歴情報の処理終了時刻から処理開始時刻を引いた処理時間を求め、
求めた各処理時間履歴情報に対応する処理時間と上記システム構成情報テーブル・メモリに記憶されたデッドライン時間とを比較してデッドライン時間を超える処理時間の数を求め、
求めた数が上記システム構成情報テーブル・メモリに記憶された許容回数を超え、かつ、上記1つ以上の処理時間履歴情報のうち最新の処理時間履歴情報に対応する処理時間が上記デッドライン時間を超える場合、上記デッドライン時間を超える上記処理時間の数が上記許容回数を超えることを通知する処理時間収集部と、
上記処理時間収集部により上記デッドライン時間を超える上記処理時間の数が上記許容回数を超えることを通知された場合、上記プロセスを上記他の計算機に実行させることを決定する移行プロセス決定部と、
計算機のプロセッサの使用率を表すプロセッサ使用率と計算機が有するメモリの空いている量を表す空きメモリ量とを、上記複数の計算機の各計算機から入力し、入力した各計算機のプロセッサ使用率と空きメモリ量とを出力する計算機負荷量収集部と、
上記移行プロセス決定部により上記プロセスを他の計算機に実行させることが決定された場合、上記計算機負荷量収集部により出力された上記各計算機のプロセッサ使用率と空きメモリ量とのうち他の計算機のプロセッサ使用率と空きメモリ量とを入力し、
入力した他の計算機のプロセッサ使用率の大きい順に当該計算機の空きメモリ量と上記システム構成情報テーブル・メモリに記憶された消費メモリ量とを比較して上記空きメモリ量が消費メモリ量以上である他の計算機を判定し、判定した他の計算機に当該プロセスを実行させることを制御する資源割当部と
を備えたことを特徴とする計算機リソース動的制御装置。 The computer has a processor and a memory connected multiple, a process performed repeatedly at a predetermined cycle by a processor in which a predetermined computer has among the plurality of computers, other than the predetermined computer of the plurality of computers In a computer resource dynamic control device that controls execution of other computers,
The process is executed with a deadline time that represents the limit of the processing time from the start to the end of execution of the process, and a processing time that exceeds the deadline time when the process is repeatedly executed at a fixed period. A system configuration information table memory that pre- stores an allowable number of times allowed to be performed and a consumed memory amount representing an amount of memory consumed when the process is executed ;
A processing time history table memory that stores at least one processing start time at which execution of the process is started and processing end time at which execution of the process is ended as processing time history information;
The processing start time and the processing end time output when the predetermined computer finishes executing the process are input from the predetermined computer, and the input processing start time and processing end time are input to the processing time history. Store as processing time history information in table memory,
In response to each processing time history information of one or more processing time history information stored in the processing time history table memory, a processing time obtained by subtracting the processing start time from the processing end time of the processing time history information is obtained.
By comparing the processing time corresponding to each processing time history information obtained and the deadline time stored in the system configuration information table memory, the number of processing times exceeding the deadline time is obtained,
The obtained number exceeds the allowable number of times stored in the system configuration information table memory, and the processing time corresponding to the latest processing time history information among the one or more processing time history information is set to the deadline time. If exceeded, a processing time collection unit that notifies that the number of processing times exceeding the deadline time exceeds the allowable number of times, and
When the processing time collection unit is notified that the number of the processing times exceeding the deadline time exceeds the allowable number of times, a transition process determination unit that determines to cause the other computer to execute the process;
The processor usage rate indicating the usage rate of the processor of the computer and the free memory amount indicating the free memory of the computer are input from each computer of the plurality of computers, and the processor usage rate and free space of each input computer are input. A computer load collection unit for outputting a memory amount;
When it is determined by the migration process determination unit that the other process is to be executed by another computer, the processor usage rate and the free memory amount of each computer output by the computer load amount collection unit Enter processor usage and free memory,
Compare the amount of free memory of the computer with the amount of consumed memory stored in the system configuration information table / memory in order of the processor usage rate of the other computer that has been input. computer determines, computer resource dynamic control device according to claim the resource allocation unit for controlling to cause to execute the process on the determined other computer further comprising a <br/>.
上記計算機負荷量収集部は、上記プロセッサ使用率とともに計算機が有するメモリの使用量を表すメモリ使用量を、上記複数の計算機の各計算機から入力し、入力した各計算機のプロセッサ使用率とメモリ使用量とを出力し、
上記計算機リソース動的制御装置は、
上記計算機負荷量収集部により出力されたプロセッサ使用率とメモリ使用量とを計算機負荷履歴情報とし、各計算機に対応して1つ以上の計算機負荷履歴情報を記憶する計算機負荷履歴テーブル・メモリと、
上記処理時間履歴テーブル・メモリに記憶された1つ以上の処理時間履歴情報の各処理時間履歴情報に対応して上記処理時間を求め、求めた1つ以上の処理時間の変動に基づいて上記デッドライン時間を超える上記処理時間が将来発生するか否かを判定し、上記デッドライン時間を超える上記処理時間が将来発生することを判定した場合、上記デッドライン時間を超える上記処理時間が発生する発生時刻を上記1つ以上の処理時間の変動に基づいて予測して出力するデッドラインミス発生時刻予測部と、
上記計算機負荷履歴テーブル・メモリに記憶された各計算機に対応する1つ以上の計算機負荷履歴情報のプロセッサ使用率の変動に基づいて、上記デッドラインミス発生時刻予測部により予測された発生時刻に対応する各計算機のプロセッサ使用率を求めて出力する計算機負荷予測部と、
上記計算機負荷履歴テーブル・メモリに記憶された各計算機に対応する1つ以上の計算機負荷履歴情報のメモリ使用量の変動に基づいて上記デッドラインミス発生時刻予測部により予測された発生時刻に対応する各計算機のメモリ使用量を求めて出力するメモリ使用量予測部と
を備え、
上記移行プロセス決定部は、上記デッドラインミス発生時刻予測部により発生時刻が出力された場合、上記プロセスを他の計算機に実行させることを決定し、
上記資源割当部は、
上記デッドラインミス発生時刻予測部により発生時刻が出力された場合に、上記移行プロセス決定部により上記プロセスを他の計算機に実行させることが決定された場合、上記計算機負荷予測部により出力された上記発生時刻に対応する複数の計算機のプロセッサ使用率のうち他の計算機のプロセッサ使用率を入力し、
入力した他の計算機のプロセッサ使用率の大きい順に、
(1)上記システム構成情報テーブル・メモリに記憶された各計算機に対応するメモリ量から当該他の計算機のメモリ量を取得し、
(2)上記メモリ使用量予測部により出力された上記発生時刻に対応する複数の計算機のメモリ使用量のうち当該他の計算機のメモリ使用量を入力し、
(3)取得したメモリ量から入力したメモリ使用量を引いた空きメモリ量を求め、求めた空きメモリ量と上記システム構成情報テーブル・メモリに記憶された消費メモリ量とを比較して上記空きメモリ量が消費メモリ量以上であるか否かを判定することを行い、
上記空きメモリ量が消費メモリ量以上であることを判定した場合、上記空きメモリ量が消費メモリ量以上である他の計算機に当該プロセスを実行させることを制御する
ことを特徴とする請求項1記載の計算機リソース動的制御装置。 The system configuration information table / memory stores in advance a memory amount representing the capacity of the memory of the computer corresponding to each of the computers,
The computer load amount collection unit inputs a memory usage amount representing a memory usage amount of the computer together with the processor usage rate from each computer of the plurality of computers, and the processor usage rate and the memory usage amount of each inputted computer And
The computer resource dynamic control device is
The computer load history table memory for storing one or more computer load history information corresponding to each computer, using the processor usage rate and memory usage output by the computer load amount collection unit as computer load history information,
The processing time is obtained corresponding to each processing time history information of the one or more processing time history information stored in the processing time history table memory, and the dead time is determined based on one or more fluctuations of the obtained processing time. It is determined whether or not the processing time exceeding the line time will occur in the future, and when it is determined that the processing time exceeding the deadline time will occur in the future, the processing time exceeding the deadline time occurs A deadline miss occurrence time predicting unit that predicts and outputs a time based on the variation of the one or more processing times;
Corresponding to the occurrence time predicted by the deadline miss occurrence time predicting unit based on the processor usage rate fluctuation of one or more computer load history information corresponding to each computer stored in the computer load history table memory A computer load prediction unit that calculates and outputs the processor usage rate of each computer
Corresponding to the occurrence time predicted by the deadline miss occurrence time prediction unit based on the variation in memory usage of one or more computer load history information corresponding to each computer stored in the computer load history table memory A memory usage prediction unit that calculates and outputs the memory usage of each computer ;
With
When the occurrence time is output by the deadline miss occurrence time prediction unit , the migration process determination unit determines to cause the other process to execute the process,
Said resource allocation unit,
When the occurrence time is output by the deadline miss occurrence time prediction unit, when the migration process determination unit determines to cause the other process to be executed by the migration process determination unit, the output from the computer load prediction unit Enter the processor usage rate of other computers among the processor usage rates of multiple computers corresponding to the time of occurrence.
In order of the processor usage rate of the other computers you entered,
(1) Obtain the memory amount of the other computer from the memory amount corresponding to each computer stored in the system configuration information table memory.
(2) Input the memory usage of the other computer among the memory usages of the plurality of computers corresponding to the occurrence time output by the memory usage prediction unit,
(3) The free memory amount obtained by subtracting the input memory usage from the acquired memory amount is obtained, and the obtained free memory amount is compared with the consumed memory amount stored in the system configuration information table memory. Determine whether the amount is greater than or equal to the amount of memory consumed,
When it is determined that the amount of free memory is equal to or greater than the amount of consumed memory, control is performed to cause another computer having the amount of free memory equal to or greater than the amount of consumed memory to execute the process. The computer resource dynamic control apparatus according to claim 1.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006047704A JP4523921B2 (en) | 2006-02-24 | 2006-02-24 | Computer resource dynamic controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006047704A JP4523921B2 (en) | 2006-02-24 | 2006-02-24 | Computer resource dynamic controller |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007226587A JP2007226587A (en) | 2007-09-06 |
JP4523921B2 true JP4523921B2 (en) | 2010-08-11 |
Family
ID=38548345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006047704A Expired - Fee Related JP4523921B2 (en) | 2006-02-24 | 2006-02-24 | Computer resource dynamic controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4523921B2 (en) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5089429B2 (en) | 2008-02-21 | 2012-12-05 | キヤノン株式会社 | Information processing apparatus, control method therefor, and program |
JP2009211620A (en) * | 2008-03-06 | 2009-09-17 | Hitachi Information Systems Ltd | Virtual environment duplicating method, system, and program |
JP4922255B2 (en) | 2008-06-30 | 2012-04-25 | 株式会社日立製作所 | Information processing system and power saving control method in the system |
JP5104693B2 (en) * | 2008-09-26 | 2012-12-19 | 沖電気工業株式会社 | SIP application server load balancer and operation method thereof |
US9569270B2 (en) | 2009-04-21 | 2017-02-14 | Empire Technology Development Llc | Mapping thread phases onto heterogeneous cores based on execution characteristics and cache line eviction counts |
US8881157B2 (en) | 2009-09-11 | 2014-11-04 | Empire Technology Development Llc | Allocating threads to cores based on threads falling behind thread completion target deadline |
US9189282B2 (en) | 2009-04-21 | 2015-11-17 | Empire Technology Development Llc | Thread-to-core mapping based on thread deadline, thread demand, and hardware characteristics data collected by a performance counter |
US8190744B2 (en) * | 2009-05-28 | 2012-05-29 | Palo Alto Research Center Incorporated | Data center batch job quality of service control |
JP5377093B2 (en) * | 2009-06-08 | 2013-12-25 | 三菱電機株式会社 | Computer system, computer resource control method, and computer resource control program |
US8479215B2 (en) * | 2009-08-18 | 2013-07-02 | International Business Machines Corporation | Decentralized load distribution to reduce power and/or cooling costs in an event-driven system |
JP5403744B2 (en) * | 2009-08-19 | 2014-01-29 | 株式会社ニューフレアテクノロジー | Charged particle beam drawing apparatus, charged particle beam drawing method, and charged particle beam drawing data processing apparatus |
JP5547553B2 (en) | 2010-05-26 | 2014-07-16 | 株式会社ニューフレアテクノロジー | Charged particle beam drawing apparatus and control method thereof |
JP5465105B2 (en) * | 2010-06-21 | 2014-04-09 | 三菱電機株式会社 | Computer system, computer program, and pipeline processing method |
JP5653431B2 (en) | 2010-07-02 | 2015-01-14 | パナソニックIpマネジメント株式会社 | Multiprocessor system |
US8639809B2 (en) * | 2010-08-20 | 2014-01-28 | International Business Machines Corporation | Predictive removal of runtime data using attribute characterizing |
JP5692381B2 (en) * | 2011-07-13 | 2015-04-01 | 富士通株式会社 | Multi-core processor system and control method |
WO2013018289A1 (en) * | 2011-08-04 | 2013-02-07 | 日本電気株式会社 | Computer and performance data collection method |
JP5786942B2 (en) * | 2011-08-26 | 2015-09-30 | 富士通株式会社 | Scheduling system, data processing system, and scheduling method |
JP5867215B2 (en) * | 2012-03-22 | 2016-02-24 | 日本電気株式会社 | Information processing apparatus, information processing method, and information processing program |
CN105988872B (en) * | 2015-02-03 | 2020-02-18 | 阿里巴巴集团控股有限公司 | Method and device for CPU resource allocation and electronic equipment |
JP6832167B2 (en) | 2017-01-17 | 2021-02-24 | 株式会社デンソーテン | Radar device and target detection method |
JP6399127B2 (en) | 2017-03-08 | 2018-10-03 | 日本電気株式会社 | System management apparatus, system management method, program, information processing system |
JP7074286B2 (en) * | 2017-06-19 | 2022-05-24 | Necネクサソリューションズ株式会社 | Processing planning device, processing planning method and program |
KR102159953B1 (en) * | 2018-08-13 | 2020-09-25 | 인천대학교 산학협력단 | Electronic device for controlling performance of at least one processor when providing inference service through deep learning model and operating method thereof |
JP7310378B2 (en) | 2019-07-08 | 2023-07-19 | 富士通株式会社 | Information processing program, information processing method, and information processing apparatus |
DE112019007851T5 (en) * | 2019-12-12 | 2022-10-27 | Mitsubishi Electric Corporation | Data processing execution device, data processing execution method and data processing execution program |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001236236A (en) * | 2000-02-25 | 2001-08-31 | Nec Microsystems Ltd | Task controller and its task scheduling method |
JP2002073354A (en) * | 2000-08-29 | 2002-03-12 | Ricoh Co Ltd | Task control device and task contol method |
JP2002108839A (en) * | 2000-09-28 | 2002-04-12 | Mitsubishi Electric Corp | Communication network system, method for job assignment and computer-readable recording medium with recorded program to be executed by computer |
JP2002342097A (en) * | 2001-05-17 | 2002-11-29 | Matsushita Electric Ind Co Ltd | Task allocatable time deciding device and task allocatable time deciding method |
JP2003248591A (en) * | 2002-02-22 | 2003-09-05 | Advanced Telecommunication Research Institute International | Task scheduling method |
JP2004038518A (en) * | 2002-07-03 | 2004-02-05 | Hitachi Ltd | Object failure recovery method |
WO2004092934A1 (en) * | 2003-04-17 | 2004-10-28 | Matsushita Electric Industrial Co., Ltd. | Start time reduction device and electronic device |
JP2005284351A (en) * | 2004-03-26 | 2005-10-13 | Toshiba Corp | Real-time scheduling possibility determining method and real-time system |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08272627A (en) * | 1995-03-30 | 1996-10-18 | Ricoh Co Ltd | Real-time task controller |
JPH0944095A (en) * | 1995-07-25 | 1997-02-14 | Seiji Sakai | Magnetic plate advertising tool for vehicle |
JPH09231181A (en) * | 1996-02-28 | 1997-09-05 | Mitsubishi Electric Corp | Method for distributing dynamic load in parallel computer |
-
2006
- 2006-02-24 JP JP2006047704A patent/JP4523921B2/en not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001236236A (en) * | 2000-02-25 | 2001-08-31 | Nec Microsystems Ltd | Task controller and its task scheduling method |
JP2002073354A (en) * | 2000-08-29 | 2002-03-12 | Ricoh Co Ltd | Task control device and task contol method |
JP2002108839A (en) * | 2000-09-28 | 2002-04-12 | Mitsubishi Electric Corp | Communication network system, method for job assignment and computer-readable recording medium with recorded program to be executed by computer |
JP2002342097A (en) * | 2001-05-17 | 2002-11-29 | Matsushita Electric Ind Co Ltd | Task allocatable time deciding device and task allocatable time deciding method |
JP2003248591A (en) * | 2002-02-22 | 2003-09-05 | Advanced Telecommunication Research Institute International | Task scheduling method |
JP2004038518A (en) * | 2002-07-03 | 2004-02-05 | Hitachi Ltd | Object failure recovery method |
WO2004092934A1 (en) * | 2003-04-17 | 2004-10-28 | Matsushita Electric Industrial Co., Ltd. | Start time reduction device and electronic device |
JP2005284351A (en) * | 2004-03-26 | 2005-10-13 | Toshiba Corp | Real-time scheduling possibility determining method and real-time system |
Also Published As
Publication number | Publication date |
---|---|
JP2007226587A (en) | 2007-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4523921B2 (en) | Computer resource dynamic controller | |
JP7409622B2 (en) | Computer system and method | |
US8191069B2 (en) | Method of monitoring performance of virtual computer and apparatus using the method | |
US10055252B2 (en) | Apparatus, system and method for estimating data transfer periods for job scheduling in parallel computing | |
US7694073B2 (en) | Computer system and a method of replication | |
US11194569B2 (en) | Method, electronic device and medium for upgrading a hyper-converged infrastructure node | |
JPWO2017022002A1 (en) | Storage device, storage system, and storage system control method | |
JP2007286860A (en) | Data transfer method and information processor | |
JP2004246852A (en) | Method and apparatus for adjusting performance of logical volume copy destination | |
JP5323554B2 (en) | Job processing method, computer-readable recording medium storing job processing program, and job processing system | |
US11212174B2 (en) | Network management device and network management method | |
JP5158576B2 (en) | I / O control system, I / O control method, and I / O control program | |
JP5169117B2 (en) | Data stream analysis system and apparatus, method and program used therefor | |
JP4485592B2 (en) | Computer system and computer system control method | |
JP4608559B2 (en) | Blade assignment method and blade assignment program | |
JP5782962B2 (en) | RAID group control device | |
JP5617586B2 (en) | Information processing program, relay device, and relay management device | |
WO2004084095A9 (en) | Information retrieving system | |
JP2008027162A (en) | Data recording apparatus and data recording program | |
JP4408122B2 (en) | Computer system, computer system control method and computer control program | |
JP2006344091A (en) | System reconfiguration automating system | |
JP2010218235A (en) | Archive device, distributed management device, and distributed management program | |
JP2024007858A (en) | Information processing device and information processing program | |
CN115514624A (en) | Monitoring method, monitoring device, electronic equipment and storage medium | |
JP2023023082A (en) | Application control program, and application control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080810 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100222 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100309 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100427 |
|
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: 20100525 |
|
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: 20100528 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4523921 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: 20130604 Year of fee payment: 3 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |