JP2004038226A - Pcクラスタおよびその中間ソフトウエア - Google Patents
Pcクラスタおよびその中間ソフトウエア Download PDFInfo
- Publication number
- JP2004038226A JP2004038226A JP2002190079A JP2002190079A JP2004038226A JP 2004038226 A JP2004038226 A JP 2004038226A JP 2002190079 A JP2002190079 A JP 2002190079A JP 2002190079 A JP2002190079 A JP 2002190079A JP 2004038226 A JP2004038226 A JP 2004038226A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- cluster
- calculation
- software
- processes
- 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.)
- Pending
Links
Images
Abstract
【課題】PCクラスタに処理させようとする一まとまりの計算処理の複雑さないし負荷程度に応じて単位処理への分割数を自動的に最適化することで、PCクラスタにおける処理の効率性を高める。
【解決手段】複数台のスレーブPC21、22、……2nが並列に接続されてなるPCクラスタについて、アプリケーションソフトウエアで与えられる一まとまりの計算処理をその複雑さに応じた分割数で複数の単位処理に分割し、この各単位処理を分割数に対応する台数のスレーブPCに分配する分配制御用のソフトウエアを組み込むようにしている。
【選択図】 図1
【解決手段】複数台のスレーブPC21、22、……2nが並列に接続されてなるPCクラスタについて、アプリケーションソフトウエアで与えられる一まとまりの計算処理をその複雑さに応じた分割数で複数の単位処理に分割し、この各単位処理を分割数に対応する台数のスレーブPCに分配する分配制御用のソフトウエアを組み込むようにしている。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、並列に接続された複数台のパーソナルコンピュータに一まとまりの計算処理を分散させて処理させるようになっているPCクラスタおよびその中間ソフトウエアに関する。
【0002】
【従来の技術】
PCクラスタは、並列処理型のコンピュータの一つで、基本的に個人により使われることを前提にしたコンピュータであるパーソナルコンピュータをネットワークで複数台並列に接続して構成され、一まとまりの計算処理から分割した複数の単位処理を各パーソナルコンピュータに分散処理させることで、高速な処理を実現するようになっている。なお、クラスタ型のコンピュータについては、例えば特開2001−318903号公報や特開平11−353292号公報などに開示の例が知られている。
【0003】
【発明が解決しようとする課題】
PCクラスタにおいては、各パーソナルコンピュータに予めデータを保持させおき、そのデータについて計算処理を実行させる形態が従来では用いられていた。つまり従来のPCクラスタでは、一まとまりの計算処理を分散処理のために分配させるパーソナルコンピュータの台数が、その計算処理をアプリケーションソフトウエアでPCクラスタに実行させる前に予め決められているということである。このような処理形態では、その都度の処理時間は計算処理時間だけで済み、データを各コンピュータに伝送するための通信時間がそれほど問題になることはなかった。これに対して、例えばX線CTで得られる3次元ビットマップデータについて形状変換のために座標変換処理を行なうなど例のように、扱うデータがその都度異なるような処理の場合には、計算処理を行なわせる度にデータも分配先の各パーソナルコンピュータに送る必要があり、しかも各パーソナルコンピュータには一まとまりの計算処理で扱う全データを送る必要がある。このような処理形態における処理時間は、計算処理に要する時間とデータ通信に要する時間の和で与えられることになる。そして計算処理に要する時間とデータ通信に要する時間は、何れも一まとまりの計算処理の単位処理への分割数に相関し、前者は分割数が増えるほど短くなり、後者は分割数が増えるほど長くなる。
【0004】
この場合でもデータの通信時間が計算処理時間に比べて十分に短ければ、通信時間はそれほど問題にならない。しかし上記した3次元ビットマップデータの処理のように扱うデータ量が膨大でそれを分配先の各パーソナルコンピュータに伝送するための通信時間が計算処理時間に対して有意な比率を占めるようになる場合には、単位処理への分割数の設定が処理効率に大きく影響することになり、処理させようとする一まとまりの計算処理の複雑さに関係なく分割数を決めてしまうと、徒に通信時間を要して分散処理の効率が低下し、場合によっては1台のパーソナルコンピュータで処理するよりも処理時間が長くなってしまうことにもなりかねない。
【0005】
本発明はこのような事情を背景になされたものであり、PCクラスタに処理させようとする一まとまりの計算処理の複雑さないし負荷程度に応じて単位処理への分割数を自動的に最適化することで、PCクラスタにおける処理の効率性を高めることを目的としている。
【0006】
【課題を解決するための手段】
上記目的を達成するために本発明では、複数台のパーソナルコンピュータが並列に接続されてなるPCクラスタにおいて、アプリケーションソフトウエアで与えられる一まとまりの計算処理をその複雑さに応じた分割数で複数の単位処理に分割し、この各単位処理を前記分割数に対応する台数の前記パーソナルコンピュータに分配する分配制御用のソフトウエアが組み込まれていることを特徴としている。
【0007】
また本発明では上記PCクラスタについて、分配制御用のソフトウエアを中間ソフトウエアに組み込むようにしている。
【0008】
また本発明では上記目的を達成するために、複数台のパーソナルコンピュータが並列に接続されてなるPCクラスタの中間ソフトウエアにおいて、アプリケーションソフトウエアで与えられる一まとまりの計算処理をその複雑さに応じた分割数で複数の単位処理に分割し、この各単位処理を前記分割数に対応する台数の前記パーソナルコンピュータに分配する処理をなすようにされていることを特徴としている。
【0009】
また本発明では、上記中間ソフトウエアにおける一まとまりの計算処理の分割処理に、前記一まとまりの計算処理を前記パーソナルコンピュータの1台で処理した場合に要する基本処理時間をTa、前記単位処理への仮の分割数をN、前記計算処理で扱うデータを送るのに要する前記パーソナルコンピュータ1台あたりの基本通信時間をTbとし、TaとTbに関する情報を取得するステップ、このステップで与えられたTaとTbに基づいて(Ta/N)+(Tb×N)が最小になるNxを求めるステップ、このNxで前記一まとまりの計算処理を複数の単位処理に分割するステップを含ませるものとしている。
【0010】
また本発明では、上記中間ソフトウエアについて、その基本処理時間Taに関する情報を、アプリケーションソフトウエアにより指示されるか、または実行しようとする一まとまりの計算処理を部分的に試行して求めるか、あるいは過去になされた同種の処理から推定して求めるものとしている。
【0011】
【発明の実施の形態】
以下、本発明をその実施の形態とともに、より具体的に説明する。図1に一実施形態によるPCクラスタの構成を模式化して示す。PCクラスタは、そのハードウエア構成として、1台のマスタPC1と複数のスレーブPC2(21、22、……2n)が通信ネットワーク3を介して並列に接続された構成をとる。これらマスタPC1とスレーブPC2には、パーソナルコンピュータ、つまり個人により使われることを基本的な前提として製造・販売されているコンピュータが用いられる。したがってマスタPC1とスレーブPC21、22、……2nは、それぞれ個別にCPU(中央演算処理装置)と記憶装置を有している。スレーブPC21、22、……2nに用いられる各パーソナルコンピュータの処理速度は同一であってもよいし、異なっていてもよい。
【0012】
PCクラスタのソフトウエアは、一般のコンピュータと同様に、OS(基本ソフトウエア)と中間ソフトウエア(ミドルウエア)、それにアプリケーション(アプリケーションソフトウエア)を含んでいる。そして、実行すべき計算処理をスレーブPC2に分散処理させるについての制御はミドルウエアにおいてなされるのが通常である。本発明では、このミドルウエアに、アプリケーションで与えられる一まとまりの計算処理をその複雑さないし負荷程度に応じた最適な分割数で単位処理に自動的に分割する処理、およびこの分割による各単位処理をその分割数に応じた台数のスレーブPC2に分配する処理からなる分配制御を実行させるようにしている。
【0013】
このようなPCクラスタにおいて、例えばX線CTで得られる3次元ビットマップデータについて形状変換のために座標変換処理などの処理を実行させる場合には、処理で扱うデータも分配先のスレーブPC2にその都度送る。したがってその処理時間は、上記のように、計算処理に要する時間とデータ通信に要する時間の和で与えられ、一まとまりの計算処理の単位処理への分割数Nに相関する。この場合の分割数と処理時間の関係の例を図2〜図4にグラフ化して示す。縦軸は処理時間を表し、横軸は分散処理に使用するスレーブPC2の台数、つまり一まとまりの計算処理の分割数を表している。
【0014】
図2〜図4は、基本通信時間Tbが同じで、一まとまりの計算処理における基本処理時間Taがそれぞれ異なる場合を示している。基本通信時間Tbは、マスタPC1と1台のスレーブPC2との間でのデータの通信に要する時間である。この基本通信時間Tbは、上記のように一まとまりの計算処理で扱う全データを分配先の各パーソナルコンピュータに送る必要のあることから、一まとまりの計算処理で扱うデータ量に相関し、データ量が大きくなるほど長くなるが、分割数に関してはその影響は受けず一定である。図の例ではTbが仮に10(秒)であるとしてある。
【0015】
基本処理時間Taは、PCクラスタに実行させようとする一まとまりの計算処理の複雑さないし負荷程度の指標となるもので、スレーブPC21、22、……2nの何れか1台で一まとまりの計算処理を実行した場合に要する時間である。ここで、スレーブPC21、22、……2nの処理速度が同一でない場合には、スレーブPC21、22、……2nそれぞれの処理速度に応じた重み付けを行なって平均化した処理速度を前提にして計るものとする。図2はTaが300(秒)、図3はTaが1000(秒)、そして図4はTaが10000(秒)の場合である。
【0016】
これらの図の例から理解できるように、分割数の増大に応じて短くなる処理時間と分割数に応じて増大する通信時間との和として与えられる合計処理時には一つの極小値がある。したがってこの極小値に対応する分割数Nxで分割することにより、処理時間を最短にすることができる。本発明では、この関係を前提にしており、一まとまりの計算処理を最適の分割数Nxで分割し、それによる各単位処理をその分割数に応じた台数のスレーブPC2に分配する分配制御をなすソフトウエアをPCクラスタに組み込むものとし、その分配制御のためのソフトウエアは上記のようにミドルウエアとして組み込むようにしている。
【0017】
分配制御における処理の流れを図5に示す。分配制御においては、まず基本処理時間Taと基本通信時間Tbに関する情報を取得する(ステップ10)。それからステップ10で与えられたTaとTbに基づいて(Ta/N)+(Tb×N)が最小になる分割数Nxを求める(ステップ11)。次いで、ステップ11で求められたNxがPCクラスタを構成するスレーブPC2の台数nよりも小さいか否かを判断する(ステップ12)。ステップ12の結果が肯定的であった場合には、Nxで一まとまりの計算処理を単位処理に分割する(ステップ13)。一方、ステップ12の結果が否定的であった場合には、nで一まとまりの計算処理を単位処理に分割する(ステップ14)。次いで、一まとまりの計算処理からNx個またはn個に分割された各単位処理をNxに対応する台数のスレーブPC2か、またはn台のスレーブPC2に分配する(ステップ15)。そして、最後に各PCに処理を開始させる命令を出し(ステップ16)、処理終了を待って結果を取得する(ステップ17)。このような分配制御によれば、実行しようとする計算処理の実際に即した最適な分割数を自動的に求めて、この最適分割数で一まとまりの計算処理を分割することができ、PCクラスタによる処理の高速性を最大限に引き出すことが容易にできるようになる。
【0018】
ちなみに、図2の条件では、最適分割数Nxが5台または6台となり、この台数で分散処理させた場合の合計処理時間は100(秒)である。また図3と図4の条件では、それぞれの最適分割数Nxが10台と36台になり、これらに対応する合計処理時間は190(秒)と627(秒)である。一方、図2の条件の場合に、例えばPCクラスタのスレーブPC2が40台あるとして、この全スレーブPC2に分散処理させると、合計処理時間が397.5(秒)となり、一台のスレーブPC2で処理させる場合よりも処理時間が長くなってしまう。
【0019】
Taに関する情報を取得するには幾つかの手法が可能である。その例としては次のような手法を挙げることができる。▲1▼アプリケーションにその情報を予め含ませておく手法。この手法は、アプリケーションで実行させる一まとまりの計算処理についてその処理時間が事前に分かっている場合に用いられる。アプリケーションはTaに関する情報を処理開始前にミドルウェアに伝え、ミドルウェアはこの情報をもとにNxを求める。なおアプリケーションがミドルウェアにNxを伝えるようにしてもよい。▲2▼実行しようとする一まとまりの計算処理を部分的に試行してTaを求める手法。つまり、一まとまりの計算処理を適当な数の単位処理に仮に分割し、その単位処理の一つについて処理を試行し、その結果からTaを求める手法である。▲3▼過去になされた同種の処理から推定することで、実行しようとする一まとまりの計算処理についてのTaを求める手法。
【0020】
一方、Tbに関する情報は、実行しようとする計算処理で扱うデータ量の大きさとPCクラスタの通信ネットワークの通信速度から計算で求めるのが通常である。この場合のデータ量の大きさは、アプリケーションから求めることができ、また通信ネットワークの通信速度は、当該PCクラスタに固有のデータとして予め設定してある数値を用いる。
【0021】
【発明の効果】
以上説明したように本発明では、基本処理時間を実行すべき計算処理の複雑さないし負荷程度の指標とし、この基本処理時間と基本通信時間に基づくことで、実行しようとする一まとまりの計算処理の実際に即した最適な分割数を自動的に求め、この最適分割数で計算処理の分配を制御するようにしている。このため本発明によれば、計算処理で扱うデータをその都度分配先のパーソナルコンピュータに送る必要がある場合でも、PCクラスタによる処理の高速性を最大限に引き出すことが容易に可能となり、したがってその処理効率を高めることが可能となる。
【図面の簡単な説明】
【図1】一実施形態によるPCクラスタの構成を示すブロック図である。
【図2】PCクラスタにおける分割数と処理時間の関係の一例をグラフ化して示す図である。
【図3】PCクラスタにおける分割数と処理時間の関係の他の例をグラフ化して示す図である。
【図4】PCクラスタにおける分割数と処理時間の関係のさらに他の例をグラフ化して示す図である。
【図5】分配制御における処理の流れ図である。
【符号の説明】
1 マスタPC(パーソナルコンピュータ)
2 スレーブPC(パーソナルコンピュータ)
3 通信ネットワーク
【発明の属する技術分野】
本発明は、並列に接続された複数台のパーソナルコンピュータに一まとまりの計算処理を分散させて処理させるようになっているPCクラスタおよびその中間ソフトウエアに関する。
【0002】
【従来の技術】
PCクラスタは、並列処理型のコンピュータの一つで、基本的に個人により使われることを前提にしたコンピュータであるパーソナルコンピュータをネットワークで複数台並列に接続して構成され、一まとまりの計算処理から分割した複数の単位処理を各パーソナルコンピュータに分散処理させることで、高速な処理を実現するようになっている。なお、クラスタ型のコンピュータについては、例えば特開2001−318903号公報や特開平11−353292号公報などに開示の例が知られている。
【0003】
【発明が解決しようとする課題】
PCクラスタにおいては、各パーソナルコンピュータに予めデータを保持させおき、そのデータについて計算処理を実行させる形態が従来では用いられていた。つまり従来のPCクラスタでは、一まとまりの計算処理を分散処理のために分配させるパーソナルコンピュータの台数が、その計算処理をアプリケーションソフトウエアでPCクラスタに実行させる前に予め決められているということである。このような処理形態では、その都度の処理時間は計算処理時間だけで済み、データを各コンピュータに伝送するための通信時間がそれほど問題になることはなかった。これに対して、例えばX線CTで得られる3次元ビットマップデータについて形状変換のために座標変換処理を行なうなど例のように、扱うデータがその都度異なるような処理の場合には、計算処理を行なわせる度にデータも分配先の各パーソナルコンピュータに送る必要があり、しかも各パーソナルコンピュータには一まとまりの計算処理で扱う全データを送る必要がある。このような処理形態における処理時間は、計算処理に要する時間とデータ通信に要する時間の和で与えられることになる。そして計算処理に要する時間とデータ通信に要する時間は、何れも一まとまりの計算処理の単位処理への分割数に相関し、前者は分割数が増えるほど短くなり、後者は分割数が増えるほど長くなる。
【0004】
この場合でもデータの通信時間が計算処理時間に比べて十分に短ければ、通信時間はそれほど問題にならない。しかし上記した3次元ビットマップデータの処理のように扱うデータ量が膨大でそれを分配先の各パーソナルコンピュータに伝送するための通信時間が計算処理時間に対して有意な比率を占めるようになる場合には、単位処理への分割数の設定が処理効率に大きく影響することになり、処理させようとする一まとまりの計算処理の複雑さに関係なく分割数を決めてしまうと、徒に通信時間を要して分散処理の効率が低下し、場合によっては1台のパーソナルコンピュータで処理するよりも処理時間が長くなってしまうことにもなりかねない。
【0005】
本発明はこのような事情を背景になされたものであり、PCクラスタに処理させようとする一まとまりの計算処理の複雑さないし負荷程度に応じて単位処理への分割数を自動的に最適化することで、PCクラスタにおける処理の効率性を高めることを目的としている。
【0006】
【課題を解決するための手段】
上記目的を達成するために本発明では、複数台のパーソナルコンピュータが並列に接続されてなるPCクラスタにおいて、アプリケーションソフトウエアで与えられる一まとまりの計算処理をその複雑さに応じた分割数で複数の単位処理に分割し、この各単位処理を前記分割数に対応する台数の前記パーソナルコンピュータに分配する分配制御用のソフトウエアが組み込まれていることを特徴としている。
【0007】
また本発明では上記PCクラスタについて、分配制御用のソフトウエアを中間ソフトウエアに組み込むようにしている。
【0008】
また本発明では上記目的を達成するために、複数台のパーソナルコンピュータが並列に接続されてなるPCクラスタの中間ソフトウエアにおいて、アプリケーションソフトウエアで与えられる一まとまりの計算処理をその複雑さに応じた分割数で複数の単位処理に分割し、この各単位処理を前記分割数に対応する台数の前記パーソナルコンピュータに分配する処理をなすようにされていることを特徴としている。
【0009】
また本発明では、上記中間ソフトウエアにおける一まとまりの計算処理の分割処理に、前記一まとまりの計算処理を前記パーソナルコンピュータの1台で処理した場合に要する基本処理時間をTa、前記単位処理への仮の分割数をN、前記計算処理で扱うデータを送るのに要する前記パーソナルコンピュータ1台あたりの基本通信時間をTbとし、TaとTbに関する情報を取得するステップ、このステップで与えられたTaとTbに基づいて(Ta/N)+(Tb×N)が最小になるNxを求めるステップ、このNxで前記一まとまりの計算処理を複数の単位処理に分割するステップを含ませるものとしている。
【0010】
また本発明では、上記中間ソフトウエアについて、その基本処理時間Taに関する情報を、アプリケーションソフトウエアにより指示されるか、または実行しようとする一まとまりの計算処理を部分的に試行して求めるか、あるいは過去になされた同種の処理から推定して求めるものとしている。
【0011】
【発明の実施の形態】
以下、本発明をその実施の形態とともに、より具体的に説明する。図1に一実施形態によるPCクラスタの構成を模式化して示す。PCクラスタは、そのハードウエア構成として、1台のマスタPC1と複数のスレーブPC2(21、22、……2n)が通信ネットワーク3を介して並列に接続された構成をとる。これらマスタPC1とスレーブPC2には、パーソナルコンピュータ、つまり個人により使われることを基本的な前提として製造・販売されているコンピュータが用いられる。したがってマスタPC1とスレーブPC21、22、……2nは、それぞれ個別にCPU(中央演算処理装置)と記憶装置を有している。スレーブPC21、22、……2nに用いられる各パーソナルコンピュータの処理速度は同一であってもよいし、異なっていてもよい。
【0012】
PCクラスタのソフトウエアは、一般のコンピュータと同様に、OS(基本ソフトウエア)と中間ソフトウエア(ミドルウエア)、それにアプリケーション(アプリケーションソフトウエア)を含んでいる。そして、実行すべき計算処理をスレーブPC2に分散処理させるについての制御はミドルウエアにおいてなされるのが通常である。本発明では、このミドルウエアに、アプリケーションで与えられる一まとまりの計算処理をその複雑さないし負荷程度に応じた最適な分割数で単位処理に自動的に分割する処理、およびこの分割による各単位処理をその分割数に応じた台数のスレーブPC2に分配する処理からなる分配制御を実行させるようにしている。
【0013】
このようなPCクラスタにおいて、例えばX線CTで得られる3次元ビットマップデータについて形状変換のために座標変換処理などの処理を実行させる場合には、処理で扱うデータも分配先のスレーブPC2にその都度送る。したがってその処理時間は、上記のように、計算処理に要する時間とデータ通信に要する時間の和で与えられ、一まとまりの計算処理の単位処理への分割数Nに相関する。この場合の分割数と処理時間の関係の例を図2〜図4にグラフ化して示す。縦軸は処理時間を表し、横軸は分散処理に使用するスレーブPC2の台数、つまり一まとまりの計算処理の分割数を表している。
【0014】
図2〜図4は、基本通信時間Tbが同じで、一まとまりの計算処理における基本処理時間Taがそれぞれ異なる場合を示している。基本通信時間Tbは、マスタPC1と1台のスレーブPC2との間でのデータの通信に要する時間である。この基本通信時間Tbは、上記のように一まとまりの計算処理で扱う全データを分配先の各パーソナルコンピュータに送る必要のあることから、一まとまりの計算処理で扱うデータ量に相関し、データ量が大きくなるほど長くなるが、分割数に関してはその影響は受けず一定である。図の例ではTbが仮に10(秒)であるとしてある。
【0015】
基本処理時間Taは、PCクラスタに実行させようとする一まとまりの計算処理の複雑さないし負荷程度の指標となるもので、スレーブPC21、22、……2nの何れか1台で一まとまりの計算処理を実行した場合に要する時間である。ここで、スレーブPC21、22、……2nの処理速度が同一でない場合には、スレーブPC21、22、……2nそれぞれの処理速度に応じた重み付けを行なって平均化した処理速度を前提にして計るものとする。図2はTaが300(秒)、図3はTaが1000(秒)、そして図4はTaが10000(秒)の場合である。
【0016】
これらの図の例から理解できるように、分割数の増大に応じて短くなる処理時間と分割数に応じて増大する通信時間との和として与えられる合計処理時には一つの極小値がある。したがってこの極小値に対応する分割数Nxで分割することにより、処理時間を最短にすることができる。本発明では、この関係を前提にしており、一まとまりの計算処理を最適の分割数Nxで分割し、それによる各単位処理をその分割数に応じた台数のスレーブPC2に分配する分配制御をなすソフトウエアをPCクラスタに組み込むものとし、その分配制御のためのソフトウエアは上記のようにミドルウエアとして組み込むようにしている。
【0017】
分配制御における処理の流れを図5に示す。分配制御においては、まず基本処理時間Taと基本通信時間Tbに関する情報を取得する(ステップ10)。それからステップ10で与えられたTaとTbに基づいて(Ta/N)+(Tb×N)が最小になる分割数Nxを求める(ステップ11)。次いで、ステップ11で求められたNxがPCクラスタを構成するスレーブPC2の台数nよりも小さいか否かを判断する(ステップ12)。ステップ12の結果が肯定的であった場合には、Nxで一まとまりの計算処理を単位処理に分割する(ステップ13)。一方、ステップ12の結果が否定的であった場合には、nで一まとまりの計算処理を単位処理に分割する(ステップ14)。次いで、一まとまりの計算処理からNx個またはn個に分割された各単位処理をNxに対応する台数のスレーブPC2か、またはn台のスレーブPC2に分配する(ステップ15)。そして、最後に各PCに処理を開始させる命令を出し(ステップ16)、処理終了を待って結果を取得する(ステップ17)。このような分配制御によれば、実行しようとする計算処理の実際に即した最適な分割数を自動的に求めて、この最適分割数で一まとまりの計算処理を分割することができ、PCクラスタによる処理の高速性を最大限に引き出すことが容易にできるようになる。
【0018】
ちなみに、図2の条件では、最適分割数Nxが5台または6台となり、この台数で分散処理させた場合の合計処理時間は100(秒)である。また図3と図4の条件では、それぞれの最適分割数Nxが10台と36台になり、これらに対応する合計処理時間は190(秒)と627(秒)である。一方、図2の条件の場合に、例えばPCクラスタのスレーブPC2が40台あるとして、この全スレーブPC2に分散処理させると、合計処理時間が397.5(秒)となり、一台のスレーブPC2で処理させる場合よりも処理時間が長くなってしまう。
【0019】
Taに関する情報を取得するには幾つかの手法が可能である。その例としては次のような手法を挙げることができる。▲1▼アプリケーションにその情報を予め含ませておく手法。この手法は、アプリケーションで実行させる一まとまりの計算処理についてその処理時間が事前に分かっている場合に用いられる。アプリケーションはTaに関する情報を処理開始前にミドルウェアに伝え、ミドルウェアはこの情報をもとにNxを求める。なおアプリケーションがミドルウェアにNxを伝えるようにしてもよい。▲2▼実行しようとする一まとまりの計算処理を部分的に試行してTaを求める手法。つまり、一まとまりの計算処理を適当な数の単位処理に仮に分割し、その単位処理の一つについて処理を試行し、その結果からTaを求める手法である。▲3▼過去になされた同種の処理から推定することで、実行しようとする一まとまりの計算処理についてのTaを求める手法。
【0020】
一方、Tbに関する情報は、実行しようとする計算処理で扱うデータ量の大きさとPCクラスタの通信ネットワークの通信速度から計算で求めるのが通常である。この場合のデータ量の大きさは、アプリケーションから求めることができ、また通信ネットワークの通信速度は、当該PCクラスタに固有のデータとして予め設定してある数値を用いる。
【0021】
【発明の効果】
以上説明したように本発明では、基本処理時間を実行すべき計算処理の複雑さないし負荷程度の指標とし、この基本処理時間と基本通信時間に基づくことで、実行しようとする一まとまりの計算処理の実際に即した最適な分割数を自動的に求め、この最適分割数で計算処理の分配を制御するようにしている。このため本発明によれば、計算処理で扱うデータをその都度分配先のパーソナルコンピュータに送る必要がある場合でも、PCクラスタによる処理の高速性を最大限に引き出すことが容易に可能となり、したがってその処理効率を高めることが可能となる。
【図面の簡単な説明】
【図1】一実施形態によるPCクラスタの構成を示すブロック図である。
【図2】PCクラスタにおける分割数と処理時間の関係の一例をグラフ化して示す図である。
【図3】PCクラスタにおける分割数と処理時間の関係の他の例をグラフ化して示す図である。
【図4】PCクラスタにおける分割数と処理時間の関係のさらに他の例をグラフ化して示す図である。
【図5】分配制御における処理の流れ図である。
【符号の説明】
1 マスタPC(パーソナルコンピュータ)
2 スレーブPC(パーソナルコンピュータ)
3 通信ネットワーク
Claims (5)
- 複数台のパーソナルコンピュータが並列に接続されてなるPCクラスタにおいて、
アプリケーションソフトウエアで与えられる一まとまりの計算処理をその複雑さに応じた分割数で複数の単位処理に分割し、この各単位処理を前記分割数に対応する台数の前記パーソナルコンピュータに分配する分配制御用のソフトウエアが組み込まれていることを特徴とするPCクラスタ。 - 分配制御用のソフトウエアが中間ソフトウエアとして組み込まれている請求項1に記載のPCクラスタ。
- 複数台のパーソナルコンピュータが並列に接続されてなるPCクラスタ用の中間ソフトウエアにおいて、
アプリケーションソフトウエアで与えられる一まとまりの計算処理をその複雑さに応じた分割数で複数の単位処理に分割し、この各単位処理を前記分割数に対応する台数の前記パーソナルコンピュータに分配する処理をなすようにされていることを特徴とする中間ソフトウエア。 - 前記一まとまりの計算処理の分割処理は、前記一まとまりの計算処理を前記パーソナルコンピュータの1台で処理した場合に要する基本処理時間をTa、前記単位処理への仮の分割数をN、前記計算処理で扱うデータを送るのに要する前記パーソナルコンピュータ1台あたりの基本通信時間をTbとし、TaとTbに関する情報を取得するステップ、このステップで与えられたTaとTbに基づいて(Ta/N)+(Tb×N)が最小になるNxを求めるステップ、このNxで前記一まとまりの計算処理を複数の単位処理に分割するステップを含んでいる請求項3に記載の中間ソフトウエア。
- 前記基本処理時間Taに関する情報は、アプリケーションソフトウエアにより指示されるか、または実行しようとする一まとまりの計算処理を部分的に試行して求めるか、あるいは過去になされた同種の処理から推定して求めるようにされている請求項4に記載の中間ソフトウエア。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002190079A JP2004038226A (ja) | 2002-06-28 | 2002-06-28 | Pcクラスタおよびその中間ソフトウエア |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002190079A JP2004038226A (ja) | 2002-06-28 | 2002-06-28 | Pcクラスタおよびその中間ソフトウエア |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004038226A true JP2004038226A (ja) | 2004-02-05 |
Family
ID=31700096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002190079A Pending JP2004038226A (ja) | 2002-06-28 | 2002-06-28 | Pcクラスタおよびその中間ソフトウエア |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004038226A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006079341A (ja) * | 2004-09-09 | 2006-03-23 | Mitsubishi Electric Corp | 分散シミュレーションシステム及びプログラム |
JP2009169756A (ja) * | 2008-01-17 | 2009-07-30 | Fujitsu Ltd | 分散処理プログラム、分散処理装置、および分散処理方法 |
JP2009187590A (ja) * | 2005-01-19 | 2009-08-20 | Imageom:Kk | クラスタコンピュータミドルウェア、クラスタコンピュータシミュレータ、クラスタコンピュータ用アプリケーション、およびアプリケーション開発支援方法 |
US7730119B2 (en) | 2006-07-21 | 2010-06-01 | Sony Computer Entertainment Inc. | Sub-task processor distribution scheduling |
JP2011028464A (ja) * | 2009-07-24 | 2011-02-10 | Hitachi Ltd | バッチ処理多重化方法 |
JP2011197846A (ja) * | 2010-03-18 | 2011-10-06 | Fujitsu Ltd | 情報処理装置、並列計算制御方法、プログラム及び並列計算システム |
-
2002
- 2002-06-28 JP JP2002190079A patent/JP2004038226A/ja active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006079341A (ja) * | 2004-09-09 | 2006-03-23 | Mitsubishi Electric Corp | 分散シミュレーションシステム及びプログラム |
JP4679856B2 (ja) * | 2004-09-09 | 2011-05-11 | 三菱電機株式会社 | 分散シミュレーションシステム及びプログラム |
JP2009187590A (ja) * | 2005-01-19 | 2009-08-20 | Imageom:Kk | クラスタコンピュータミドルウェア、クラスタコンピュータシミュレータ、クラスタコンピュータ用アプリケーション、およびアプリケーション開発支援方法 |
US7730119B2 (en) | 2006-07-21 | 2010-06-01 | Sony Computer Entertainment Inc. | Sub-task processor distribution scheduling |
JP2009169756A (ja) * | 2008-01-17 | 2009-07-30 | Fujitsu Ltd | 分散処理プログラム、分散処理装置、および分散処理方法 |
JP2011028464A (ja) * | 2009-07-24 | 2011-02-10 | Hitachi Ltd | バッチ処理多重化方法 |
KR101171543B1 (ko) | 2009-07-24 | 2012-08-06 | 가부시키가이샤 히타치세이사쿠쇼 | 배치 처리 다중화 방법 |
JP2011197846A (ja) * | 2010-03-18 | 2011-10-06 | Fujitsu Ltd | 情報処理装置、並列計算制御方法、プログラム及び並列計算システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103401939B (zh) | 一种采用混合调度策略的负载均衡方法 | |
CN105700959B (zh) | 一种面向多核平台的多线程划分及静态均衡调度方法 | |
TWI547817B (zh) | 叢集運算架構的資源規劃方法、系統及裝置 | |
US8307366B2 (en) | Post-processing phase in a distributed processing system using assignment information | |
CN104111806B (zh) | 一种打印调度、处理方法、装置和系统 | |
CN1316074A (zh) | 中断/软件控制的线程处理 | |
CN103761146B (zh) | 一种MapReduce动态设定slots数量的方法 | |
CN114281521B (zh) | 优化深度学习异构资源通信效率方法、系统、设备及介质 | |
CN106325976B (zh) | 一种渲染任务调度处理方法及服务器 | |
US9104491B2 (en) | Batch scheduler management of speculative and non-speculative tasks based on conditions of tasks and compute resources | |
CN106790332A (zh) | 一种资源调度方法、系统及主节点 | |
JP2004038226A (ja) | Pcクラスタおよびその中間ソフトウエア | |
CN106293917A (zh) | 一种IO调度cfq算法的优化方法及系统 | |
CN103823712A (zh) | 一种多cpu虚拟机系统的数据流处理方法和装置 | |
CN116702885B (zh) | 同步数据并行训练控制方法、系统、装置、设备及介质 | |
CN111930485B (zh) | 一种基于性能表现的作业调度方法 | |
CN105550025A (zh) | 分布式基础设施即服务(IaaS)调度方法及系统 | |
CN107315643A (zh) | 一种容器资源调度方法 | |
CN109189581B (zh) | 一种作业调度方法和装置 | |
CN107801231A (zh) | 一种公共资源降频方法和装置 | |
JP5876425B2 (ja) | 仮想マシンのライブマイグレーションスケジューリング方法及び仮想マシンシステム | |
CN103502941B (zh) | 一种并行处理方法和装置 | |
CN106020973A (zh) | 云主机系统中的cpu调度方法及装置 | |
CN106933646A (zh) | 一种创建虚拟机的方法及装置 | |
TWI545453B (zh) | 分散式系統及其資料庫管理方法及管理系統 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041221 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061205 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070403 |