"複数のCPUコアを搭載するマルチコア計算機を含む複数の計算機より構成される分散計算機システム上に実現された仮想計算機環境を用いて並列処理を行う並列処理装置において、任意のジョブを投入する際に、事前に実行時間が既知の計測用ジョブを、前記任意ジョブ投入対象となる物理計算機上の全CPUコアに同時に投入して実行時間を計測する実行時間計測手段と、前記計測用ジョブの既知の実行時間と計測された実際の実行時間との比率から前記CPUコアの実稼働率を算出する実稼働率算出手段と、前記実稼働率に基づいて、最も負荷が小さいCPUコアを選定し、当該CPUコアに対して、前記任意ジョブを投入するジョブ投入手段とを備えたことを特徴とする並列処理装置。実行時間計測手段は、計測用ジョブの投入を、任意ジョブの投入を要求する処理単位毎に独立して実施することを特徴とする請求項1記載の並列処理装置。各CPUコアの稼働ジョブ数を登録するCPUコア負荷状況管理テーブルを設け、実稼働率算出手段は、算出した各CPUコアの稼働ジョブ数を前記CPUコア負荷状況管理テーブルに登録し、ジョブ投入手段は、前記CPUコア負荷状況管理テーブルの稼働ジョブ数に基づいて、最も負荷が小さいCPUコアを選定することを特徴とする請求項1記載の並列処理装置。各CPUコアに測定用ジョブが投入中であるか否かを示す計測用ジョブ投入許可部を設け、実行時間計測手段は、処理単位から任意ジョブ投入要求があった場合、前記計測用ジョブ投入許可部を参照し、任意ジョブ投入の対象となる計算機のCPUコアに計測用ジョブが投入中でない場合にのみ当該計測用ジョブの投入を行うことを特徴とする請求項2記載の並列処理装置。実行時間計測手段は、計測用ジョブの投入を定期的に実施することを特徴とする請求項1から請求項3のうちのいずれか1項記載の並列処理装置。実行時間計測手段は、計測用ジョブの投入を処理単位毎に時分割で実施することを特徴とする請求項2記載の並列処理装置。実行時間計測手段は、高負荷でかつ投入頻度が高いジョブを投入する処理単位に対しては、他の処理単位よりも多くの計測用ジョブを投入するよう重み付けすることを特徴とする請求項6記載の並列処理装置。上記の特許文献1に記載されたような装置では、余剰能力の算出において、ジョブの実行ステップ数やCPUの使用率を使用しているが、ジョブの実行ステップ数は一般に不明であるし、仮想計算機の場合の実CPUの稼働率は上述したように不明なので、余剰能力は算出できなかった。基本的に特許文献1に記載された装置では静的情報を利用してCPUコアの余剰能力を見積もるものであるため、精度の良い結果を得るのは困難であった。また、特許文献2に記載されたようなシステムでは、対象とする計算機に関して、マルチプロセッサマルチコアCPUの場合を考慮していないため、マルチコアCPUの全てのコアが使用されていない限り、計測ジョブは負荷が0のコアで実行した時の時間既知時間となってしまう。また、何個のCPUコアが空いているかも分からないといったように、マルチコアCPUを用いたシステムでは高い精度を得るのは困難であった。この発明は上記のような課題を解決するためになされたもので、マルチコア計算機を含むような仮想計算機環境を用いた並列処理装置であっても、実態に合った、精度の良い負荷状況を把握することができ、良好な負荷バランスを実現することのできる並列処理装置を得ることを目的とする。この発明に係る並列処理装置は、複数のCPUコアを搭載するマルチコア計算機を含む複数の計算機より構成される分散計算機システム上に実現された仮想計算機環境を用いて並列処理を行う並列処理装置において、任意のジョブを投入する際に、事前に実行時間が既知の計測用ジョブを、任意ジョブ投入対象となる物理計算機上の全CPUコアに同時に投入して実行時間を計測する実行時間計測手段と、計測用ジョブの既知の実行時間と計測された実際の実行時間との比率からCPUコアの実稼働率を算出する実稼働率算出手段と、実稼働率に基づいて、最も負荷が小さいCPUコアを選定し、そのCPUコアに対して、任意ジョブを投入するジョブ投入手段とを備えたものである。この発明の並列処理装置は、事前に実行時間が既知の計測用ジョブを全CPUコアに同時に投入して実行時間を計測し、この計測結果に基づいてCPUコアの実稼働率を算出して最も負荷が小さいCPUコアを選定するようにしたので、マルチコア計算機を含むような仮想計算機環境を用いた並列処理装置であっても、実態に合った、精度の良い負荷状況を把握することができ、良好な負荷バランスを実現することができる。実施の形態1.図1は、3台の物理計算機A~Cをベースにした仮想計算機環境のシステムの例を示したものである。本例では、各物理計算機上に3台の仮想計算機を実現している。このため、本システムでは、仮想的に、9台=3×3の計算機を実現していることになる。また本例では、実運用、試験用、そして訓練用の3つの業務処理1~3が、それぞれ独立に処理単位として本仮想計算機環境を利用しているものとする。各業務処理は、本計算機上で実行されている他の業務処理を知らない状態であり知る必要が無い為、全ての計算機3台を独占して利用できるものと考えて良い。図2は、この発明の実施の形態1による並列処理装置を示す機能ブロック図である。図示の並列処理装置100は、実行時間計測手段101、実稼働率算出手段102、ジョブ投入手段103を備えている。また、物理計算機200a,200b,200cは、それぞれ図1の物理計算機A~Cに相当する計算機であり、それぞれが複数のCPUコアを搭載するマルチコア計算機である。実行時間計測手段101は、図1における業務処理毎に、複数の処理ジョブが実行中である状態で任意のジョブを投入する際に、事前に実行時間が既知の計測用ジョブを、任意ジョブ投入対象となる物理計算機上の全CPUコアに同時に投入して実行時間を計測する手段である。実稼働率算出手段102は、計測用ジョブの既知の実行時間と計測された実際の実行時間との比率から各CPUコアの実稼働率実稼働ジョブ数を算出する手段である。ジョブ投入手段103は、実稼働率に基づいて、最も負荷が小さいCPUコアを選定し、そのCPUコアに対して、任意ジョブを投入する手段である。以下、実施の形態1の並列処理装置の動作について説明する。図3は、図1の状態での仮想/物理計算機の負荷状況を示したものである。この図から分かるように、物理計算機Aにジョブが1つ、物理計算機Bにジョブが2つ、そして物理計算機Cにジョブ2つが実行中の状態であるが、各業務処理側からはこれらの物理計算機の負荷状況を知らないことになる。従って、例えば、業務処理1において、新たなジョブを本システムに投入しようとした時に、既に業務処理1は仮想計算機A1とB1を利用しているので、仮想計算機C1に投入すれば高速に実行できると考えてしまうことになるが、実態は仮想計算機A1物理計算機Aに投入するのが当該ジョブを最も早く実行できることとなる。なお、ここでは、物理計算機A~Cの性能が全て均一であるとの仮定での説明である。図4は、例えば特許文献2の分散計算機システム構築支援装置に基づく従来方式を、CPUコア数=6としたマルチコア計算機をベースとする仮想計算機環境へ適用した場合の例を示したものである。例えば、図4aに示すようにコア1~3上でそれぞれジョブ1~3が実行中であった場合、図4bに示すように、従来方式に基づき、検定のための計測用ジョブM1を1つだけ投入しただけでは、ジョブが実行されていない、例えば、コア4に割り付けられることになるため、計測用ジョブは既知時間で実行が完了することになり、本計算機は負荷が0だと誤認識してしまうことになる。このような従来の方法では、本計算機上でジョブが3つ実行中であることや、空いているジョブが実行されていないコア数も認識できないことになる。図5は、図4で示した問題を解決するための本発明の実施の形態を示したものである。実行時間計測手段101は、図示のように、検定のための計測用ジョブを6個M1~M6同時に投入すると、M1~M3では、既に実行中のジョブと計測用ジョブとが時分割で実行されるので、計測ジョブの実行時間は既知時間の2倍となり、M4~M6は既知時間となる。このように、コア数分の計測用ジョブを投入することにより、実稼働率算出手段102は、3つのコアの稼働ジョブ数は1で、残り3つのコアの稼働ジョブ数は0であることが認識できることになる。なお、以下の式1により、本稼働ジョブ数を算出することができる。稼働ジョブ数:=計測用ジョブの実行時間/既知時間-11なお、図5はCPUコア数6を搭載した実計算機上に1つの仮想計算機仮想計算機Aを実現した例であり、図6は、実計算機上に2つの仮想計算機仮想計算機A、Bを実現した例である。図6の例では、検定のための計測用ジョブを6個M1~M6同時に投入した場合、計測用ジョブM2、M4の実行時間が既知時間の2倍、計測用ジョブM5の実行時間が既知時間の3倍と計測される。従って、式1により、仮想計算機AのCPUコア2では1つのジョブジョブ1が実行され、仮想計算機BのCPUコア4では1つのジョブジョブ1が、また、CPUコア5では2つのジョブジョブ1とジョブ2が実行されていることが分かる。このような点から、仮想計算機Aの方が負荷が小さく、新たなジョブを投入する場合は、仮想計算機Aを選択した方が良いことになる。また、空いているCPUコアに対して、ピンポイントでジョブを投入してもよい。本計測用ジョブを定期的にシステムに投入することにより、負荷変動に対応できることになる。このように、負荷変動に対応したコア毎の稼働ジョブ数が正確に把握できるため、ジョブ投入手段103は、最も負荷が小さいCPUコアを選定し、そのCPUコアに対して、いずれかの業務処理から要求のあったジョブを投入することができる。以上説明したように、実施の形態1の並列処理装置によれば、複数のCPUコアを搭載するマルチコア計算機を含む複数の計算機より構成される分散計算機システム上に実現された仮想計算機環境を用いて並列処理を行う並列処理装置において、任意のジョブを投入する際に、事前に実行時間が既知の計測用ジョブを、任意ジョブ投入対象となる物理計算機上の全CPUコアに同時に投入して実行時間を計測する実行時間計測手段と、計測用ジョブの既知の実行時間と計測された実際の実行時間との比率からCPUコアの実稼働率を算出する実稼働率算出手段と、実稼働率に基づいて、最も負荷が小さいCPUコアを選定し、CPUコアに対して、任意ジョブを投入するジョブ投入手段とを備えたので、マルチコア計算機を含むような仮想計算機環境を用いた並列処理装置であっても、実態に合った、精度の良い負荷状況を把握することができ、良好な負荷バランスを実現することができる。また、実施の形態1の並列処理装置によれば、実行時間計測手段は、計測用ジョブの投入を、任意ジョブの投入を要求する処理単位毎に独立して実施するようにしたので、プロジェクト業務といった処理単位毎に精度の良い負荷状況を把握することができる。また、実施の形態1の並列処理装置によれば、実行時間計測手段は、計測用ジョブの投入を定期的に実施するようにしたので、負荷変動に対応することができる。実施の形態2.実施の形態2は、図7に示すように、各CPUコアの実稼働率を管理する管理部を、各業務処理とは別に独立して設けた例である。図7の並列処理装置の構成に対応した機能ブロック図を図8に示す。図8において、処理実行部300a,300bは、それぞれ図7における業務処理1、2に対応した機能部であり、管理部400は、これら処理実行部300a,300bとは独立して設けられている。管理部400は、実行時間計測手段101~ジョブ投入手段103を備えており、それぞれの基本的な機能は、実施の形態1における実行時間計測手段101~ジョブ投入手段103と同様であるが、CPUコア負荷状況管理テーブル500を用いて各CPUコアの稼働ジョブ数を管理する点が異なっている。すなわち、実行時間計測手段101は、定期的に全CPUコアへ計測用ジョブを投入し図7中の計測用ジョブ参照、実稼働率算出手段102は、その結果をCPUコア負荷状況管理テーブル500に登録する。このCPUコア負荷状況管理テーブル500は、図7中に示すように、各物理計算機200a~物理計算機200cのコア毎の稼働ジョブ数を管理するためのテーブルである。また、ジョブ投入手段103は、ジョブを投入する際に、CPUコア負荷状況管理テーブル500を参照し、負荷の低いCPUコアを選定し、そのCPUコアにジョブを投入する。なお、管理部400が自主的に計測用ジョブを投入するのではなく、各処理実行部300a,300bからの要求を受けて計測用ジョブの投入を実施するようにしてもよい。以上説明したように、実施の形態2の並列処理装置によれば、各CPUコアの稼働ジョブ数を登録するCPUコア負荷状況管理テーブルを設け、実稼働率算出手段は、算出した各CPUコアの稼働ジョブ数をCPUコア負荷状況管理テーブルに登録し、ジョブ投入手段は、CPUコア負荷状況管理テーブルの稼働ジョブ数に基づいて、最も負荷が小さいCPUコアを選定するようにしたので、負荷状況に応じたジョブの投入を容易に管理することができる。実施の形態3.実施の形態3は、図9に示すように、実施の形態2で示したような独立した管理部は設けずに、業務処理毎に計測用ジョブの投入を管理するようにしたものである。図9の並列処理装置の構成に対応した機能ブロック図を図10に示す。なお、図10において、処理実行部300b,300cの内部構成は処理実行部300aと同様であるため、これら処理実行部300b,300cについてはその内部構成の図示は省略している。実施の形態3では、業務処理間で、計測用ジョブの投入時間が重ならないように、排他制御調整を行う必要があり、この調整を計測用ジョブ投入許可部600が実施する。すなわち、実施の形態3では、処理実行部300a~300c毎に、実行時間計測手段101~ジョブ投入手段103を備えており、各処理実行部300a~300cが計測用ジョブを投入する場合に計測用ジョブ投入許可部600を参照する。この計測用ジョブ投入許可部600は、各CPUコアに測定用ジョブが投入中であるか否かを示すもので、実行時間計測手段101は、任意ジョブを投入する場合、計測用ジョブ投入許可部600を参照し、任意ジョブ投入の対象となる計算機のCPUコアに計測用ジョブが投入中でない場合にのみ計測用ジョブの投入を行うよう構成されている。計測用ジョブ投入許可部600の具体的な実現方法としては、単純に、1投入中/0投入無しのフラグを設けるもので、測定用ジョブの投入許可要求があった場合、その時点でフラグが0であれば、計測用ジョブ投入許可部600は要求のあった処理実行部300a~300cに投入許可を与えてフラグを1に設定し、フラグが1であれば許可しない、とするものである。なお、許可した計測用ジョブの投入によって実稼働率算出手段102がCPUコアの実稼働率を算出した場合、計測用ジョブ投入許可部600はフラグを0投入無しにリセットする。また、ジョブ投入手段103の動作については実施の形態1と同様である。このように、実施の形態3では、実施の形態2で示した管理部400を設ける必要が無いため、比較的簡単に実装することができるが、各業務処理は自身でシステムの負荷状況を調べる必要がある。以上説明したように、実施の形態3の並列処理装置によれば、各CPUコアに測定用ジョブが投入中であるか否かを示す計測用ジョブ投入許可部を設け、実行時間計測手段は、処理単位から任意ジョブ投入要求があった場合、計測用ジョブ投入許可部を参照し、任意ジョブ投入の対象となる計算機のCPUコアに計測用ジョブが投入中でない場合にのみ計測用ジョブの投入を行うようにしたので、ジョブ投入を管理するための機能の実装を容易に行うことができる。実施の形態4.実施の形態4は、実施の形態3で示した計測用ジョブ投入許可部600をも設けずに処理実行部300a~300cだけで計測用ジョブを投入する例を示したものである。図11は、実施の形態4の並列処理装置を示す機能ブロック図である。各処理実行部300a~300cは、それぞれ実行時間計測手段101、実稼働率算出手段102、ジョブ投入手段103を備えている。なお、処理実行部300b,300cの内部構成については、処理実行部300aと同様であるため、その図示は省略している。各処理実行部300a~300cの実行時間計測手段101は、計測用ジョブの投入を各各処理実行部300a~300c毎に時分割で行うよう構成されている。図12は、各処理実行部300a~300cが実行する業務処理1~3における計測用ジョブの投入タイミングを示している。図12に示すように、予め、業務処理間で計測用ジョブの投入時間が重ならないような時間間隔Δtを設定する。そして、このΔtを単位に各業務処理は他の業務処理と計測用ジョブ投入時間が重ならないように、全ての業務処理を実行する前に、自身の与えられた計測用ジョブ投入可能時刻の中のいずれかの時刻に、当該計測用ジョブを投入するものである。例えば、図12の例では、業務処理1~3の当該計測用ジョブ投入可能時刻は以下の式2~式4の通りである。業務処理1の計測用ジョブ投入可能時刻:=13×k2業務処理2の計測用ジョブ投入可能時刻:=23×k3業務処理3の計測用ジョブ投入可能時刻:=33×k4ここで、k=0,1,2,3...0以上の整数値それぞれの処理実行部300a~300cは、この投入可能時刻の中から適当な時刻を選び、計測用ジョブを投入すれば良いこととなる図12の計測用ジョブ投入を参照。なお、処理負荷が大きいジョブを持つ業務処理には、システムへの負荷バランスに大きな影響を持ち、より適したCPUコアへのジョブ投入が求められるため、その計測用ジョブ投入可能時刻を他よりも多めに与えることも考えられる。例えば、各業務処理の負荷値ジョブの平均実行時間等の比率を基準に、各業務処理の計測用ジョブ投入可能時刻を決定しても良い。なお、この実施の形態4で説明したアイデアは、実施の形態2及び3とは異なり、処理の実行中動的に計測用ジョブ投入タイミングを調整するのではなく、全業務処理を実行する前に、静的に決めておくものであり、動的実行に比べて柔軟性に欠けるが、実行中に計測用ジョブの投入を調整する必要が無いので、低コストで実施できるという効果がある。以上説明したように、実施の形態4の並列処理装置によれば、実行時間計測手段は、計測用ジョブの投入を処理単位毎に時分割で実施するようにしたので、ジョブ投入を管理するための機能を低コストで実現することができる。また、実施の形態4の並列処理装置によれば、実行時間計測手段は、高負荷でかつ投入頻度が高いジョブを投入する処理単位に対しては、他の処理単位よりも多くの計測用ジョブを投入するよう重み付けするようにしたので、各処理単位の負荷値に応じた負荷バランスを実現することができる。なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。"