JP2007226587A - 計算機リソース動的制御装置、計算機リソース動的制御システム及び計算機リソース動的制御方法 - Google Patents

計算機リソース動的制御装置、計算機リソース動的制御システム及び計算機リソース動的制御方法 Download PDF

Info

Publication number
JP2007226587A
JP2007226587A JP2006047704A JP2006047704A JP2007226587A JP 2007226587 A JP2007226587 A JP 2007226587A JP 2006047704 A JP2006047704 A JP 2006047704A JP 2006047704 A JP2006047704 A JP 2006047704A JP 2007226587 A JP2007226587 A JP 2007226587A
Authority
JP
Japan
Prior art keywords
computer
time
resource
processing
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006047704A
Other languages
English (en)
Other versions
JP4523921B2 (ja
Inventor
Kazuhiro Murayama
和宏 村山
Haruyuki Otani
治之 大谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2006047704A priority Critical patent/JP4523921B2/ja
Publication of JP2007226587A publication Critical patent/JP2007226587A/ja
Application granted granted Critical
Publication of JP4523921B2 publication Critical patent/JP4523921B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】処理対象プロセスの要求リソース量と各計算機の所有リソース量とを勘案してプロセスのデッドラインミスの継続発生を防ぐ。
【解決手段】本発明の計算機リソース動的制御装置は、プロセスを処理する計算機を複数台接続して連携処理するシステムに接続して、計算機のリソースの不足を検出する計算機負荷量収集部5と、プロセスの処理限界を超すデッドラインミスの発生を検出する処理時間収集部2と、プロセスの処理時間とプロセスの処理で使用する計算機のリソースの使用量とデッドライン時間とを記憶し、計算機の所有リソース量を記憶するシステム構成情報テーブル・メモリ7と、デッドラインミスの発生の通知でプロセスまたは関連するプロセスの処理を異なる計算機に再割当を勧告する移行プロセス決定部3と、勧告通知でプロセスの処理時間がデッドライン時間内となるようプロセスと候補計算機とを抽出し実行させる資源割当部6と、を備えた。
【選択図】図2

Description

この発明は、複数の計算機がネットワークを形成して、連携して複数のプロセスを並行処理する分散システムにおける、処理が間に合わない事によるデッドラインミスの多発を防止する装置、システムに関するものである。
従来の計算機リソース動的制御方式は、従来例1として例えば特許文献1によれば、繰り返し周期ごとに処理時間と処理データのデータの内容、データの大きさと前回の処理時間をもとにしてプロセスの次の処理時間を予測する手段と、処理予測時間の大きさの範囲ごとに定められたタスクの実行順序案を保持し、予測によって求めた次の処理時間のデータに基づいて、あらかじめ定められた実行順序案に基づいて次の周期の処理順序を決定することにより、処理のデッドラインミス発生を防止することを特徴としている。
また従来例2として他の特許文献2によれば、処理すべきプロセス量を単位化して、例えばあるプロセスは8単位、他のプロセスは5単位等とし、この細分化されたプロセスの単位を基準にして、各プロセッサに処理する単位を割当てる方法が示されている。従ってプロセスが持つ単位量を管理するプロセス管理手段と、実行するプロセッサを管理するプロセッサ管理手段と、割当リソース量決定手段とを持っている。
特開平4−171538号公報 特開平6−28323号公報
上記の従来例1では、プロセスのマイグレーション(他の計算機への移行)を行うことができず、例え他の計算機に空きリソースがあったとしても処理内容の変更や縮退を行うしかなく、システム内の他の計算機リソースを効率よく利用できない、またはオーバーロードするプロセスの処理を任された計算機(プロセッサ)によるデッドラインミスが継続する、という課題がある。
また、上記の従来例1では、主としてデータの大きさ、値をもとにして次の処理時間を予測しているが、データの大きさによって処理時間が決定する訳ではない。更に各プロセス様々なデータを受信するが、データの内容はプロセスが受け取る直前まで不明である場合が多くて、事前の予測はできない。このような理由から、従来例1の手法で次の周期処理時間を予測することは不可能である。
また従来例2では、やはりプロセスの量を大きさで区切って単位化して管理するだけであり、プロセスの内容や質により計算機を割当てたり、計算機の環境により処理量を変えたりはしないので、やはりデッドラインミスが発生し続けることを防げない、という課題がある。
この発明は上記のような課題を解決するためになされたもので、システムを構成する各プロセスのデッドラインミスが発生した場合に、十分な空きメモリ量、CPU時間を持つ計算機にプロセスマイグレーションを行うことによってプロセスのデッドラインミスの継続発生を防止することを目的とする。
また、過去のプロセスの処理時間からプロセスの将来の処理時間を予測し、将来デッドラインミスが発生すると予測された場合には、プロセスマイグレーションを行うことによってプロセスのデッドラインミスの発生を未然に防ぐことを目的とする。
この発明に係る計算機リソース動的制御装置は、対象となるプロセスを処理する計算機を複数台接続して、複数の上記プロセスを連携処理するシステム、に接続して、
各上記計算機のリソースの使用状態を監視して計算機のこのリソースの使用状態情報を収集し、このリソースの不足を検出する計算機負荷量収集部と、
上記プロセスの処理時間を監視してプロセスの処理時間を収集し、プロセスの処理限界時間を規定したデッドライン時間を超す処理となるデッドラインミスの発生を検出する処理時間収集部と、
システムで処理される上記プロセスの処理時間とこのプロセスの処理で使用する計算機のリソースの使用量とデッドライン時間とをプロセスの識別子と共に記憶し、システムに接続される上記計算機の所有リソース量を計算機の識別子と共に記憶するシステム構成情報テーブル・メモリと、
上記デッドラインミスの発生を検出した通知により上記システム構成情報テーブル・メモリを参照して上記プロセスまたは関連するプロセスの処理を現行の計算機とは異なる計算機に再割当を勧告する移行プロセス決定部と、
上記再割当を勧告する通知を受けて上記システム構成情報テーブル・メモリの上記プロセスの処理時間と上記計算機の所有リソース量とを参照して上記プロセスの処理時間が上記デッドライン時間内となるよう上記再割当を勧告されたプロセスと候補計算機とを抽出し、この抽出したプロセスをこの抽出した候補計算機に割当て実行させると同時に上記システム構成情報テーブル・メモリを更新する資源割当部と、を備えた。
この発明によれば、プロセスのデッドラインミスを検出し、またプロセスが要求する計算機リソース量と各計算機が持つリソース量を管理して、規定回数以上デッドラインミスが発生したプロセスを、負荷の軽い他の計算機、または計算機リソースに余裕のある他の計算機に割り付けることで、デッドラインミスの継続を防ぐ効果がある。
また、デッドラインミスの原因が計算機故障の場合には、故障した計算機上で動作していた全てのプロセスを他の計算機に再割付して、処理の継続が可能となり、可用性の高いシステムが得られる効果がある。
実施の形態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は、例えばレーダのアプリケーションのように、データのサイズではなくデータの内容によって処理負荷が大きく変動するようなアプリケーションであってもよい。
以下、本実施の形態における計算機リソース動的制御装置100aまたは計算機リソース動的制御システムにおける各構成要素についてその機能を説明する。
図3は、本実施の形態におけるプロセスのデータ処理時間を監視する処理時間監視部1の機能を説明する図である。即ち、分散処理を行う各プロセッサ11が割当てられたプロセス101の処理を実行するに当たり、データを受け取ってから処理を開始した時刻(以下、「処理開始時刻」とする)、処理を完了した時刻(以下「処理終了時刻」とする)を処理時間監視部1に報告するステップを設けると共に、処理開始時刻から処理終了時刻までの間で、実際に演算のためにCPU(プロセッサ)を使用した時間(以下「CPU時間」とする)を報告するステップを設ける。なお動作に関係するステップは、後の動作記述で説明する。更に処理時間監視部1は、必要に応じて処理時間収集部2に上記の処理開始時刻、処理終了時刻、CPU時間を通知する役割を持つ。
処理時間監視部1は、それぞれの計算機100に各1つ設けてもよいし、プロセス101毎に各1つ設けてももよいし、システム全体で1つ設けてもよい。図1では、構成の一例として計算機100に各1つ設けた場合の構成を示している。
図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つ設けるようにしてもよい。
図7は、本実施の形態における移行プロセス決定部3の機能を説明する図である。移行プロセス決定部3は、処理時間収集部2よりデッドラインミスが規定回数以上発生した旨を告げる通知を受け取ると、処理時間収集部2、計算機負荷量収集部5などに問い合わせ、他プロセスの処理時間の変動や、計算機の状態(正常または異常)、CPU、メモリ等のハードウェアの利用率などについて調査を行うことにより、デッドラインミスを解消するためにハードウェア・リソースの再割り当てを行うべきプロセスを検出する機能を持つ。
この移行プロセス決定部3は、システムに1つ在ればよい。
図8は、本実施の形態における計算機負荷監視部4の機能を説明する図である。計算機負荷監視部4は、各計算機100上に1つ設けて、各計算機100のメモリ使用状況やCPU使用率を定期的に取得し、計算機負荷量収集部5に通知する機能を持つと共に、これらの情報を定期的に通知することにより計算機100が正常に動作していることを計算機負荷量収集部5に伝える機能も持つ。
図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の識別子の一覧を返す機能も持つ。
図13は、本実施の形態における資源割当部6の機能を説明する図である。資源割当部6は、移行プロセス決定部3が移行する必要があるとして選定したプロセスを、新しく他の計算機100に割り当てる機能を持つ。資源割当部6がそのプロセスに対して異なる計算機を割り当てる際には、計算機負荷量収集部5に各計算機100のCPU11の負荷やメモリ12の利用状況について問い合わせたり、システム構成情報管理テーブル・メモリ7からプロセス101が必要とするCPU時間やメモリ量に関する情報を取得したりすることにより、メモリ不足やデッドラインミスを発生させる可能性が少ない計算機100上でそのプロセス101を起動する。更に、プロセス101の起動後は元の計算機で動作していたプロセスを停止させる。
図14は、本実施の形態におけるシステム構成情報管理テーブル・メモリ7のデータ構成の例を示す図である。システム構成情報管理テーブル・メモリ7は、ソフトウェアに関する情報として、プロセス101の名称である「プロセス名」、直近のデッドラインミスの発生回数をカウントするために保持する処理開始時刻・処理終了時刻・CPU時間の履歴の個数を示す「処理時間履歴テーブルに格納する履歴数」、各プロセスが処理した際の「平均CPU時間」、「デッドライン時間」、「履歴中のデッドラインミス許容回数」「動作中の計算機」「プロセス識別子」、「消費メモリ」等の計算機リソースの使用量をプロセス101毎に保持する。ハードウェア情報として、システムに存在する計算機100を識別する「ホスト名」、その計算機の「搭載メモリ量」等の所有リソース量、「計算機負荷履歴テーブルに保持する履歴数」を計算機ごとに記載する。
図15は、本実施の形態における処理時間履歴テーブル・メモリ8のデータ構成の例を示す図である。本テーブルはプロセス毎に存在し、テーブルには、1つのエントリごとに「処理開始時刻」「処理終了時刻」「CPU時間」を格納する。本テーブルは、処理時間監視部1が処理時間収集部2に「処理開始時刻」「処理終了時刻」「CPU時間」を送信すると、処理時間収集部2によってそのデータが書き込まれる。エントリの数は、システム構成情報管理テーブルによって決定されており、全エントリにデータが書き込まれると、古いデータから順に削除される。また、規定回数以上デッドラインミスが発生すると、リソース割当完了後、リソース割当を行ったプロセスのデータを管理するテーブル中に在る対応する全てのデータが削除される。
図16は、本実施の形態における計算機負荷履歴テーブル・メモリ9のデータ構成の例を示す図である。本テーブルは計算機ごとに存在し、テーブルには、1つのエントリ毎に「データ取得時刻」「CPU使用率」「空きメモリ量」のデータを格納する。本テーブルは、計算機負荷監視部4が計算機負荷量収集部5に「データ取得時刻」「CPU使用率」「空きメモリ量」のデータを送ると、計算機負荷量収集部5によって書き込まれる。テーブルのエントリの数はシステム構成情報管理テーブルによって決定されており、全エントリにデータが書き込まれると、古いデータから順に削除される。
図17は、本実施の形態における計算機状態テーブル・メモリ10のデータ構成の例を示す図である。本テーブルには、計算機ごとに「正常/異常」を格納するエントリがあり、計算機負荷量収集部5が、ある一定時間内に計算機負荷監視部4から「データ取得時刻」「CPU使用率」「空きメモリ量」のデータを受信しなければ、計算機に異常が発生したと判断し、該当する計算機のエントリが「異常」と示される。
図2で示したように、計算機リソース動的制御装置100aが必要な全ての構成要素を持つようにしてもよいが、図1に例を示すように、幾つかの計算機が必要な処理時間収集・予測部2等の構成要素を分散して持ち、それらの計算機群が全体として計算機リソース動的制御システムを構成してもよい。
次に、本実施の形態における計算機リソース動的制御装置または計算機リソース動的制御システムの各構成要素の動作について説明する。
図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コマンドなどにより得られる。
図19は、処理時間収集部2の動作フローの一例を示す図である。図4ないし図6の機能説明図も参照しながら動作を説明する。S11において、処理時間監視部1からあるプロセスを処理した処理開始時刻、終了時刻、CPU時間のデータを受け取ると、S12において、そのプロセス処理のデータを書き込む処理時間履歴テーブル・メモリ8のあるエントリにこれらのデータを書き込む。S13において、全プロセスの処理について、S12にて書き込んだ処理開始時刻、処理終了時刻より、デッドラインミスが発生しているかどうかを調べる。デッドラインミスが発生しているかどうかは、処理終了時刻から処理開始時刻を引くことにより処理に要した時間を求め、この時間とシステム構成情報管理テーブル・メモリ7に示されている、プロセスのデッドライン時間を比較することにより得ることができる。デッドラインミスが発生していたら、S14において、処理時間履歴テーブル・メモリ8に保持されているデータを全て参照し、規定回数以上デッドラインミスが発生しているかどうかを調べる。許容可能なデッドラインミスの規定回数はシステム構成情報管理テーブル・メモリ7が保持している。規定回数以上のデッドラインミスが発生していた場合には、S15において、移行プロセス決定部3に通知すると共に、処理時間履歴テーブル・メモリ8に書き込まれている全データを削除する。なおS13にてデッドラインミスが発生していなければ、S16に進み、処理時間履歴テーブル・メモリ8の、次にデータを書き込むエントリを1つ先に進める。処理時間履歴テーブル・メモリ8の空きエントリがなくなった場合には、それ以降、S12では最も古いデータを順に上書きしていく。
図20は、本実施の形態における計算機負荷監視部4の動作フローの一例を示す図である。図8の機能説明図も参照しながら動作を説明する。S1001において計算機負荷監視部4は、プロセッサ11による処理開始時刻を取得する。そしてS1002で、計算機負荷とメモリ使用量を取得する。そしてS1003で、取得した現在時刻と、CPU使用率、メモリ使用量を計算機負荷量収集部5に通知する。CPU使用率の取得方法は、例えばオペレーティング・システムがUNIX(登録商標)であれば、mpstatコマンドやtopコマンド、メモリ使用量の取得方法は、vmstatコマンドにより得られる。
図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に対して行う。
図22は、デッドラインミスが発生したことが処理時間収集部2より通知された場合における移行プロセス決定部3の動作フローの一例を示した図である。図において、S101で図5に示すように、処理時間収集部2よりデッドラインミスが規定回数以上発生した旨を伝える通知が届く。通知とともに、例えばデッドラインミスが発生したプロセス名も届く。S101でデッドラインミスが発生したプロセスの名前が届くと、S102で、システム構成情報管理テーブル・メモリ7よりデッドラインミスが発生したプロセスを処理している計算機を識別する。そしてS103で、その計算機上で動作している他のプロセスを識別してその名を取得する。S104で、計算機負荷量収集部5に対し、その計算機が正常に動作しているかどうかを問い合わせる。そしてS105にて、S103で識別した計算機が正常動作していなければ、計算機が停止したことがデッドラインミス発生の原因であることがわかる。その場合は、S103で検出した全てのプロセス101を他の計算機に移行させるために、S106にてこれらのプロセス名をリソース再割付の対象として資源割当部6に通知する。
なおS105で計算機が正常に動作していた場合には、S107において、S103で見つけたプロセスのうち、CPU時間が増えているプロセスを調査する。CPU時間が増えているかどうかは、システム構成情報管理テーブルが各プロセスの平均CPU時間を保持しているので、システム構成情報管理テーブルを見て平均CPU時間を取得し、現在のCPU時間と比較することで判る。そして、デッドラインミスが発生したプロセスと、S107で見つけ出したプロセスをリソース再割当の候補として、これらのうちのどれかに対してリソース割当を行うように資源割当部6に通知する。
図23は、計算機負荷収集手段より通知が届いた場合に移行プロセス決定部3が行う動作フローの一例を示す図である。図7の機能説明図も参照しながら動作を説明する。計算機負荷量収集部5より負荷量が多いと通知が届くのは、計算機故障かメモリ容量が不足の場合があると考えられる。S111にて計算機負荷量収集部5よりこうした通知が届くと、S112にて、システム構成情報管理テーブル・メモリ7を参照することにより、異常が発生した計算機100上で処理されているプロセス101を識別する。そしてS113にて、計算機負荷量収集部5よりの通知の内容が計算機故障かメモリ不足かを調べる。通知の内容が計算機故障であった場合にはS114にて、S112で調べた全プロセスをリソース再割当ての対象として、資源割当部6に通知する。また、通知の内容がメモリ不足であった場合にはS112で、識別して判明した全プロセス101をリソース再割当ての候補として、これらのプロセスのいずれかを他の計算機100に移行させるよう、資源割当部6に通知する。
図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時間をもとに処理のタイミングを実際に求め、デッドラインミスが発生せずにスケジューリングできるかどうかを分析する方法が考えられる。
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にて作成したテーブルに示される他のプロセスの割当処理を行わずに終了してもよい。
S129において、S127で選択した計算機100がプロセス101を処理するとデッドラインミスを発生させると判断した場合には、S126に戻り、次に負荷の大きい計算機を選択してS127以降を行う。
またS131で、S127で選択した計算機がS124で選択したプロセスを処理するために必要な空きメモリ量を持たない場合には、S126に戻り、テーブルの次のエントリにある計算機について、S127以降を実行する。S126において、全ての計算機についてS127を実行し、かつ割当先が見つからなかった場合には、そのプロセスのリソース割当を断念してS135に進み、S124で選んだプロセスを停止し、S136で、S122にて作成したテーブルから停止させたプロセス名を削除する。
なお、ここで示した再割当の方法はあくまで一例であり、S124〜S136の動作を応用した例は多数考えられるが、その他の例はここでは割愛する。
図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時間などに関する情報を新しいものに書き換える。
即ち本実施の形態は、複数台の計算機がネットワークに接続され、各計算機上で複数のプロセスが連携または独立して動作し、各プロセスは一定の時間周期で処理を行い、制限時間内に処理を完了することが求められているような分散リアルタイムシステムにおいて、プロセスの処理時間を監視する処理時間監視手段と計算機のリソース使用状況を監視する計算機負荷監視手段とを持ち、各プロセスの処理時間に応じてプロセスに与えるリソースを変更することによってプロセスのデッドラインミスの発生継続を防止するシステムであって、以下の構成を付加することにより十分な空きリソースを持つ他計算機へのプロセスマイグレーションを可能とし、プロセスマイグレーション後における全プロセスのデッドラインミスの再発防止を可能とすることを特徴とする計算機リソース動的制御方式を示している。そして、
11)システムを構成するプロセス一覧、各プロセスの平均処理時間、消費メモリ量、CPU時間、各プロセスの1回あたりの処理における制限時間、システムを構成する計算機一覧、計算機が搭載するメモリ量を保持するシステム構成情報管理テーブル。
12)システム上で動作する全プロセスの処理時間、CPU時間の変動の履歴を保持するとともに、プロセスのデッドラインミスの発生を検出する処理時間収集手段。
13)システム上で動作する全計算機のリソースの使用状況の履歴を保持し、過去の計算機リソースの使用状況を他の手段に通知するとともに、リソース不足の発生を検出する計算機負荷収集手段。
14)デッドラインミス、CPUリソース不足、デッドラインミスなどの障害が発生した場合に、リアルタイム処理を継続するためにリソースの再割り当てを行うプロセスを決定する移行プロセス決定手段。
15)移行プロセス決定手段が決定したプロセスに対して、システム構成情報管理テーブルより必要なリソース量を取得し、必要な空きリソースを持つ計算機上にプロセスマイグレーションを行う資源割付手段、を備えた。
言い換えると、本実施の形態の計算機リソース動的制御装置は、対象となるプロセスを処理する計算機を複数台接続して、複数の上記プロセスを連携処理するシステム、に接続して、
各上記計算機のリソースの使用状態を監視して計算機のこのリソースの使用状態情報を収集し、このリソースの不足を検出する計算機負荷量収集部と、
上記プロセスの処理時間を監視してプロセスの処理時間を収集し、プロセスの処理限界時間を規定したデッドライン時間を超す処理となるデッドラインミスの発生を検出する処理時間収集部と、
システムで処理される上記プロセスの処理時間とこのプロセスの処理で使用する計算機のリソースの使用量とデッドライン時間とをプロセスの識別子と共に記憶し、システムに接続される上記計算機の所有リソース量を計算機の識別子と共に記憶するシステム構成情報テーブル・メモリと、
上記デッドラインミスの発生の通知により上記システム構成情報テーブル・メモリを参照して上記プロセスの処理を現行の計算機とは異なる計算機に再割当を勧告する移行プロセス決定部と、
上記再割当の勧告通知を受けて上記システム構成情報テーブル・メモリの上記プロセスの処理時間と上記計算機の所有リソース量とを参照して上記プロセスの処理時間が上記デッドライン時間内となるようプロセスと候補計算機とを抽出し、この抽出したプロセスをこの抽出した候補計算機に割当て実行させると同時に上記システム構成情報テーブル・メモリを更新する資源割当部と、を備えた。
このように、プロセスのデッドラインミスを検出し、規定回数以上デッドラインミスが発生したプロセス101の処理を他の負荷の軽い計算機100に割り付けるか、デッドラインミスが発生した原因となるプロセスを計算機リソースに余裕のある他の計算機に割当ることにより、デッドラインミスの継続を防ぐことが可能となる。
また、原因が計算機故障の場合には、故障した計算機上で動作していた全てのプロセスを他の計算機に再割当することにより、処理の継続が可能となる。
実施の形態2.
実施の形態1では、計算機がプロセスを処理する実績に基づいてデッドラインミスが生じたプロセスを負荷の軽い計算機に移す場合を説明したが、本実施の形態では学習により将来の予測をしてデッドラインミスが発生しそうであると、プロセスを他の計算機に移して、更にデッドラインミスの発生確率を減らす装置、システムを説明する。
図26は、本実施の形態における計算機リソース動的制御システムの構成の例を示す図である。本実施の形態における計算機リソース動的制御システムは、実施の形態1における構成のほか、デッドラインミス発生時刻予測部21、計算機負荷予測部22、CPU時間予測部23、メモリ使用量予測部24を備えている。その他の構成要素の、処理時間監視部1、計算機負荷監視部4、システム構成情報管理テーブル・メモリ7ないし計算機状態テーブル・メモリ10の機能と動作は、実施の形態1と同一であり、説明を省略する。
同様に図27は、本実施の形態における計算機リソース動的制御装置100bの構成を示す図である。即ち図26に示す分散配置でシステムとして動的制御することに代えて、特定の計算機が全ての構成要素を備えて、制御装置となってもよい。
また、処理時間収集部がデッドラインミス発生時刻予測部21を含んで、処理時間収集・予測部2bとなる構成とし、計算機負荷量収集部が計算機負荷予測部22を含んで、計算機負荷量収集・予測部5bとなる構成としてもよい。
以下、本実施の形態における移行プロセス決定部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と異なる。
図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ミリ秒にデッドラインミスが発生する」との予告を通知することになる。
図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つの場合は、全てのプロセスに対して近似式を求めることになる。
図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ミリ秒と回答することになる。
図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つでもよいが、全ての計算機について近似式を求めることになる。
図32は、本実施の形態におけるデッドラインミス発生時刻予測部21の動作フローの一例を示す図である。図28の機能説明図も参照しながら動作を説明する。デッドラインミス発生時刻予測部21は、S21にて、処理時間履歴テーブル・メモリ8の全エントリを参照し、各エントリにおける開始時刻と処理時間を求める。処理時間とは、処理終了時刻から処理開始時刻を引いたものである。そしてS22にて、統計学の手法により処理開始時刻と処理時間の関係を近似式にて表す。近似式の求め方としては、例えば最小二乗法などが考えられる。また近似式の次数に関しては、あらかじめ決めておいてもよいし、次数の上限を決めた上で次数を1次から徐々に上げていき、正確に近似した式を求めるという方法も考えられる。そして求めた式を用いて、S23にて、デッドラインミス発生時刻を求める。求め方は、例えば、S22にて求めた式がy=a+an−1n−1+…+ax+b(y:処理時間、x:時刻)であった場合、yの値にデッドライン時間の値を代入したときのxの値により求めることができる。
そしてS24にて、デッドラインミスが将来発生するかどうかを求める。デッドラインミスが将来発生するかどうかは、例えばS23にて求めた時刻が現在時刻より前か後かによって判断することができる。デッドラインミスが将来発生すると判断した場合には、S25において、処理時間収集・予測部経由で、または直接で移行プロセス決定部3bに、デッドラインミス発生が予想されるプロセスの名前を通知する。この動作は、プロセスの処理とは同期せずに行ってもよいし、プロセスの処理が終わるたびに行ってもよい。
図33は、本実施の形態における計算機負荷予測部22の動作フローの一例を示した図である。図29の機能説明図も参照しながら動作を説明する。S201にて、計算機負荷履歴テーブル・メモリ9の全エントリを参照し、各エントリの負荷取得時刻とそのときの計算機負荷を求める。そしてS202にて、統計学の手法により、計算機負荷と負荷取得時刻の関係を近似式にて表す。近似式の求め方としては、デッドラインミス発生時刻予測手段と同様、例えば最小二乗法などが考えられる。また、近似式の次数に関しては、デッドラインミス発生時刻予測手段と同様にあらかじめ決めておいてもよいし、次数の上限を決めた上で徐々に上げて、最もデータの変動に近い式を近似式とする、という方法でもよい。
S203にて、S202で求めた式からCPU使用率が100%ないし決められた上限値になる時刻を求める。そしてCPU使用率が上限に達すると予測されると、S205にて、CPU使用率が上限に達する時刻と、その計算機名を通知する。なお、S201〜S205の処理は、計算機負荷量収集部5からの計算機負荷情報の通知に同期して行ってもよいし、非同期に行ってもよい。
図34は、本実施の形態におけるCPU時間予測部23の動作フローの一例を示した図である。図30の機能説明図も参照しながら動作を説明する。S211にて、処理時間履歴テーブル・メモリの全エントリを参照し、各エントリにおける処理開始時刻とCPU時間を取得する。そしてS212にて、統計学の手法により、CPU時間取得時刻とCPU時間の関係を近似式で表す。近似式の求め方は、上記の最小二乗法などが考えられる。その近似式の次数に関しても上記と同様に処理する。この動作は、プロセスの処理と同期、非同期いずれで行ってもよい。
図35は、本実施の形態におけるメモリ使用量予測部24の動作フローの一例を示す図である。S221にて、計算機負荷履歴テーブル・メモリ9の全エントリを参照し、各エントリにおける負荷取得時刻とそのときのメモリ使用量を求める。そしてS222にて、負荷取得時刻とメモリ使用量の関係を、上記の近似式で表したと同様な方法で表す。この処理も、計算機負荷量収集部5への通知に同期して、または非同期で行ってよい。そしてS223にて、メモリ不足が発生する時刻を求める。例えば、S222にて求めた式がy=a+an−1n−1+・・・+ax+b(y:メモリ使用量、x:時刻)であった場合には、yに例えば計算機搭載メモリ量またはユーザが決定した上限メモリ量を代入した場合のxの値を求めればよい。求めた時刻が現在時刻よりも後であった場合には、メモリ不足が発生させると予測され、S225において、メモリ不足が発生する時刻と、その計算機名を移行プロセス決定部3bに通知する。
図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に通知する。
図37は、本実施の形態における移行プロセス決定部3bの他の動作フロー、即ちメモリ使用量予測部24または計算機負荷予測部22から、それぞれの予測通知が届いた場合の動作フローの一例を示した図である。
S241にて、メモリ使用量予測部24または計算機負荷予測部22よりデッドラインミス発生の予測通知が届くと、S242で、システム構成情報管理テーブル・メモリ7を参照して、メモリ不足が発生する計算機100上で動作するプロセス101名を取得し、S242で見つけたプロセスをリソース再割当の候補とし、資源割付部6bにこれらのプロセスを通知する。
なお、処理時間収集・予測部2b、計算機負荷量収集部5から通知を受け取った場合の移行プロセス決定部3bの動作は実施の形態1と同一である。
図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を占有するかを実際に調査することによってデッドラインミスが発生せずにスケジューリングできるかどうかを分析する方法が考えられる。
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の処理を行う。
なお、移行プロセス決定部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の動作を応用した例は多数考えられるが、その他の例はここでは割愛する。
図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の手順でリソースの割当を行う。
計算機の故障でなければ、S275にて、移行プロセス決定部3bによりデッドラインミス発生の原因と考えられるプロセス、または、リソース不足発生の原因と考えられるプロセスを見つけ出し、S276にて資源割当部6bがS251〜S265の手順でリソース割当を行う。リソース割当終了後S277にて、資源割当部6bは、システム構成情報管理テーブル・メモリ7の、新規にリソース割当を行ったプロセスの識別子と、そのプロセスが動作する割当先計算機100に関する情報などを書き換える。
即ち本実施の形態は、複数台の計算機がネットワークに接続され、各計算機上で複数のプロセスが連携または独立して動作し、各プロセスは一定の時間周期で処理を行い、制限時間内に処理を完了することが求められているような分散リアルタイムシステムにおいて、プロセスの処理時間を監視する処理時間監視手段と計算機のリソース使用状況を監視する計算機負荷監視手段とを持ち、各プロセスの処理時間に応じてプロセスに与えるリソースを変更することによってプロセスのデッドラインミスの発生を防止するシステムであって、以下の構成を付加することにより、デッドラインミスが発生する前に空きリソースを持つ他計算機へのプロセスマイグレーションを行い、デッドラインミス発生を予防することを特徴とする計算機リソース動的制御方式を示している。即ち、
21)各プロセスの平均処理時間、消費メモリ量、CPU時間、各プロセスの1回あたりの処理における制限時間、システムを構成する計算機一覧を保持するシステム構成情報管理テーブル。
22)システム上で動作する各プロセスの処理時間、CPU時間の変動の履歴を保持するとともに、プロセスのデッドラインミスの発生を検出する処理時間収集手段。
23)各プロセスの処理時間の変動の履歴より、プロセスの処理時間の変動を学習し、将来のデッドラインミスの発生および発生時刻を予測する処理時間予測手段。
24)システム上で動作する全計算機のリソースの使用状況の履歴を保持し、過去の計算機リソースの使用状況を他の手段に通知するとともに、リソース不足の発生を検出する計算機負荷収集手段。
25)計算機のメモリ使用状況の変動をもとに、メモリの使用状況の将来の変動を学習し、将来のメモリ不足の発生を検出するとともに、プロセスのデッドラインミス発生予想時刻やCPUリソース不足発生時刻におけるメモリ使用状況を通知するメモリ使用量予測手段。
26)計算機のCPU使用状況の変動より、CPU使用状況の将来の変動を学習し、将来のCPUリソース不足の発生を検出するとともに、メモリ不足が発生する時刻、デッドラインミス発生予想時刻におけるCPU使用状況を通知するCPU使用率予測手段。
27)デッドラインミス、CPUリソース不足、メモリリソース不足などの障害が発生した場合に、リソースの再割り当てを行うべきプロセスを決定する移行プロセス決定手段。
28)システム構成情報管理テーブルより移行プロセス手段が決定したプロセスが必要なリソース量を取得し、必要な空きリソースを持つ計算機上にプロセスマイグレーションする資源割付手段、を備えた。
言い換えると、本実施の形態における計算機リソース動的制御装置は、計算機のプロセッサ使用状況の変動を基に、該プロセッサの使用時間を予測し、現プロセッサによるデッドラインミスの発生時刻を予測する計算機時間予測部と、
計算機のメモリ使用状況の変動を基に、該メモリの必要量を予測するメモリ使用量予測部と、を備え、
計算機負荷量収集部は、計算機リソースの使用状態情報の収集に加えて、リソースと計算機能力との必要量を予測する計算機負荷量収集・予測部を有し、
処理時間収集部は、プロセスの処理時間の収集に加えて、現計算機によるデッドラインミスの発生時刻を予測する処理時間収集・予測部を有し、
移行プロセス決定部は、上記リソースと計算機能力の必要量予測または上記デッドラインミスの発生予測の通知を受けると、該予測に基づいてプロセスの再割当を勧告し、
資源割当部は、上記デッドラインミスの発生時刻の予測と上記メモリの必要量の予測とに基づいて、上記勧告されて抽出したプロセスを抽出した候補計算機に割当て実行させることを特徴とする。
このように、実施の形態1に加え、デッドラインミスの発生をプロセスの処理時間の変動などから学習することによって予測し、デッドラインミス発生を予測してリソース再割当てを行えるようにすることにより、システムのソフトリアルタイム処理だけでなく、ハードリアルタイム処理も実現することができる。また、デッドラインミス発生時のCPU負荷、メモリ使用量も予測してリソース割当を行うことによって、よりデッドラインミスの発生しにくい計算機100にリソース割当を行うことができ、リソース再割当完了後のデッドラインミス再発を高い確率で防止することができる。
実施の形態3.
デッドラインミスが発生すると予測される場合に、より早くプロセスを他の計算機に移行させて、デッドラインミスの発生を確実に抑える構成と動作を説明する。
本実施の形態における計算機リソース動的制御システムまたは装置の構成は、実施の形態2と同一である。また実施の形態3における処理時間監視部1、処理時間収集・予測部2b、計算機負荷監視部4、計算機負荷量収集部5、処理時間履歴テーブル・メモリ8、計算機負荷履歴テーブル・メモリ9、計算機状態テーブル・メモリ10、CPU時間予測部23の機能と動作は、実施の形態2と同一である。
本実施の形態におけるシステム構成情報管理テーブル・メモリ7cのデータ構成の例を図40に示す。本実施の形態のシステム構成情報管理テーブル・メモリ7cでは、実施の形態2におけるシステム構成情報管理テーブル・メモリ7に示す情報のほか、リソース動的制御システムに関する情報として、「再割付所要時間」、ソフトウェアに関する情報として、「プロセス起動所要時間」を保持する。再割付所要時間とは、デッドラインミス発生、デッドラインミス予測、メモリ不足予測、計算機故障などの通知が移行プロセス決定部3cに届いてから、資源割当部6cが資源の再割当を完了するまでに要する時間を保持するものである。この時間は過去の最悪値としてもよいし、割付完了時間に大きな変動がなければ過去の平均値などでもよい。プロセス起動所要時間とは、動的制御システムがプロセス101を起動してから、プロセスが処理を開始するまでの時間である。この時間は、例えばプロセスをメモリにロードするまでの時間や、プロセス固有の初期化処理が含まれる。
本実施の形態におけるデッドラインミス発生時刻予測部21cの動作フローを図41に示す。S31においてはS21〜S24を実行する。このときS24にてデッドラインミスが将来発生すると判断した場合には、S32にて現在時刻を取得し、デッドラインミス発生時刻までの残り時間を求める。そしてS33にて、リソース再割当てに要する時間とプロセス起動に要する時間と、プロセス1回あたりの処理周期時間の和を求める。S34にて、S32で求めた時間とS33で求めた時間を比較し、S32の時間が短い場合、つまり、デッドラインミス発生までの残り時間が、対処に要する時間とプロセス起動所要時間と処理周期の時間の和よりも短い場合には、S35にて移行プロセス決定部3cに、デッドラインミスの発生が予想されるプロセスの名前と現在時刻を通知する。S34にて、S32の時間のほうが短い、つまりS34以降でただちにリソース再割当を開始した場合にデッドラインミスが発生する時刻の1周期よりも前の時刻にリソース再割当が完了すると推定できる場合には、リソース再割当は行わずにプロセスの処理時間の監視を続ける。
なおS31〜S35の処理は、プロセスの処理が終了に同期して行ってもよいし、プロセスの処理とは非同期に行ってもよい。また、本例ではデッドラインミスが発生する1周期前にリソース割付が完了するか否かでリソース割付を開始するかどうかを判断しているが、必ずしも1周期である必要はなく、ユーザによって任意に決定してよい。
本実施の形態におけるメモリ使用量予測部24cの動作フローを図42に示す。
S301では、S221〜S224を実行する。そしてS224にてメモリ不足が将来発生すると判断した場合には、S302にて現在時刻を取得し、メモリ不足が発生するまでの残り時間を求める。そしてS303にてリソース再割当てに要する時間とプロセス起動に要する時間とプロセスの処理周期時間の和を求める。S304にて、S302で求めた時間とS303で求めた時間を比較し、S302で求めた時間のほうが短い、つまりメモリ不足発生までの残り時間が、リソース再割り当てに要する時間とプロセス起動所要時間と処理周期時間の時間の和より短い場合には、S305にて、メモリ不足が発生する時刻とその計算機、現在時刻を移行プロセス決定部3cに通知する。なおS304にて、S302で求めた時間のほうが短い、つまり、ただちにリソース再割当を行った場合にメモリ不足が発生する時刻の1周期よりも前にリソース再割付が終了する場合、メモリ使用量の監視を継続する。なおデッドラインミスが発生する1周期前にリソース割付が完了するか否かでリソース割付を開始するかどうかを判断しているが、必ずしも1周期である必要はなく、ユーザによって任意に決定してよい。
本実施の形態における計算機負荷予測部22cの動作フローを図43に示す。
S311では、S201〜S204を実行する。そしてS204にて、CPU使用率がある上限値以上になると判断した場合には、S312にて、現在時刻を取得し、CPU使用率が上限値になるまでの残り時間を求める。そしてS313にて、リソース再割当てに要する時間とプロセス起動に要する時間とプロセスの処理周期時間の和を求める。S314にて、S312で求めた時間とS313で求めた時間を比較し、S312で求めた時間、つまりCPU使用率が上限値になるまでの残り時間が、リソース再割当てに要する時間とプロセス起動所要時間と周期処理のインターバル時間より短い場合には、S315にて、CPUが上限値になる時刻とその計算機、現在時刻を移行プロセス決定部3cに通知する。なお、S314にて、S312の時間のほうが短い、つまり現在時刻でリソース再割当を行っても、CPUリソース不足が発生する時刻の1周期以上前にリソース再割当が終了する場合には何もせず、CPU使用率の監視を継続する。
本実施の形態における、デッドラインミス発生時刻予測部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にて受信した時刻を通知する。
本実施の形態における、資源割当部6cの動作フローを図46に示す。
S341にて、移行プロセス決定部3cから、リソース割当対象、割当候補となるプロセス一覧と、デッドラインミス発生時刻予測部21c、計算機負荷予測部22c、メモリ使用量予測部24cが取得した時刻を受信する。S342では、S252〜S263を実行する。そして253において、S252のテーブルが空か、もしくは対処する必要がないと判断した場合にS343に進み、現在時刻を取得する。そしてS344にて、S343にて得た時刻からS341で受信した時刻を引くことにより、リソース割当に要した時間を求める。そしてS345にて、システム構成情報管理テーブル・メモリ7cに登録されている、リソース割当所要時間を取得する。そしてS344で求めた、今回リソース割当に要した時間と、システム構成情報テーブル・メモリ7cに登録されていたリソース割当時間を取得し、今回リソース割当に要した時間のほうが長くかかっていればS347に進み、システム構成情報管理テーブル・メモリ7cの、リソース割付所要時間の値を、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の、新規にリソース割当を行ったプロセスの識別子と、そのプロセスが動作する割当先計算機に関する情報などを書き換える。
このように、システム構成情報管理テーブル・メモリ7cがリソース割付に要する時間の最悪値を保持し、デッドラインミス、メモリ不足、CPUリソース不足の発生予測時間よりリソース割り付けに要する時間とプロセス起動する時間と周期処理時間の和だけ前にリソース割付を開始することにより、少なくともデッドラインミス発生の1周期前までにリソース再割り当てが終了し、プロセスのハードリアルタイム処理を継続することができる。
即ち本実施の形態は、先の実施の形態における計算機リソース動的制御システムに加えて、以下の特徴がある要素を加えることにより、デッドラインミス発生直前までにプロセスマイグレーションを完了することを特徴とする計算機リソース動的制御方式を示している。即ち、
31)先の実施の形態におけるシステム構成情報管理テーブルに加え、各プロセスにおける、デッドラインミスの発生、デッドラインミスの発生予測、メモリ不足、メモリ不足の予測、計算機故障を検出してからプロセスマイグレーションを完了するまでの時間と、プロセスマイグレーションを完了してからプロセスが処理を開始するまでの時間を保持するシステム構成情報管理テーブル。
32)先の実施の形態における処理時間予測手段において、各プロセスの処理時間の変動の履歴より、プロセスの処理時間の変動を学習し、将来のデッドラインミスの発生および発生時刻を予測し、プロセスマイグレーションを完了してプロセスが処理を開始するまでに要する時間だけ前に移行プロセス決定手段にデッドラインミスの発生予測を通知する機能を持つ処理時間予測手段。
33)先の実施の形態におけるメモリ使用量予測手段において、各計算機のメモリ使用量の変動をもとにメモリ使用状況の将来の変動を予測することによりデッドラインミス発生時刻やCPUリソース不足が発生する時刻におけるメモリ使用量を通知するとともに、メモリ不足が発生する時刻を予測し、プロセスマイグレーションを完了してプロセスが処理を開始するまでに必要な時間だけ前に移行プロセス決定手段にメモリ不足の発生予測を通知する機能を持つメモリ使用量予測手段。
34)先の実施の形態におけるCPU使用率予測手段において、各計算機のCPU使用量の変動をもとに、CPU使用量の将来の変動を予測することによりデッドラインミス発生時刻やメモリ不足が発生する時刻におけるCPU使用量を通知するとともに、CPUリソース不足が発生する時刻を予測し、プロセスマイグレーションが完了してプロセスが処理を開始するまでに必要な時間だけ前に移行プロセス決定手段にCPUリソース不足の発生予測を通知する機能を持つCPU使用率予測手段、を備える。
言い換えると、本実施の形態における計算機リソース動的制御装置は、先の実施の形態の装置に加えて、システム構成情報テーブル・メモリは、プロセスを候補計算機に再割当する再割当所要時間と該候補計算機でプロセスを起動するプロセス起動所要時間とを記憶し、
資源割当部は、上記再割当所要時間とプロセス起動所要時間との和の時間より前に抽出したプロセスを抽出した候補計算機に割当て実行させることを特徴とする。
また、実施の形態2と比べ、デッドラインミス発生直前までアプリケーションの処理時間、メモリ使用量、CPU使用率の変化の振る舞いを調べることができ、より正確なシステムの振る舞いをもとにリソース割付を行うことができる。その結果、直前に振る舞いが変わり、デッドラインミス、メモリ不足、CPUリソース不足が発生しないことがわかった場合には、実施の形態2と比べ、リソース割付に伴って加わる処理オーバーヘッドを削減することができる。また、システム構成情報テーブルに、リソース割付時間の最悪値を保持、絶えず更新し、その最悪値の時間だけ先立ってリソース割付を開始することにより、デッドラインミス発生前にリソース割付処理が完了する可能性が高くなる。
実施の形態4.
本実施の形態においては、リソースが不足すると、重要度が高いプロセスを優先して処理する構成と動作を説明する。
本実施の形態における計算機リソース動的制御装置または計算機リソース動的制御システムの構成要素は、実施の形態1と同一である。即ち処理時間監視部1、処理時間収集・予測部2b、移行プロセス決定部3、計算機負荷監視部4、計算機負荷量収集部5、処理時間履歴テーブル・メモリ8、計算機負荷履歴テーブル・メモリ9、計算機状態テーブル・メモリ10の構成は、実施の形態1と同一である。
本実施の形態におけるシステム構成情報管理テーブル・メモリ7dの構成を図48に示す。本実施の形態のシステム構成情報管理テーブル・メモリ7dは、実施の形態1におけるシステム構成情報管理テーブル・メモリ7に示す情報のほか、各プロセスの「重要度」を保持する。ここで重要度とは、システムを構成する全プロセスを動作させるだけの計算機リソースがなくなった場合に空きリソースを作り出すためにプロセスを停止させる際、プロセスを停止させる順序を示すものである。すなわち、重要度に示す順序に応じてプロセスを停止させることにより、重要度の高いプロセスほどリソースが足りなくなっても動作し、重要度の低いプロセスはシステム全体の計算機リソースが足りなくなった場合には停止する。
本実施の形態における資源割当部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で、システム構成情報管理テーブルの、割当た計算機とプロセス、現在のプロセスの処理時間を書き換える。
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以降の処理を繰り返し行う。
図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時間などに関する情報を書き換える。
即ち本実施の形態は、実施の形態1の計算機リソース動的制御システムに、以下の特徴を加えることにより、全てのプロセスが動作するだけのリソースがシステムに存在しない場合に、重要な処理を優先してリアルタイム処理を継続することを可能とする計算機リソース動的制御方式を示している。即ち、
41)実施の形態1のシステム構成テーブルに加え、全てのプロセスを動作させるだけのシステムリソースが足りなくなった場合に優先動作させるプロセスの順位を保持するシステム構成情報管理テーブル。
42)実施の形態1の資源割付手段において、移行プロセス決定手段が決定したプロセスが動作できるための空きリソースが無い場合に、システム構成情報管理テーブルが持つプロセスの動作順位をもとに、順位の低いプロセスを停止させることにより計算機に空きリソースを作成し、その計算機上にプロセスマイグレーションを行う資源割付手段、を備える。
言い換えると、本実施の形態における計算機リソース動的制御装置は実施の形態1の装置に加えて、システム構成情報テーブル・メモリは、プロセスの処理優先順位を記憶し、
資源割当部は、現在の計算機ではデッドラインミスの発生が予測されると、上記システム構成情報テーブル・メモリを参照して、プロセスの処理優先順位が高いプロセスを候補計算機に割当て実行させることを特徴とする。
このように、システム内で独立した複数の処理が動作している場合に、計算機故障などにより全てのプロセス101を動作させるだけのシステムリソースがなくなってしまった場合においても、プロセスに重要度を与え、重要性の低い処理は停止させることによってシステムリソースに空きを作り出し、重要度のより高い処理を優先させて動作継続させることが可能になる。
実施の形態5.
本実施の形態においては、各計算機100の性能にばらつきがある場合に、その性能差を考慮して割当を行える装置、システムを説明する。
本実施の形態における動的リソース制御装置またはシステムの構成要素は、実施の形態1と同一である。本実施の形態における、即ち処理時間監視部1、処理時間収集・予測部2b、移行プロセス決定部3、計算機負荷監視部4、計算機負荷量収集部5、処理時間履歴テーブル・メモリ8ないし計算機状態テーブル・メモリ10の構成は、実施の形態1と同一である。
本実施の形態におけるシステム構成情報管理テーブル・メモリ7eが持つ情報の例を図51に示す。システム構成情報管理テーブル・メモリ7eには、実施の形態1におけるシステム構成情報管理テーブル・メモリ7に示す情報のほか、プロセス101としてのアプリケーションごとに「動作可能計算機名」、計算機100ごとに「性能値」が示されている。性能値としては、例えばSPECIntのような、計算機の性能値を示すベンチマークプログラムのデータが示されることが考えられる。
本実施の形態における資源割当部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で選択した計算機上でデッドラインミスを発生させることなく動作できるかどうかを確認する。
動作可能であった場合には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以降の処理を行う。
本実施の形態における、各構成要素が連携して行う動的リソース制御装置、またはシステム全体の動作フローの例を図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時間などに関する情報を書き換える。
即ち本実施の形態は、実施の形態1の計算機リソース動的制御システムに、以下の特徴を加えることにより、システムを構成する計算機の性能が不均一な場合においてもデッドラインミスを発生させない計算機へのプロセスマイグレーションを可能とすることを特徴とする計算機リソース動的制御方式を示している。即ち、
51)実施の形態1のシステム構成情報管理テーブルに加え、各プロセスが動作可能な計算機の一覧と、各計算機の性能を示す値を保持するシステム構成情報管理テーブル。
52)実施の形態1の資源割付手段において、移行プロセス決定手段が決定したプロセスが動作可能な計算機をプロセスマイグレーション先となる計算機候補とし、システム構成情報管理テーブルが持つ計算機の性能値を用いて、この計算機候補にプロセスを移行した場合にプロセスが必要とする計算機リソースを算出することにより、十分な空きリソースを持つ計算機にプロセスマイグレーションを行う資源割付手段、を備える。
言い換えれば、本実施の形態における計算機リソース動的制御装置は、システム構成情報テーブル・メモリは、対象プロセスを処理可能な動作可能計算機の識別子と計算機の性能値とを記憶し、
資源割当部は、再割当の勧告通知を受けると、上記システム構成情報テーブル・メモリを参照して、上記動作可能計算機の識別子と計算機の性能値とを調べてプロセスを候補計算機に割当て実行させることを特徴とする。
このように、システム構成情報管理テーブル・メモリ7eが、各プロセス101が動作可能な計算機名、および、計算機の性能値を示すことにより、システム内の計算機のOSやCPUアーキテクチャ、性能値がそれぞれ異なる場合においても、動作可能な計算機を正しく判別し、CPU時間などを正しく補正し、デッドラインミスが発生しない計算機への割付が可能となる。
実施の形態6.
デッドラインミス発生予測時間が迫っていても、短時間の内に該当するプロセスを処理する計算機の移行を行って、デッドラインミスの発生を防止する構成と動作を説明する。具体的には、そうしたプロセスを移行すべき計算機を想定して起動をかけておき、待機させる。
本実施の形態におけるリソース動的制御システムの構成を図54に示す。また一つの装置としてまとめた場合の計算機リソース動的制御装置100cの構成を図55に示す。本実施の形態における動的リソース制御システムまたは装置における構成要素は、実施の形態3の構成に加え、レプリカ管理部25をもつ。
その他の本実施の形態における処理時間監視部1、処理時間収集部2(または処理時間収集・予測部2b)、移行プロセス決定部3、計算機負荷監視部4、計算機負荷量収集部5(または計算機負荷量収集・予測部5b)、資源割当部6、システム構成情報管理テーブル・メモリ7、処理時間履歴テーブル・メモリ8ないし計算機状態テーブル・メモリ10、デッドラインミス発生時刻予測部21、計算機負荷予測部22、CPU時間予測部23、メモリ使用量予測部24の構成は実施の形態3と同一である。
ここで、プロセスのレプリカとは、移行した方が良いと予想されるプロセスを新たに処理する計算機上で起動をかけて待機している、移行を前提としてコピーしたプロセスのことである。従って既に起動はしているが、移行が決まって処理すべきデータは未だ届かないなどの理由により処理待ちになっているプロセスである。また、レプリカは、メモリ資源は使用するものの、CPUリソースは使用しない、つまりレプリカのCPU時間は0であるとする。
本実施の形態におけるレプリカ管理部25は、計算機負荷量収集部5が持つデータを参照し、十分に空きメモリがある計算機100上でレプリカを起動する。そしてデッドラインミスなどが発生すると予測される場合において、資源割当部6がプロセスに資源再割当を行う際に、どの計算機100でプロセスのレプリカが動作しているのかを資源割当部6に通知する役割を持つ。また、レプリカが動作する計算機上でメモリ不足発生が予測される場合には、プロセスのレプリカを停止させる役割を持つ。
本実施の形態におけるレプリカ管理部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で停止させた全レプリカについて実行する。
本実施の形態におけるメモリ使用量予測部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に、デッドラインミスが発生するプロセスと現在時刻を通知する。
本実施の形態における資源割当部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と同一の手順で動作を行うことになる。
本実施の形態における動的リソース制御システムまたは装置の全体の動作フローを図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の、新規にリソース割当を行ったプロセスの識別子と、そのプロセスが動作する割当先計算機に関する情報などを書き換える。
即ち本実施の形態の計算機リソース動的制御システムは、実施の形態3の計算機リソース動的制御システム式に、以下の特徴を加えることにより、デッドラインミス発生までの残り時間が短い場合においてもデッドラインミスの発生を防止させることを特徴とする計算機リソース動的制御方式を示す。即ち、
61)計算機負荷収集手段が持つデータを参照し、十分に空きリソース量がある計算機にプロセスのコピーをあらかじめ起動しておき、プロセスマイグレーションを行うプロセスのコピーが動作する計算機を資源割付手段に通知するレプリカ管理手段。
62)実施の形態3の資源割付手段において、移行プロセス決定手段が決定したプロセスのコピーが動作している計算機をプロセスマイグレーション先となる計算機候補とし、計算機候補の中で十分な空きCPUリソースを持つ計算機にプロセスマイグレーションを行う資源割付手段、を備える。
言い換えれば、本実施の形態における計算機リソース動的制御装置は実施の形態3の装置に加えて、選択した計算機に所定のプロセスの処理起動をかけて、及びプロセスの処理終了をさせて、これらの状態を管理するレプリカ管理部を備えて、
資源割当部は、再割当の勧告通知を受けると、上記選択した計算機に上記レプリカ管理部で起動をかけていて動作可能であれば、該動作可能な計算機に上記プロセスの割当を実行させることを特徴とする。
このように、レプリカ管理部25によって各プロセスに対して予めそのプロセスのレプリカを起動し、待機させておくことにより、リソース再割当を開始してから実際にプロセスの処理を開始するまでの所要時間を短縮することができ、デッドラインミス発生やメモリ不足発生までの残り時間が短い場合においても短時間で移行処理を完了し、システムのハードリアルタイム処理を継続することが可能になる。
実施の形態7.
プロセスがパイプライン処理の一部を構成している場合は、パイプライン処理のステージの前後における処理に影響があるので、制約が加わる。こうした場合におけるデッドラインミスの発生は影響が広範囲になるので、適切な原因除去が必要である。本実施の形態においては、こうしたパイプライン処理における移行を説明する。
本実施の形態において、計算機リソース動的制御システムが適用対象とするプロセスの処理形態の一例を図61に示す。図に示すように、1つの入力に対して複数のプロセスが連なって(以下パイプライン処理と呼ぶ)、各プロセスが順々に処理を行うことにより1回の周期処理が完了するものとする。また、この独立したパイプライン処理が複数個存在することにより、システムが構成されるものとする。パイプライン処理を構成する各プロセス101は、同一計算機100上で動作する場合もあれば、それぞれ異なる計算機で動作する場合もある。なお、実施の形態1から実施の形態6で適用対象としているプロセスのように、単一のプロセスで処理が完結する場合は、本実施の形態ではパイプラインの長さ1のパイプライン処理を行っている。
本実施の形態におけるリソース動的制御システムの構成は実施の形態5と同じである。
本実施の形態における処理時間監視部1、計算機負荷監視部4、計算機負荷量収集部5、資源割当部6、処理時間履歴テーブル・メモリ8、計算機負荷履歴テーブル・メモリ9、計算機状態テーブル・メモリ10の役割、構成は実施の形態1と同一であり、詳細説明を省略する。
本実施の形態におけるシステム構成情報管理テーブル・メモリ7gのデータ構成の例を図62に示す。本実施の形態におけるシステム構成情報管理テーブル・メモリ7gは、実施の形態1に示す情報のほか、「パイプライン処理に関する情報」として、「パイプライン処理名」、「パイプライン処理を構成するプロセス」、「パイプライン処理のデッドライン」、「パイプライン処理の周期」が示される。例えば図62では、パイプライン1というパイプライン処理を構成するプロセス群があり、パイプライン処理は、プロセスA、プロセスB、プロセスCが順にデータを送信して処理を行うことによって実現し、プロセスAからプロセスCまでの処理を1秒以内に完了し、プロセスAが処理を開始してから、次に処理を開始するまでの時間が200ミリ秒であることを示している。
本実施の形態における処理時間収集部2は、実施の形態1に示す役割のほか、パイプライン処理の先頭の処理を行うプロセスの処理開始時刻、およびパイプライン処理の最後の処理を行うプロセスの処理終了時刻から1回のパイプライン処理に要する時間を求める役割を持つ。また、処理時間履歴テーブル・メモリ8に保有している全プロセスの処理時間の履歴を参照し、システムを構成するパイプライン処理が何回デッドラインミスを発生させているかを調査する。そして、許容可能な回数以上デッドラインミスが発生していた場合には、移行プロセス決定部3に、パイプライン処理において、デッドラインミスが規定回数以上発生している旨を通知する役割を持つ。パイプライン処理のデッドラインミスの回数は、パイプライン処理の先頭の処理を行うプロセスの処理開始時刻とパイプライン処理の最後の処理を行うプロセスの処理終了時刻を取得し、両方の値を引き、システム構成情報管理テーブルに示される「パイプライン処理のデッドライン」の値と比較することにより求められる。これを、処理時間履歴テーブルに示される全てのデータについて行うことになる。
本実施の形態における処理時間監視部1、計算機負荷監視部4、計算機負荷量収集部5の動作フローは実施の形態1と同一である。
本実施の形態における処理時間収集部2gの動作を図63に示す。S71で、処理時間監視部1からデータを受け取る。そしてS72にて、処理時間履歴テーブル・メモリ8にデータを書き込む。S72で書き込んだデータがパイプライン処理の最後に処理を行うプロセスの処理完了時刻であればS74に進み、パイプライン処理の先頭の処理を行ったプロセスの、同一処理周期における処理開始時刻を求める。S75にて、同様に、パイプライン処理の最後の処理を行ったプロセスの、同一処理周期における処理完了時刻を求める。そしてS76にて、S74とS75から、パイプライン処理の1回の処理時間を求め、デッドラインミスが発生しているかどうかを調べる。デッドラインミスが発生していれば、処理時間履歴テーブル・メモリ8に残されたデータ中に何回デッドラインミスが発生しているのかを調べ、規定回数以上デッドラインミスが発生していれば、移行プロセス決定部3に通知する。そしてS79にて、各プロセスにおける次の周期の処理データを格納するために、処理時間履歴テーブルのエントリを1つ先に勧める。S73にて、書き込んだデータがパイプライン処理の最後に処理を行うプロセスのデータでない場合、またはS76にて、デッドラインミスが発生していなければ、S79に直接進む。
本実施の形態における移行プロセス決定部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に通知する。
本実施の形態における、全ての構成要素の連携によって動作する動的リソース管理システムまたは装置の動作フローの例を図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の、リソース再割り当てが行われた計算機などに関する情報を書き換える。
即ち本実施の形態の計算機リソース動的制御方式は、実施の形態1の計算機リソース動的制御方式に以下の特徴を加えることにより、パイプライン状に複数のプロセスが連なって、各プロセスが順々に処理を行うことにより1回の周期処理が完了するような処理において、処理にデッドライン時間が与えられている場合に、デッドラインミスが発生した場合にデッドライン発生の原因となるプロセスのマイグレーションを行うことにより、本形状の処理のデッドラインミス継続を防止することを特徴とする計算機リソース動的制御方式である。即ち、
71)実施の形態1のシステム構成情報管理テーブルに加え、1つの周期処理を行うプロセス群、周期処理時間、処理の制限時間、処理名を保持するシステム構成情報管理テーブル。
72)実施の形態1の処理時間収集手段において、複数のプロセスによって構成された一連の処理全体の所要時間を求め、デッドラインミスが発生した場合に移行プロセス決定手段に通知する処理時間収集手段。
73)実施の形態1の移行プロセス決定手段において、処理時間収集手段から通知が届いた場合に、一連の処理を構成する全プロセスの処理時間の変動を調査することによって、デッドラインミス発生の原因となったプロセスを求め、資源割付手段にそのプロセスを通知する移行プロセス決定手段、を備える。
言い換えると、本実施の形態における計算機リソース動的制御装置は実施の形態1の装置に加えて、システム構成情報テーブル・メモリは、パイプライン処理を構成するプロセス名とデッドライン時間を記憶し、
移行プロセス決定部は、デッドラインミスの発生、または発生予測を受けると、上記システム構成情報テーブル・メモリを参照して上記発生の原因となるパイプライン処理のプロセスを特定し、勧告を行うことを特徴とする。
このように、本実施の形態により、複数のプロセスで構成されたパイプライン処理にデッドラインが与えられた場合において、パイプライン処理にデッドラインミスが発生した場合においてもその原因を取り除き、デッドラインミス解消が可能となる。
なお、上記の各実施の形態を組合わせた実施の形態であってもよく、その場合は各実施の形態で述べられた特徴を組合わせた効果が得られる。
この発明の実施の形態1における計算機リソース動的制御システムの構成を示す図である。 実施の形態1における計算機リソース動的制御装置の構成を示す図である。 実施の形態1における処理時間監視部の機能を説明する図である。 実施の形態1における処理時間収集部の機能を説明する図である。 実施の形態1における処理時間収集部の機能を説明する図である。 実施の形態1における処理時間収集部の機能を説明する図である。 実施の形態1における移行プロセス決定部の機能を説明する図である。 実施の形態1における計算機負荷監視部の機能を説明する図である。 実施の形態1における計算機負荷量収集部の機能を説明する図である。 実施の形態1における計算機負荷量収集部の機能を説明する図である。 実施の形態1における計算機負荷量収集部の機能を説明する図である。 実施の形態1における計算機負荷量収集部の機能を説明する図である。 実施の形態1における資源割当部の機能を説明する図である。 実施の形態1におけるシステム構成情報管理テーブルのデータ構成例を示す図である。 実施の形態1における処理時間履歴テーブルのデータ構成例を示す図である。 実施の形態1における計算機負荷履歴テーブルのデータ構成例を示す図である。 実施の形態1における計算機状態テーブルのデータ構成例を示す図である。 実施の形態1における処理時間監視部の動作フローを示す図である。 実施の形態1における処理時間収集部の動作フローを示す図である。 実施の形態1における計算機負荷監視部の動作フローを示す図である。 実施の形態1における計算機負荷量収集部の動作フローを示す図である。 実施の形態1における移行プロセス決定部の動作フローを示す図である。 実施の形態1における移行プロセス決定部の動作フローを示す図である。 実施の形態1における資源割当部の動作フローを示す図である。 実施の形態1における計算機リソース動的制御装置、システムが行う総合動作フローを示す図である。 この発明の実施の形態2における計算機リソース動的制御システムの構成を示す図である。 実施の形態2における計算機リソース動的制御装置の構成を示す図である。 実施の形態2におけるデッドラインミス発生時刻予測部の機能を説明する図である。 実施の形態2における計算機負荷予測部の機能を説明する図である。 実施の形態2におけるCPU時間予測部の機能を説明する図である。 実施の形態2におけるメモリ使用量予測部の機能を説明する図である。 実施の形態2におけるデッドラインミス発生時刻予測部の動作フローを示す図である。 実施の形態2における計算機負荷予測部の動作フローを示す図である。 実施の形態2におけるCPU時間予測部の動作フローを示す図である。 実施の形態2におけるメモリ使用量予測部の動作フローを示す図である。 実施の形態2における移行プロセス決定部の動作フローを示す図である。 実施の形態2における移行プロセス決定部の動作フローを示す図である。 実施の形態2における資源割当部の動作フローを示す図である。 実施の形態2における計算機リソース動的制御装置、システムが行う総合動作フローを示す図である。 この発明の実施の形態3におけるシステム構成情報管理テーブルのデータ構成例を示す図である。 実施の形態3におけるデッドラインミス発生時刻予測部の動作フローを示す図である。 実施の形態3におけるメモリ使用量予測部の動作フローを示す図である。 実施の形態3における計算機負荷予測部の動作フローを示す図である。 実施の形態3における移行プロセス決定部の動作フローを示す図である。 実施の形態3における移行プロセス決定部の動作フローを示す図である。 実施の形態3における資源割当部の動作フローを示す図である。 実施の形態3における計算機リソース動的制御装置、システムが行う総合動作フローを示す図である。 この発明の実施の形態4におけるシステム構成情報管理テーブルのデータ構成例を示す図である。 実施の形態4における資源割当部の動作フローを示す図である。 実施の形態4における計算機リソース動的制御装置、システムが行う総合動作フローを示す図である。 この発明の実施の形態5におけるシステム構成情報管理テーブルのデータ構成例を示す図である。 実施の形態5における資源割当部の動作フローを示す図である。 実施の形態5における計算機リソース動的制御装置、システムが行う総合動作フローを示す図である。 この発明の実施の形態6における計算機リソース動的制御システムの構成を示す図である。 実施の形態6における計算機リソース動的制御装置の構成を示す図である。 実施の形態6におけるレプリカ管理部の動作フローを示す図である。 実施の形態6におけるレプリカ管理部の動作フローを示す図である。 実施の形態6におけるメモリ使用量予測部の動作フローを示す図である。 実施の形態6における資源割当部の動作フローを示す図である。 実施の形態6における計算機リソース動的制御装置、システムが行う総合動作フローを示す図である。 この発明の実施の形態7における計算機リソース動的制御システムが対象とするプロセスの例を示す図である。 実施の形態7におけるシステム構成情報管理テーブルのデータ構成例を示す図である。 実施の形態7における処理時間収集部の動作フローを示す図である。 実施の形態7における移行プロセス決定部の動作フローを示す図である。 実施の形態7における計算機リソース動的制御装置、システムが行う総合動作フローを示す図である。
符号の説明
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 プロセス。

Claims (10)

  1. 対象となるプロセスを処理する計算機を複数台接続して、複数の上記プロセスを連携処理するシステム、に接続して、
    各上記計算機のリソースの使用状態を監視して計算機の該リソースの使用状態情報を収集し、該リソースの不足を検出する計算機負荷量収集部と、
    上記プロセスの処理時間を監視してプロセスの処理時間を収集し、プロセスの処理限界時間を規定したデッドライン時間を超す処理となるデッドラインミスの発生を検出する処理時間収集部と、
    システムで処理される上記プロセスの処理時間と該プロセスの処理で使用する計算機のリソースの使用量とデッドライン時間とをプロセスの識別子と共に記憶し、システムに接続される上記計算機の所有リソース量を計算機の識別子と共に記憶するシステム構成情報テーブル・メモリと、
    上記デッドラインミスの発生を検出した通知により上記システム構成情報テーブル・メモリを参照して上記プロセスまたは関連するプロセスの処理を現行の計算機とは異なる計算機に再割当を勧告する移行プロセス決定部と、
    上記再割当を勧告する通知を受けて上記システム構成情報テーブル・メモリの上記プロセスの処理時間と上記計算機の所有リソース量とを参照して上記プロセスの処理時間が上記デッドライン時間内となるよう上記再割当を勧告されたプロセスと候補計算機とを抽出し、該抽出したプロセスを該抽出した候補計算機に割当て実行させると同時に上記システム構成情報テーブル・メモリを更新する資源割当部と、を備えたことを特徴とする計算機リソース動的制御装置。
  2. 計算機によるプロセッサ処理状況の変動を基に、該プロセッサの使用時間を予測するプロセッサ時間予測部と、
    計算機のメモリ使用状況の変動を基に、該メモリの必要量を予測するメモリ使用量予測部と、を備え、
    計算機負荷量収集部は、計算機リソースの使用状態情報の収集に加えて、上記メモリ使用量と上記プロセッサの使用時間を予測する計算機負荷量収集・予測部を有し、
    処理時間収集部は、プロセスの処理時間の収集に加えて、現計算機によるデッドラインミスの発生時刻を予測する処理時間収集・予測部を有し、
    移行プロセス決定部は、上記リソースと計算機能力の必要量予測または上記デッドラインミスの発生予測の通知を受けると、該予測に基づいてプロセスの再割当を勧告し、
    資源割当部は、上記デッドラインミスの発生時刻の予測と上記計算機負荷量収集・予測部が行う予測とに基づいて、上記勧告されて抽出したプロセスを抽出した候補計算機に割当て実行させることを特徴とする請求項1記載の計算機リソース動的制御装置。
  3. システム構成情報テーブル・メモリは、プロセスを候補計算機に再割当する再割当所要時間と該候補計算機でプロセスを起動するプロセス起動所要時間とを記憶し、
    資源割当部は、上記再割当所要時間とプロセス起動所要時間との和の時間より前の時間に抽出したプロセスを抽出した候補計算機に割当て実行させることを特徴とする請求項1記載の計算機リソース動的制御装置。
  4. システム構成情報テーブル・メモリは、プロセスの処理優先順位を記憶し、
    資源割当部は、現在の計算機ではデッドラインミスの発生が予測されると、上記システム構成情報テーブル・メモリを参照して、プロセスの処理優先順位が高いプロセスを候補計算機に割当て実行させることを特徴とする請求項1記載の計算機リソース動的制御装置。
  5. システム構成情報テーブル・メモリは、対象プロセスを処理可能な動作可能計算機の識別子と計算機の性能値とを記憶し、
    資源割当部は、再割当の勧告通知を受けると、上記システム構成情報テーブル・メモリを参照して、上記動作可能計算機の識別子と計算機の性能値とを調べてプロセスを候補計算機に割当て実行させることを特徴とする請求項1記載の計算機リソース動的制御装置。
  6. 選択した計算機に所定のプロセスの処理起動をかけて、及びプロセスの処理終了をさせて、これらの状態を管理するレプリカ管理部を備えて、
    資源割当部は、再割当の勧告通知を受けると、上記選択した計算機に上記レプリカ管理部で起動をかけていて動作可能であれば、該動作可能な計算機に上記プロセスの割当を実行させることを特徴とする請求項1記載の計算機リソース動的制御装置。
  7. システム構成情報テーブル・メモリは、パイプライン処理を構成するプロセス名とデッドライン時間を記憶し、
    移行プロセス決定部は、デッドラインミスの発生、または発生の予測通知を受けると、上記システム構成情報テーブル・メモリを参照して上記発生の原因となるパイプライン処理のプロセスを特定し、勧告を行うことを特徴とする請求項1または請求項2記載の計算機リソース動的制御装置。
  8. 計算機のリソースの使用状態を監視して計算機負荷量収集部に該計算機のリソースの使用状態情報を送信する計算機負荷監視部と、
    プロセスの処理時間を監視して処理時間収集部に該プロセスの処理時間を送信する処理時間監視部と、を備えたことを特徴とする請求項1または請求項2記載の計算機リソース動的制御装置。
  9. 対象となるプロセスを処理する計算機を複数台接続して、複数の上記プロセスを連携処理するシステム、に接続される上記計算機であって、
    各上記計算機のリソースの使用状態を監視して計算機の該リソースの使用状態情報を収集し、該リソースの不足を検出する計算機負荷量収集部と、
    上記プロセスの処理時間を監視してプロセスの処理時間を収集し、プロセスの処理限界時間を規定したデッドライン時間を超す処理となるデッドラインミスの発生を検出する処理時間収集部と、
    システムで処理される上記プロセスの処理時間と該プロセスの処理で使用する計算機のリソースの使用量とデッドライン時間とをプロセスの識別子と共に記憶し、システムに接続される上記計算機の所有リソース量を計算機の識別子と共に記憶するシステム構成情報テーブル・メモリと、
    上記デッドラインミスの発生の通知により上記システム構成情報テーブル・メモリを参照して上記プロセスの処理を現行の計算機とは異なる計算機に再割当を勧告する移行プロセス決定部と、
    上記再割当の勧告通知を受けて上記システム構成情報テーブル・メモリの上記プロセスの処理時間と上記計算機の所有リソース量とを参照して上記プロセスの処理時間が上記デッドライン時間内となるようプロセスと候補計算機とを抽出し、該抽出したプロセスを該抽出した候補計算機に割当て実行させると同時に上記システム構成情報テーブル・メモリを更新する資源割当部と、の各構成要素をいずれか一つ、または複数の上記構成要素を分担して備える計算機群で構成され、
    該計算機群が、全体として上記構成要素を全て含むシステムとなることを特徴とする計算機リソース動的制御システム。
  10. 対象となるプロセスを処理する計算機を複数台接続して、複数の上記プロセスを連携処理するシステム、における制御方法において、
    計算機負荷量収集部が、各上記計算機のリソースの使用状態を監視して、上記計算機のリソースの使用状態情報を収集し、該リソースの不足を検出する計算機負荷量収集ステップと、
    処理時間収集部が、上記プロセスの処理時間を監視して、上記プロセスの処理時間を収集し、プロセスの処理限界時間を規定したデッドライン時間を超す処理となるデッドラインミスの発生を検出する処理時間収集ステップと、
    システムで処理される上記プロセスの処理時間と該プロセスの処理で使用する計算機のリソースの使用量とデッドライン時間とをプロセスの識別子と共に記憶し、システムに接続される上記計算機の所有リソース量を計算機の識別子と共に記憶するシステム構成情報テーブル・メモリ、を参照して、
    移行プロセス決定部が、上記デッドラインミスの発生を検出した通知により上記プロセスまたは関連するプロセスの処理を現行の計算機とは異なる計算機に再割当を勧告する移行プロセス決定ステップと、
    資源割当部が、上記再割当を勧告する通知を受けて上記システム構成情報テーブル・メモリの上記プロセスの処理時間と上記計算機の所有リソース量とを参照して上記プロセスの処理時間が上記デッドライン時間内となるよう上記再割当を勧告されたプロセスと候補計算機とを抽出し、該抽出したプロセスを該抽出した候補計算機に割当て実行させると同時に上記システム構成情報テーブル・メモリを更新する資源割当ステップと、を備えたことを特徴とする計算機リソース動的制御方法。
JP2006047704A 2006-02-24 2006-02-24 計算機リソース動的制御装置 Expired - Fee Related JP4523921B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006047704A JP4523921B2 (ja) 2006-02-24 2006-02-24 計算機リソース動的制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006047704A JP4523921B2 (ja) 2006-02-24 2006-02-24 計算機リソース動的制御装置

Publications (2)

Publication Number Publication Date
JP2007226587A true JP2007226587A (ja) 2007-09-06
JP4523921B2 JP4523921B2 (ja) 2010-08-11

Family

ID=38548345

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006047704A Expired - Fee Related JP4523921B2 (ja) 2006-02-24 2006-02-24 計算機リソース動的制御装置

Country Status (1)

Country Link
JP (1) JP4523921B2 (ja)

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009199349A (ja) * 2008-02-21 2009-09-03 Canon Inc 情報処理装置及びその制御方法、プログラム
JP2009211620A (ja) * 2008-03-06 2009-09-17 Hitachi Information Systems Ltd 仮想環境複製方法とシステムおよびプログラム
JP2010015192A (ja) * 2008-06-30 2010-01-21 Hitachi Ltd 情報処理システムおよびそのシステムにおける省電力制御方法
JP2010079670A (ja) * 2008-09-26 2010-04-08 Oki Electric Ind Co Ltd Sipアプリケーションサーバのロードバランサおよびその動作方法
JP2010277589A (ja) * 2009-05-28 2010-12-09 Palo Alto Research Center Inc データ・センタのバッチ・ジョブのサービスの質コントロール
JP2010282533A (ja) * 2009-06-08 2010-12-16 Mitsubishi Electric Corp 計算機システム、計算機リソース制御方法および計算機リソース制御プログラム
JP2011044464A (ja) * 2009-08-19 2011-03-03 Nuflare Technology Inc 荷電粒子ビーム描画装置、荷電粒子ビーム描画方法、および、荷電粒子ビーム描画用データの処理装置
JP2011249509A (ja) * 2010-05-26 2011-12-08 Nuflare Technology Inc 荷電粒子ビーム描画装置およびその制御方法
JP2012003653A (ja) * 2010-06-21 2012-01-05 Mitsubishi Electric Corp 計算機システム及びコンピュータプログラム及びパイプライン処理方法
WO2012001835A1 (ja) * 2010-07-02 2012-01-05 パナソニック株式会社 マルチプロセッサシステム
JP2012043409A (ja) * 2010-08-20 2012-03-01 Internatl Business Mach Corp <Ibm> データ・ストリームを処理するためのコンピュータ実装方法、システム及びコンピュータ・プログラム
JP2013502642A (ja) * 2009-08-18 2013-01-24 インターナショナル・ビジネス・マシーンズ・コーポレーション イベント・ドリブン・システムにおける非集中負荷分散の方法およびコンピュータ・プログラム
WO2013018289A1 (ja) * 2011-08-04 2013-02-07 日本電気株式会社 計算機および性能データ収集方法
WO2013030908A1 (ja) * 2011-08-26 2013-03-07 富士通株式会社 スケジューリングシステム、データ処理システムおよびスケジューリング方法
JP2013196576A (ja) * 2012-03-22 2013-09-30 Nec Corp 情報処理装置、情報処理方法及び情報処理プログラム
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
JPWO2013008325A1 (ja) * 2011-07-13 2015-02-23 富士通株式会社 マルチコアプロセッサシステム、および制御方法
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
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
JP2018511850A (ja) * 2015-02-03 2018-04-26 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited Cpuリソースを割り当てる装置、デバイス及び方法
JP2018147339A (ja) * 2017-03-08 2018-09-20 日本電気株式会社 システム管理装置、システム管理方法、プログラム、情報処理システム
JP2019003568A (ja) * 2017-06-19 2019-01-10 Necネクサソリューションズ株式会社 処理計画装置、処理計画方法及びプログラム
KR20200023660A (ko) * 2018-08-13 2020-03-06 인천대학교 산학협력단 딥러닝 모델을 통한 추론 서비스를 제공할 때, 적어도 하나의 프로세서의 성능을 제어하는 전자 장치 및 그의 동작 방법
US10718862B2 (en) 2017-01-17 2020-07-21 Denso Ten Limited Radar device and target detecting method
EP3764229A1 (en) 2019-07-08 2021-01-13 Fujitsu Limited Information processing program, information processing method, and information processing apparatus
US20220229696A1 (en) * 2019-12-12 2022-07-21 Mitsubishi Electric Corporation Data processing execution device, data processing execution method and computer readable medium

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08272627A (ja) * 1995-03-30 1996-10-18 Ricoh Co Ltd リアルタイムタスク制御装置
JPH0944095A (ja) * 1995-07-25 1997-02-14 Seiji Sakai 車用磁気プレート広告具
JPH09231181A (ja) * 1996-02-28 1997-09-05 Mitsubishi Electric Corp 並列計算機における動的負荷分散方法
JP2001236236A (ja) * 2000-02-25 2001-08-31 Nec Microsystems Ltd タスク制御装置およびそのタスクスケジューリング方法
JP2002073354A (ja) * 2000-08-29 2002-03-12 Ricoh Co Ltd タスク制御装置とタスク制御方法
JP2002108839A (ja) * 2000-09-28 2002-04-12 Mitsubishi Electric Corp 通信ネットワークシステム、ジョブ割当方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2002342097A (ja) * 2001-05-17 2002-11-29 Matsushita Electric Ind Co Ltd タスク割当可能時間決定装置及びタスク割当可能時間決定方法
JP2003248591A (ja) * 2002-02-22 2003-09-05 Advanced Telecommunication Research Institute International タスクスケジューリング方法
JP2004038518A (ja) * 2002-07-03 2004-02-05 Hitachi Ltd オブジェクト障害回復方法
WO2004092934A1 (ja) * 2003-04-17 2004-10-28 Matsushita Electric Industrial Co., Ltd. 起動時間短縮装置および電子機器
JP2005284351A (ja) * 2004-03-26 2005-10-13 Toshiba Corp リアルタイムスケジューリング可能性判定方法およびリアルタイムシステム

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08272627A (ja) * 1995-03-30 1996-10-18 Ricoh Co Ltd リアルタイムタスク制御装置
JPH0944095A (ja) * 1995-07-25 1997-02-14 Seiji Sakai 車用磁気プレート広告具
JPH09231181A (ja) * 1996-02-28 1997-09-05 Mitsubishi Electric Corp 並列計算機における動的負荷分散方法
JP2001236236A (ja) * 2000-02-25 2001-08-31 Nec Microsystems Ltd タスク制御装置およびそのタスクスケジューリング方法
JP2002073354A (ja) * 2000-08-29 2002-03-12 Ricoh Co Ltd タスク制御装置とタスク制御方法
JP2002108839A (ja) * 2000-09-28 2002-04-12 Mitsubishi Electric Corp 通信ネットワークシステム、ジョブ割当方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2002342097A (ja) * 2001-05-17 2002-11-29 Matsushita Electric Ind Co Ltd タスク割当可能時間決定装置及びタスク割当可能時間決定方法
JP2003248591A (ja) * 2002-02-22 2003-09-05 Advanced Telecommunication Research Institute International タスクスケジューリング方法
JP2004038518A (ja) * 2002-07-03 2004-02-05 Hitachi Ltd オブジェクト障害回復方法
WO2004092934A1 (ja) * 2003-04-17 2004-10-28 Matsushita Electric Industrial Co., Ltd. 起動時間短縮装置および電子機器
JP2005284351A (ja) * 2004-03-26 2005-10-13 Toshiba Corp リアルタイムスケジューリング可能性判定方法およびリアルタイムシステム

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009199349A (ja) * 2008-02-21 2009-09-03 Canon Inc 情報処理装置及びその制御方法、プログラム
US8230420B2 (en) 2008-02-21 2012-07-24 Canon Kabushiki Kaisha Apparatus for transferring a virtual machine using stored correspondence information
JP2009211620A (ja) * 2008-03-06 2009-09-17 Hitachi Information Systems Ltd 仮想環境複製方法とシステムおよびプログラム
JP2010015192A (ja) * 2008-06-30 2010-01-21 Hitachi Ltd 情報処理システムおよびそのシステムにおける省電力制御方法
US8200995B2 (en) 2008-06-30 2012-06-12 Hitachi, Ltd. Information processing system and power-save control method for use in the system
JP2010079670A (ja) * 2008-09-26 2010-04-08 Oki Electric Ind Co Ltd Sipアプリケーションサーバのロードバランサおよびその動作方法
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
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
JP2010277589A (ja) * 2009-05-28 2010-12-09 Palo Alto Research Center Inc データ・センタのバッチ・ジョブのサービスの質コントロール
JP2010282533A (ja) * 2009-06-08 2010-12-16 Mitsubishi Electric Corp 計算機システム、計算機リソース制御方法および計算機リソース制御プログラム
JP2013502642A (ja) * 2009-08-18 2013-01-24 インターナショナル・ビジネス・マシーンズ・コーポレーション イベント・ドリブン・システムにおける非集中負荷分散の方法およびコンピュータ・プログラム
JP2011044464A (ja) * 2009-08-19 2011-03-03 Nuflare Technology Inc 荷電粒子ビーム描画装置、荷電粒子ビーム描画方法、および、荷電粒子ビーム描画用データの処理装置
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
JP2011249509A (ja) * 2010-05-26 2011-12-08 Nuflare Technology Inc 荷電粒子ビーム描画装置およびその制御方法
US9188853B2 (en) 2010-05-26 2015-11-17 Nuflare Technology, Inc. Charged particle beam drawing apparatus and control method thereof
JP2012003653A (ja) * 2010-06-21 2012-01-05 Mitsubishi Electric Corp 計算機システム及びコンピュータプログラム及びパイプライン処理方法
WO2012001835A1 (ja) * 2010-07-02 2012-01-05 パナソニック株式会社 マルチプロセッサシステム
JP5653431B2 (ja) * 2010-07-02 2015-01-14 パナソニックIpマネジメント株式会社 マルチプロセッサシステム
US9170841B2 (en) 2010-07-02 2015-10-27 Panasonic Intellectual Property Management Co., Ltd. Multiprocessor system for comparing execution order of tasks to a failure pattern
JP2012043409A (ja) * 2010-08-20 2012-03-01 Internatl Business Mach Corp <Ibm> データ・ストリームを処理するためのコンピュータ実装方法、システム及びコンピュータ・プログラム
JPWO2013008325A1 (ja) * 2011-07-13 2015-02-23 富士通株式会社 マルチコアプロセッサシステム、および制御方法
US9547576B2 (en) 2011-07-13 2017-01-17 Fujitsu Limited Multi-core processor system and control method
WO2013018289A1 (ja) * 2011-08-04 2013-02-07 日本電気株式会社 計算機および性能データ収集方法
JP5534108B2 (ja) * 2011-08-04 2014-06-25 日本電気株式会社 計算機および性能データ収集方法
WO2013030908A1 (ja) * 2011-08-26 2013-03-07 富士通株式会社 スケジューリングシステム、データ処理システムおよびスケジューリング方法
JP2013196576A (ja) * 2012-03-22 2013-09-30 Nec Corp 情報処理装置、情報処理方法及び情報処理プログラム
JP2018511850A (ja) * 2015-02-03 2018-04-26 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited Cpuリソースを割り当てる装置、デバイス及び方法
US10718862B2 (en) 2017-01-17 2020-07-21 Denso Ten Limited Radar device and target detecting method
JP2018147339A (ja) * 2017-03-08 2018-09-20 日本電気株式会社 システム管理装置、システム管理方法、プログラム、情報処理システム
US11362890B2 (en) 2017-03-08 2022-06-14 Nec Corporation System management device, system management method, program, and information processing system
JP2019003568A (ja) * 2017-06-19 2019-01-10 Necネクサソリューションズ株式会社 処理計画装置、処理計画方法及びプログラム
JP7074286B2 (ja) 2017-06-19 2022-05-24 Necネクサソリューションズ株式会社 処理計画装置、処理計画方法及びプログラム
KR20200023660A (ko) * 2018-08-13 2020-03-06 인천대학교 산학협력단 딥러닝 모델을 통한 추론 서비스를 제공할 때, 적어도 하나의 프로세서의 성능을 제어하는 전자 장치 및 그의 동작 방법
KR102159953B1 (ko) 2018-08-13 2020-09-25 인천대학교 산학협력단 딥러닝 모델을 통한 추론 서비스를 제공할 때, 적어도 하나의 프로세서의 성능을 제어하는 전자 장치 및 그의 동작 방법
EP3764229A1 (en) 2019-07-08 2021-01-13 Fujitsu Limited Information processing program, information processing method, and information processing apparatus
US11720397B2 (en) 2019-07-08 2023-08-08 Fujitsu Limited Information processing method and apparatus to migrate tasks between resources
US20220229696A1 (en) * 2019-12-12 2022-07-21 Mitsubishi Electric Corporation Data processing execution device, data processing execution method and computer readable medium

Also Published As

Publication number Publication date
JP4523921B2 (ja) 2010-08-11

Similar Documents

Publication Publication Date Title
JP4523921B2 (ja) 計算機リソース動的制御装置
US8191069B2 (en) Method of monitoring performance of virtual computer and apparatus using the method
JP7409622B2 (ja) 計算機システム及び方法
US10055252B2 (en) Apparatus, system and method for estimating data transfer periods for job scheduling in parallel computing
JP6437656B2 (ja) ストレージ装置、ストレージシステム、ストレージシステムの制御方法
US11194569B2 (en) Method, electronic device and medium for upgrading a hyper-converged infrastructure node
JP2007286860A (ja) データ転送方法及び情報処理装置
JP2004246852A (ja) 論理ボリュームコピー先性能調整方法及び装置
JP5323554B2 (ja) ジョブ処理方法、ジョブ処理プログラムを格納したコンピュータ読み取り可能な記録媒体、および、ジョブ処理システム
CN111343219B (zh) 计算服务云平台
JP2007018407A (ja) データ複製システム
US11212174B2 (en) Network management device and network management method
JPWO2009069385A1 (ja) デバイス検出装置、デバイス検出方法及びプログラム
JP5169117B2 (ja) データストリーム解析システム、およびそれに用いる装置、方法並びにプログラム
JP4485592B2 (ja) 計算機システムおよび計算機システムの計算機制御方法
JP2013148938A (ja) 情報処理装置及び情報処理システム
JP5617586B2 (ja) 情報処理プログラム、中継装置及び中継管理装置
JP5782962B2 (ja) Raidグループ制御装置
US20100085870A1 (en) Global detection of resource leaks in a multi-node computer system
JP2008027162A (ja) データ記録装置およびデータ記録プログラム
WO2004084095A9 (ja) 情報検索システム
JP4408122B2 (ja) 計算機システム、計算機システムの計算機制御方法および計算機制御プログラム
CN115514624A (zh) 监控方法、装置、电子设备及存储介质
JPH11296349A (ja) 並列計算機の並列インストール方式
CN111563132A (zh) 数据处理方法和装置

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