(57)【要約】【課題】グラフィカルユーザインターフェースを利用して容易に分散処理の管理を行うことができる分散処理装置を提供する。【解決手段】分散処理装置１は、分散処理に用いるプログラムのプログラムファイル５１及び分散処理を実行する計算資源に対応するプロセッサファイル３１〜３８が入れられるジョブ実行フォルダ５０を生成して表示装置１１３の表示部１１４上に表示させるGUI生成部１２と、ジョブ実行フォルダ５０に分散処理を実行するために必要なプログラムファイル５１及びプロセッサファイル３１〜３８が揃ったか否かを判定して、揃ったと判定した場合、分散処理を実行させるファイル処理部１１とを有する。【選択図】図３
2011034137.tif 000002
【特許請求の範囲】
【請求項１】
分散処理に用いるプログラムのプログラムアイコン及び前記分散処理を実行する計算資源に対応するプロセッサアイコンが入れられるフォルダ又はディレクトリを生成してユーザに提供するグラフィカルユーザインターフェースを表示装置の画面上に表示させるグラフィカルユーザインターフェース生成部と、
前記フォルダ又はディレクトリに前記分散処理を実行するために必要な前記プログラムアイコン及びプロセッサアイコンが揃ったか否かを判定して、揃ったと判定した場合、前記分散処理を実行させる実行管理部と、
を有することを特徴とする分散処理装置。
【請求項２】
前記実行管理部は、前記フォルダ又はディレクトリに対する前記プロセッサアイコンの追加又は削除を検出し、実行中の前記分散処理の並列数を動的に変更することを特徴とする請求項１に記載の分散処理装置。
【請求項３】
前記実行管理部は、前記フォルダ又はディレクトリから全てのプロセッサアイコンが削除されると、実行中の前記分散処理を中断し、前記フォルダ又はディレクトリへ前記全てのプロセッサアイコンのうちのいずれかあるいは前記全てのプロセッサアイコン以外のプロセッサアイコンを追加すると、中断した前記分散処理を再開することを特徴とする請求項１に記載の分散処理装置。
【請求項４】
実行中の前記分散処理で用いている前記プロセッサアイコンが別の分散処理を行っているフォルダ又はディレクトリにコピーされると、
前記実行管理部は、コピーされたプロセッサアイコンに対応する前記計算資源を前記別の分散処理と並行して使用することを特徴とする請求項１に記載の分散処理装置。
【請求項５】
分散処理に用いるプログラムのプログラムアイコン及び前記分散処理を実行する計算資源に対応するプロセッサアイコンが入れられるフォルダ又はディレクトリを生成してユーザに提供するグラフィカルユーザインターフェースを表示装置の画面上に表示させ、
前記フォルダ又はディレクトリに前記分散処理を実行するために必要な前記プログラムアイコン及びプロセッサアイコンが揃ったか否かを判定して、揃ったと判定した場合、前記分散処理を実行させることを特徴とする分散処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散処理装置及び分散処理方法に関し、特に、グラフィカルユーザインターフェースを利用した分散処理を行う分散処理装置及び分散処理方法に関する。
【背景技術】
【０００２】
従来、分散処理を管理する大型計算機、PCクラスタまたはグリッドシステム等で用いられるジョブ管理システムは、複数のユーザ間において計算資源を公平にかつ効率的に共有することを第１の目的としている。そのため、計算機あるいは計算機群をタイムスロットまたは最大同時使用プロセッサ数で時間的あるいは空間的に分割したキューを設けた上で、これらに対して個々のユーザのジョブを割り当てるというジョブ管理を行い、個々のユーザの分散ジョブ同士が干渉しあうことを極力回避する。
【０００３】
例えば、特許文献１には、このようなジョブ管理を行うジョブ実行スケジュール管理方法が提案されている。
【０００４】
このジョブ実行スケジュール管理方法では、ジョブの実行、制御及び監視等をコマンドライン操作、専用のクライアントソフトウエアあるいはウェブブラウザを介して行っている。そのため、ユーザは、分散処理を実行させるために、必要となる特殊な概念の学習及び特別なソフトウエアの操作の習得が必要である。即ち、分散処理を実行あるいは管理するために、ユーザは、キュー等の特殊な概念を理解した上で、専用のソフトウエアを使いこなす必要があり、分散処理の実行あるいは管理を行うことが容易でないという問題があった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−９６１２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、グラフィカルユーザインターフェースを利用して容易に分散処理の管理を行うことができる分散処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様によれば、分散処理に用いるプログラムのプログラムアイコン及び前記分散処理を実行する計算資源に対応するプロセッサアイコンが入れられるフォルダ又はディレクトリを生成してユーザに提供するグラフィカルユーザインターフェースを表示装置の画面上に表示させるグラフィカルユーザインターフェース生成部と、前記フォルダ又はディレクトリに前記分散処理を実行するために必要な前記プログラムアイコン及びプロセッサアイコンが揃ったか否かを判定して、揃ったと判定した場合、前記分散処理を実行させる実行管理部とを有することを特徴とする分散処理装置を提供することができる。
【発明の効果】
【０００８】
本発明の分散処理装置によれば、グラフィカルユーザインターフェースを利用して容易に分散処理の管理を行うことができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の第１の実施の形態に係る分散処理システムの構成を説明するための説明図である。
【図２】パソコン１１０のソフトウエアの構成を説明するための説明図である。
【図３】分散処理装置の構成を説明するための説明図である。
【図４】ファイル処理部の提供するファイルシステムを、GUIを介して表示部に表示した場合の例を説明するための説明図である。
【図５】分散処理の流れの例を説明するためのフローチャートである。
【図６】分散処理の開始前の状態を説明するための説明図である。
【図７】分散処理が開始されたときの状態を説明するための説明図である。
【図８】、出力ファイルが読み出された場合の処理の流れの例を説明するためのフォローチャートである。
【図９】ジョブ実行フォルダからプロセッサファイルを移動した状態を説明するための説明図である。
【図１０】全てのプロセッサファイルをジョブ実行フォルダから取り出したときの状態を説明するための説明図である。
【図１１】使用していた計算資源とは別の計算資源をジョブ実行フォルダにコピーした状態を説明するための説明図である。
【図１２】分散処理の再構成の処理の流れの例を説明するためのフローチャートである。
【図１３】分散処理の中断中における処理の流れの例を説明するためのフローチャートである。
【図１４】分散処理が完了したときのジョブ実行フォルダの状態を説明するための説明図である。
【図１５】図１５は、仮想ファイルが生成された状態を説明するための説明図である。
【図１６】計算資源を同時利用した状態を説明するための説明図である。
【図１７】予約ファイルが生成された状態を説明するための説明図である。
【図１８】スナップショットファイルの生成処理の流れの例を説明するためのフローチャートである。
【図１９】スナップショットファイルの読み出し処理の流れの例を説明するためのフォローチャートである。
【図２０】ジョブ実行フォルダに設定ファイルを置いた状態を説明するための説明図である。
【図２１】進捗状況提示ファイルの例を説明するための説明図である。
【図２２】進行状況提示ファイルの生成処理の流れの例を説明するためのフローチャートである。
【図２３】計算資源情報提示ファイルが生成された状態を説明するための説明図である。
【図２４】仮想ファイルが生成された状態を説明するための説明図である。
【図２５】プロセッサ管理フォルダを階層化した例を説明するための説明図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して本発明の実施の形態について詳細に説明する。
【００１１】
（第１の実施の形態）
まず、図１に基づき、第１の実施の形態に係る分散処理システムの構成について説明する。図１は、本発明の第１の実施の形態に係る分散処理システムの構成を説明するための説明図である。
【００１２】
図１に示すように分散処理システム１００は、パーソナルコンピュータ（以下、パソコンという）１１０及び１１０ａと、テレビジョン装置１３０と、携帯電話端末１４０と、ネットワーク１５０とを有して構成されている。
【００１３】
パソコン１１０、パソコン１１０ａ、テレビジョン装置１３０及び携帯電話端末１４０は、互いにネットワーク１５０を介して接続されている。
【００１４】
パソコン１１０は、本体装置１１１と、記憶装置１１２と、表示部１１４を含む表示装置１１３と、キーボード１１５と、マウス１１６とを有して構成されている。
【００１５】
本体装置１１１は、複数、ここでは８個の中央処理装置（以下、CPUという）１２１〜１２８を有して構成されている。なお、パソコン１１０ａは、パソコン１１０と同様の構成のため、説明を省略する。
【００１６】
テレビジョン装置１３０は、CPU１３１を有し、携帯電話端末１４０は、CPU１４１を有して構成されている。
【００１７】
ユーザは、パソコン１１０のキーボード１１５またはマウス１１６を操作し、計算資源であるCPU１２１〜１２８のいずれか１つあるいは複数に後述する分散処理を実行させる。これらのCPU１２１〜１２８のそれぞれは、後述する分散処理を実行する計算資源である。なお、分散処理を実行する計算資源は、CPU１２１〜１２８に限定されることなく、ネットワーク１５０を介して接続されたパソコン１１０ａのCPU１２１ａ〜１２８ａ、テレビジョン装置１３０のCPU１３１または携帯電話端末１４０のCPU１４１であってもよい。また、分散処理を実行する計算資源は、CPU１２１〜１２８に限定されることなく、GPU（Graphics Processing Unit）またはDSP（Digital Signal Processor）であってもよい。
【００１８】
図２は、パソコン１１０のソフトウエアの構成を説明するための説明図である。  
図２に示すように、パソコン１１０は、CPU１２１〜１２８含むハードウエア（以下、HWという）１６０と、HW１６０上において実行されるプログラム群とを含んで構成される。このプログラム群は、後述するファイル処理部１１を有するオペレーティングシステム（以下、OSという）１６１と、後述するグラフィカルユーザインターフェース（以下、GUIという）を生成するGUI生成プログラム（以下、GUI生成部という）１２を有するアプリケーションプログラム（以下、APという）群１６２とを含んで構成される。なお、GUI生成部１２は、後述するように、分散処理に用いるプログラムファイル及び分散処理を実行する計算資源に対応するプロセッサファイルが入れられるジョブ実行フォルダを生成してユーザに提供するGUIを表示装置１１３の表示部１１４上に表示させる。
【００１９】
OS１６１及びAP群１６２がHW１６０上で実行されることで、後述する分散処理装置が構成される。
【００２０】
図３は、分散処理装置の構成を説明するための説明図である。  
図３に示すように、分散処理装置１は、ファイル処理部１１と、GUI生成部１２と、ファイル処理部用記憶部１３と、計算資源であるCPU１２１〜１２８と、記憶装置１１２とを有して構成される。
【００２１】
ファイル処理部１１は、独自のファイルシステムとしてOS１６１に実装され、分散処理を管理するためのファイル操作に対応する機能を提供する。ファイル処理部１１は、一般的なファイルシステムと同様に、ファイルの読み書き等に対応し、端末として用いるパソコン１１０から認識することで、ユーザにはあたかもGUI生成部１２を介して利用可能なディスクの一部であるかのように見せることができる。
【００２２】
ファイル処理部１１は、計算資源をファイルのアイコンとして示したプロセッサファイルを提供する。ファイル処理部１１は、初期状態において、このプロセッサファイルを、ファイル処理部１１が有する特別なフォルダであるプロセッサ管理フォルダ内に表示してユーザに提示する。
【００２３】
また、ファイル処理部１１は、特別なフォルダであるジョブ管理フォルダを提供し、この下に作られたフォルダ（以下、ジョブ実行フォルダという）を個別の分散処理として認識及び管理し、GUI生成部１２を介して行われるジョブ実行フォルダへのプログラムファイル５１及び入力ファイル５２、プロセッサファイルのコピーに基づいて、分散処理に対する操作を行う。
【００２４】
さらに、ファイル処理部１１は、実際には計算資源に直結した記憶装置１１２上に生成される分散処理の結果の出力ファイルを、あたかもジョブ実行フォルダ下にあるかのように見せる等の機能を提供する。
【００２５】
ファイル処理部１１の動作は、ファイル処理部１１の提供するファイルおよびフォルダに対するファイルオペレーションを検知することで実現する。例えば、ファイル処理部１１をLinux（登録商標）上において実現する場合、ブロックデバイスとして実装し、open、close、mkdir又はunlink等のシステムコールに対応したファイルオペレーションで分散ジョブの管理を行う。なお、本実施の形態では、分散処理の管理をフォルダを用いて行うが、例えば、フォルダに代わり、分散処理の管理をディレクトリを用いて行うようにしてもよい。
【００２６】
GUI生成部１２は、分散処理装置１を用いた分散処理の管理を行う際に、端末として用いるパソコン１１０上で動作し、ユーザと分散処理装置１の間のインタラクションをすべて受け持つ。GUI生成部１２は、端末として利用可能なパソコン１１０に付属し、ファイル及びフォルダの一覧表示、移動、コピーまたは削除等の基本的な操作に対応した一般的なインタフェースである。
【００２７】
ファイル処理部用記憶部１３には、ファイル処理部１１が、ジョブ実行フォルダにコピーされたプログラムファイル５１及び入力ファイル５２等が記憶される。なお、ファイル処理部１１がパソコン１１０上で動作する場合などは、ファイル処理部用記憶部１３を設けずに、代わりに記憶装置１１２の空き領域の一部をファイル処理部１１用の記憶領域として利用してもよい。
【００２８】
CPU１２１〜１２８のそれぞれは、パソコン１１０を介した分散処理において利用可能な計算資源であり、分散処理を実行する対象である。なお、計算資源は、ネットワーク１５０を介して接続された他のCPU、例えば、テレビジョン装置１３０のCPU１３１であってもよい。
【００２９】
記憶装置１１２には、分散処理で用いるプログラムが格納されているプログラムファイル５１及び分散処理の対象となるデータが格納されている入力ファイル５２が記憶されている。記憶装置１１２は、ローカルバスあるいはネットワーク１５０を介して、端末として用いるコンピュータ、例えば、パソコン１１０ａから認識してアクセス可能であり、内部のプログラムファイル５１及び入力ファイル５２は、ファイル形式のアイコンとしてGUI生成部１２を介してユーザに提示される。
【００３０】
なお、本実施の形態の分散処理装置１は、計算資源を利用した分散処理を、ファイル操作を介して行うための装置に関するものである。そのため、複数の計算資源間において並列処理を行うプログラムの作成方法あるいは計算資源に対してプログラム及びデータを転送して実際に計算資源上において分散処理を開始するための処理方法に関しては規定しない。これらについては、既存の様々な分散処理の技術をそのまま利用するものとする。
【００３１】
図４は、ファイル処理部の提供するファイルシステムを、GUIを介して表示部に表示した場合の例を説明するための説明図である。
【００３２】
図４に示すように、ファイル処理部１１のファイルシステムは、「My Distributed Environment」というフォルダ名の分散環境フォルダ２０により提供され、「Processors」というフォルダ名のプロセッサ管理フォルダ３０と「Jobs」というフォルダ名のジョブ管理フォルダ４０との２つのフォルダを提供している。
【００３３】
ファイル処理部１１は、プロセッサ管理フォルダ３０内に、分散処理装置１から利用可能な８個の計算資源、即ち、CPU１２１〜１２８のそれぞれに対応するプロセッサファイル３１〜３８を表示するようにしている。また、図４の例では、分散ジョブが１つも実行されていない状態であり、ジョブ管理フォルダ４０内にはフォルダが存在していない。なお、プロセッサ管理フォルダ３０内のプロセッサファイル３１〜３８のそれぞれは読み出しのみ許可されている。そのため、ユーザは、分散処理を開始する場合、必然的にプロセッサ管理フォルダ３０からプロセッサファイル３１〜３８を移動するのではなく、コピーして利用することになる。
【００３４】
ユーザが新規に分散処理を開始するには、まず、ジョブ管理フォルダ４０内に新規にフォルダを作成する。ジョブ管理フォルダ４０内に作成されたフォルダは、分散ジョブに対応するジョブ実行フォルダとして提供される。ユーザは、このジョブ実行フォルダ内に、分散ジョブを実行するプログラムファイル５１、分散処理の対象となる入力ファイル５２及び分散処理で用いる計算資源に対応したプロセッサファイル３１〜３８等の分散ジョブの実行に必要となるファイルをマウス１１６等の入力指示手段を用いてコピーする。ファイル処理部１１は、ジョブ実行フォルダに必要なファイル、即ち、情報が揃ったか否かを判定する。ファイル処理部１１によって、必要な情報が揃ったと判定されると、ジョブ実行フォルダ内に置かれたプロセッサファイル３１〜３８に対応する計算資源上での分散処理が開始する。
【００３５】
このようにファイル処理部１１は、ジョブ実行フォルダに分散処理を実行するために必要なプログラムファイル５１及びプロセッサファイル３１〜３８が揃ったか否かを判定して、揃ったと判定した場合、分散処理を実行させる実行管理部を構成する。
【００３６】
あるプログラムの実行において、どのような入力ファイル５２及び計算資源が必要となるかは、プログラムに付随するメタ情報として管理されている。ファイル処理部１１は、プログラムファイル５１がジョブ実行フォルダにコピーされた際に、プログラムに付随するメタ情報を参照することにより、必要な情報が揃ったか否かを判定することができる。
【００３７】
なお、メタ情報は、ファイル処理部１１が適宜アクセスし利用できればよく、プログラムにメタ情報を付随させることに限定されず、ファイル処理部１１がプログラム毎にメタ情報を管理するようにしてもよい。ファイル処理部１１は、メタ情報の有無に応じて、そのファイルがプログラムファイル５１か否かを判別することができる。
【００３８】
また、メタ情報に、事前に判明している要求メモリ量や並列度の上限等を含めておくことで、後述するように、ユーザに対して分散処理のヒントを与える。
【００３９】
例えば、実装上は任意の計算資源の数で並列処理可能なプログラムでも、構造上８並列を超えると計算資源の増加に対して性能向上がほとんど得られないことがわかっているような場合、これをメタ情報として保持することで、ファイル処理部１１は、ユーザが９個以上のプロセッサを割当てた際に、無駄なプロセッサファイルを減らすようにヒントを出す仮想ファイルを生成することができる。
【００４０】
ここで、このように実行される分散処理について説明する。図５は、分散処理の流れの例を説明するためのフローチャートである。
【００４１】
まず、ジョブ実行フォルダが作成され（ステップＳ１）、分散処理の必要な情報が全て揃ったか否かが判定される（ステップＳ２）。ジョブ実行フォルダに必要な情報が全て揃っていない場合、NOとなり、ステップＳ１に戻る。一方、必要な情報が全て揃っている場合、YESとなり、分散処理が実行される（ステップＳ３）。分散処理の実行が終了すると、終了処理が実行され（ステップＳ４）、分散処理を終了する。
【００４２】
図６は、分散処理の開始前の状態を説明するための説明図である。  
図６に示すように、ジョブ管理フォルダ４０内には、「H264_Trans」という名前のジョブ実行フォルダ５０が作成され表示されている。このジョブ実行フォルダ５０内には、記憶装置１１２から「TC_H264.prog」というファイル名のプログラムファイル５１及び「soccer.mov」というファイル名の入力ファイル５２がコピーされ、さらに、プロセッサ管理フォルダ３０から４個のプロセッサファイル３１〜３４がコピーされ表示されている。
【００４３】
プログラムファイル５１は、MP４形式の動画ファイルをH264形式の動画ファイルにトランスコード、即ち、変換するプログラムである。入力ファイル５２は、トランスコードの対象である動画ファイルである。
【００４４】
プログラムファイル５１のメタ情報として、拡張子がmovのファイルを入力ファイル５２として扱い、１個の入力ファイル５２と４個のプロセッサファイル３１〜３４とにより分散処理が実行されることが提供されているものとする。この場合、ファイル処理部１１によって必要な情報が揃ったと判定され、ジョブ実行フォルダ５０内に置かれたプロセッサファイル３１〜３４に対応した４つの計算資源を利用した分散処理が開始され、入力ファイル５２に対する分散トランスコーディングが実行される。
【００４５】
なお、分散処理を実行するプログラムによっては、データである入力ファイル５２を必要としないものもある。そのようなプログラムの場合、ジョブ実行フォルダ５０にプログラムファイル５１及びプロセッサファイル３１〜３８の内、必要なプロセッサファイルがコピーされた時点において分散処理が開始される。
【００４６】
分散処理が開始すると、ジョブ実行フォルダ５０内に、出力ファイルを格納するための出力フォルダと、計算資源の負荷及び分散処理の詳細な進捗状況等の分散ジョブの詳細な情報が記述されたテキストファイル（以下、ジョブ情報ファイルという）と、現在の分散ジョブの状態をファイル名で示すファイル（以下、ステートファイルという）とがファイル処理部１１によって生成される。これらの出力フォルダ、ジョブ情報ファイル及びステートファイルは、ファイル処理部１１が動的に生成する仮想ファイルである。特に、ジョブ情報ファイルについては、ユーザがアクセスする度に最新の情報が読み出されるようになっており、これによって、ユーザはテキストエディタあるいはページャを利用した詳細情報のモニタリングが可能となる。
【００４７】
図７は、分散処理が開始されたときの状態を説明するための説明図である。  
図７に示すように、ファイル処理部１１によって必要な情報が揃ったと判定され、分散処理が開始されると、ジョブ実行フォルダ５０内には、出力ファイルをユーザに見せるための「output」というフォルダ名の出力フォルダ５３と、分散ジョブの詳細な情報を読み出すことができる「info.txt」というファイル名のジョブ情報ファイル５４と、分散ジョブが実行中であることを示す「RUNNING」というファイル名のステートファイル５５とが生成される。
【００４８】
出力フォルダ５３内には、プログラムによって生成されつつある「MAQ00001.mp4」というファイル名の出力ファイル５６が表示されている。ユーザは、この出力ファイル５６に直接アクセスすることも可能である。例えば、ユーザは、この出力ファイル５６をストリーミング再生に対応した動画再生ソフトウエア等により開くことで、生成中の処理結果を随時確認することが可能である。
【００４９】
ここで、上述した出力ファイルが読み出された場合の処理を説明する。図８は、出力ファイルが読み出された場合の処理の流れの例を説明するためのフォローチャートである。
【００５０】
まず、ジョブを実行している計算資源のファイルシステムにアクセスする（ステップＳ１１）。計算資源の出力ファイルを必要分読み出す（ステップＳ１２）。読み出した内容を、仮想ファイを読んだ結果として返し（ステップＳ１３）、処理を終了する。
【００５１】
従来、この出力ファイル５６をユーザが回収する場合、ユーザが別途FTP（File Transfer Protocol）等を利用して、計算資源に直結した記憶領域上に生成した分散処理の出力ファイルを回収する必要があった。そのため、ユーザには、個々の計算資源のフォルダ構成及びファイルの回収方法等の、分散処理と本質的に関係のない事項を理解することが要求されていた。本実施の形態の分散処理装置１では、ファイルシステム上で分散処理の管理を行うため、出力ファイル５６等の関連するファイルをジョブ実行フォルダ５０内にあるかのようにユーザに見せることができ、ユーザは分散処理の実行先のフォルダ構成などを意識することなく出力ファイル５６等の取得が可能となる。
【００５２】
分散処理を行っている最中に、ジョブ実行フォルダ５０からプロセッサファイルが削除されるあるいは別のジョブ実行フォルダへ移動されると、プログラムが動的な並列度の変更に対応している場合、分散処理が再構成される。即ち、ジョブ実行フォルダ５０に残されたプロセッサファイルに対応する計算資源のみで分散処理が継続する。
【００５３】
また、分散処理を行っている最中のジョブ実行フォルダ５０に、プロセッサ管理フォルダ３０あるいは別のジョブ実行フォルダ等からプロセッサファイルをコピーあるいは移動すると、同様に分散処理が再構成され、新たに追加されたプロセッサファイルに対応する計算資源を含めた状態において分散処理が継続する。
【００５４】
図９は、ジョブ実行フォルダからプロセッサファイルを移動した状態を説明するための説明図である。ここでは、ジョブ管理フォルダ４０にジョブ実行フォルダ５０とは別のMP3_Encodeというフォルダ名のジョブ実行フォルダ５０ａがユーザによって作成されているものする。
【００５５】
図９に示すように、プロセッサファイル３４をジョブ実行フォルダ５０から別のジョブ実行フォルダ５０ａに移動している。
【００５６】
プログラムファイル５１が動的な並列度の変更に対応したプログラムであった場合、ジョブ実行フォルダ５０内から別のジョブ実行フォルダ５０ａへプロセッサファイル３４を１つ移動させると、これまで４個の計算資源上で並列実行されていた分散処理が中断し、３個の計算資源上で並列実行されるように再構成されて、分散処理が継続する。
【００５７】
一方、プログラムファイル５１が動的な並列度の変更に対応していない場合、ジョブ実行フォルダ５０からプロセッサファイル３４を取り出すと、分散処理は中断した状態となる。
【００５８】
また、プログラムファイル５１が動的な並列度の変更に対応したプログラムであった場合でも、ジョブ実行フォルダ５０から全てのプロセッサファイル、図９の例では、プロセッサファイル３１〜３４を取り出すと、分散処理は中断した状態となる。
【００５９】
分散処理が中断している間、ファイル処理部１１によって、ステートファイル５５のファイル名は、分散処理が中断していることを示すファイル名に変更される。これにより、ユーザはステートファイル５５のファイル名を確認することにより、分散処理が中断した状態と分散処理が実行中の状態とを区別することができる。
【００６０】
プロセッサファイル３４をジョブ実行フォルダ５０から取り出して中断した状態において、再度、プロセッサファイル３４をジョブ実行フォルダ５０に置くと、これまでと同じ計算資源上で分散処理を再開することができる。なお、プログラム側が対応していれば、再開の際にジョブ実行フォルダ５０に置くプロセッサファイルは、これまで使用していた、即ち、中断前に使用していた計算資源に対応するプロセッサファイル３４とは別の計算資源に対応するプロセッサファイルでもよい。即ち、分散ジョブが使用するプロセッサファイルを入れ換える操作を行うことで、分散ジョブのマイグレーションに相当する操作を実現することができる。
【００６１】
分散処理が再開すると、ファイル処理部１１によって、中断状態を示していたステートファイル５５のファイル名は、分散処理が実行中であることを示すファイル名に変更される。
【００６２】
図１０は、全てのプロセッサファイルをジョブ実行フォルダから取り出したときの状態を説明するための説明図である。
【００６３】
図１０は、図９のジョブ実行フォルダ５０の状態から、ジョブ実行フォルダ５０に置かれていた全てのプロセッサファイル３１〜３３をジョブ実行フォルダ５０から取り出した状態を示している。全てのプロセッサファイル３１〜３３がジョブ実行フォルダ５０から取り出されたため、分散処理が中断している。そのため、ステートファイル５５のファイル名は、分散処理が実行中であることを示す「RUNNING」から、分散処理が中断していることを示す「SUSPENDED」にリネームされている。
【００６４】
図１１は、使用していた計算資源とは別の計算資源をジョブ実行フォルダにコピーした状態を説明するための説明図である。
【００６５】
図１１は、図１０の状態に、これまで使っていた計算資源とは別の計算資源、即ち、図１０で取り出したプロセッサファイル３１〜３３とは別のプロセッサファイル３５及び３６をプロセッサ管理フォルダ３０からジョブ実行フォルダ５０にコピーして分散処理を再開させた状態を示している。分散処理が再開しているので、ステートファイル５５のファイル名は、分散処理が中断していることを示す「SUSPENDED」から、分散処理が実行中であることを示す「RUNNING」にリネームされている。
【００６６】
従来の分散処理では、分散処理を「固定された計算資源に対してジョブを割当てる」という形式で管理するため、実行時に動的に並列度を変更可能なプログラムであった場合でも、ユーザは、計算資源の効率的な利用を実現することが難しかった。本実施の形態の分散処理装置１では、分散処理を「ジョブに対して、計算資源を適宜割当てる」という形式で管理するため、動的な並列度の変更に対応したプログラムであれば、ユーザは、利用する計算資源を柔軟に再割当てすることが可能となり、計算資源の効率的な利用を実現することができる。
【００６７】
ここで、上述した分散処理の再構成について説明する。図１２は、分散処理の再構成の処理の流れの例を説明するためのフローチャートである。
【００６８】
まず、プロセッサの追加または削除があったか否かが判定される（ステップＳ２１）。プロセッサの追加または削除がない場合、NOとなり、処理を終了する。一方、プロセッサの追加または削除がある場合、YESとなり、プログラムがプロセッサの追加または削除に対応しているか否かが判定される（ステップＳ２２）。追加または削除に対応していない場合、NOとなり、追加か否かが判定される（ステップＳ２３）。追加の場合、YESとなり、処理を終了する。追加でない、即ち、削除の場合、NOとなり、分散処理を中断し（ステップＳ２４）、処理を終了する。一方、ステップＳ２２において、追加または削除に対応している場合、YESとなり、追加か否かが判定される（ステップＳ２５）。追加の場合、NOとなり、計算資源を確保可能か否かが判定される（ステップＳ２６）。確保可能でない場合、NOとなり、処理を終了する。確保可能な場合、YESとなり、対応する計算資源により再構成が行われ（ステップＳ２７）、処理が終了する。一方、ステップＳ２５において、追加でない、即ち、削除の場合、NOとなり、ステップＳ２７において対応する計算資源により再構成が行われ、処理が終了する。
【００６９】
ここで、ステップＳ２４における分散処理の中断中の処理について説明する。
【００７０】
図１３は、分散処理の中断中における処理の流れの例を説明するためのフローチャートである。
【００７１】
まず、再開に必要なものが揃ったか否かが判定される（ステップＳ３１）。再開に必要なものが揃っていない場合、NOとなり、処理を終了する。一方、再開に必要なものが揃った場合、YESとなり、計算資源を確保して分散ジョブを再開し（ステップＳ３２）、処理を終了する。
【００７２】
分散処理が再開した後、分散処理が完了すると、ファイル処理部１１によって、ステートファイル５５のファイル名は、分散処理が完了したことを示すファイル名に変更される。
【００７３】
図１４は、分散処理が完了したときのジョブ実行フォルダの状態を説明するための説明図である。図１４に示すように、分散処理が完了すると、ステートファイル５５のファイル名は、分散処理が実行中であることを示す「RUNNING」から分散処理が完了したことを示す「DONE」に変更される。
【００７４】
これにより、ユーザは特別なインタフェースを必要とせずに、ステートファイル５５の名前を見るだけで、分散処理の現在の情報を容易に把握することができる。
【００７５】
分散処理が完了すると、ジョブ実行フォルダ５０は、図１４に示す状態で残存する。ユーザがジョブ実行フォルダ５０に入力ファイル５２とは別の新たな入力ファイルを置くと、その入力ファイルに対する分散処理が新たに開始される。
【００７６】
以上のように、分散処理装置１は、分散ジョブがフォルダとして表現されており、分散ジョブの管理及び制御をファイル及びフォルダ操作で可能であることから、ユーザは使い慣れたファイルマネージャ等を介して分散処理を管理することができ、新たな操作体系の学習が不要となる。
【００７７】
よって、本実施の形態の分散処理装置によれば、グラフィカルユーザインターフェースを利用して容易に分散処理の管理を行うことができる。
【００７８】
なお、分散処理装置１を利用した応用例としては、分散処理装置１を、演算装置を備えたUSBメモリのようなデバイスに組み込むことが考えられる。予め、このようなデバイスの提供するジョブ管理フォルダに、特定のプログラムファイルを保持した状態でジョブ管理フォルダまで用意しておくことで、ユーザはUSBメモリを装着し、そこに処理対象となるデータをコピーするだけで、このデバイス上の計算資源を利用して演算を行うことができる。このような場合、パソコン１１０のOS１６１あるいはアーキテクチャに依存せずにUSBメモリを装着する感覚で外部の演算装置を利用することが可能となる。
【００７９】
（第２の実施の形態）
次に、第２の実施の形態について説明する。なお、以下の第２〜第１０の実施の形態では、分散処理装置の構成は、第１の実施の形態の分散処理装置１と同様なため説明を省略する。上述したように、プログラムが動的な並列度の変更に対応していない場合、分散処理が実行されている状態で、ジョブ実行フォルダ５０からプロセッサファイルを１個取り出すと、その時点で分散処理が中断する。
【００８０】
また、マイグレーションに対応していないプログラムの場合、全てのプロセッサファイルを取り出して分散処理を中断した後に再開させるには、元々使用していた計算資源に相当するプロセッサファイルをジョブ実行フォルダ５０内に置く必要がある。
【００８１】
このような状況を、ユーザに的確に伝えるために、ファイル処理部１１は、必要に応じて、ユーザの操作を促すための仮想ファイを作成する。
【００８２】
図１５は、仮想ファイルが生成された状態を説明するための説明図である。  
図１５は、動的な並列度の変更あるいはマイグレーションに対応しないプログラムに計算資源を４つ割り当てて起動した後、プロセッサファイル３４をジョブ実行フォルダ５０から取り出した状態を示している。この場合、分散処理が中断するため、ステートファイル５５は中断を示す「SUSPENDED」というファイル名に変更される。さらに、ジョブ実行フォルダ５０には、取り出したプロセッサファイル３４をジョブ実行フォルダ５０内に再び戻すことを要求する仮想ファイル５７が生成される。
【００８３】
この仮想ファイル５７には、「cpu3.pu」というファイル名のプロセッサファイル３４をジョブ実行フォルダ５０に戻すことを要求する「request_cpu3.pureq」というファイル名が付けられている。この仮想ファイル５７は、プロセッサファイル３４のコピーが再びジョブ実行フォルダ５０に置かれることで消える。
【００８４】
ファイル処理部１１がこのような仮想ファイル５７を生成することで、最終的な操作あるいは判断をユーザに委ねることができる。これにより、ユーザは、問題点あるいは解決方法を理解することができ、分散処理への理解を高めることができる。
【００８５】
（第３の実施の形態）
次に、第３の実施の形態について説明する。
【００８６】
分散処理を実行中に、その分散ジョブのジョブ実行フォルダからプロセッサファイルを別のジョブ実行フォルダにコピーした場合、計算資源がコンテキストスイッチなどで並行利用できるのであれば、ファイル処理部１１は、元々実行中の分散ジョブと、コピー先のジョブ実行フォルダに対応する分散ジョブとの間でプロセッサファイルに対応する計算資源を同時利用する指示を出すことができる。同様に、既に分散処理で利用中の計算資源に対応するプロセッサファイルをプロセッサ管理フォルダ３０からジョブ実行フォルダにコピーした場合にも、ファイル処理部１１は、計算資源がコンテキストスイッチなどで並行利用できるのであれば、元々実行中の分散ジョブと、コピー先のジョブ実行フォルダに対応する分散ジョブとの間でプロセッサファイルに対応する計算資源を同時利用する指示を出すことができる。
【００８７】
また、計算資源が並行利用できない場合、あるいは既に同時利用可能な最大数の分散ジョブで計算資源が利用されている場合、ファイル処理部１１は、コピーした時点でプロセッサファイルを予約したことを示す特殊なファイル（以下、予約ファイルという）を生成する。予約ファイルは、計算資源が利用可能となると消え、代わりに通常のプロセッサファイルのコピーが生成される。
【００８８】
図１６は、計算資源を同時利用した状態を説明するための説明図である。
【００８９】
図１６では、ジョブ実行フォルダ５０で管理される分散ジョブのプロセッサファイル３３及び３４の２個を、別の分散ジョブであるジョブ実行フォルダ５０ａにコピーしている。これにより、コピーされた２個の計算資源は、２つの分散ジョブで同時利用されるようになる。
【００９０】
図１７は、予約ファイルが生成された状態を説明するための説明図である。
【００９１】
図１７では、ジョブ実行フォルダ５０で管理される分散ジョブで利用している計算資源が、複数ジョブによる同時利用に対応していないため、プロセッサファイル３３及び３４をコピーしたことで、別の分散ジョブであるジョブ実行フォルダ５０ａには、プロセッサの予約を示す２つの予約ファイル５８及び５９が生成されている。
【００９２】
予約ファイル５８は、「cpu2（stub）.pursv」というファイル名であり、ファイル５９は、「cpu3（stub）.pursv」というファイル名である。ジョブ実行フォルダ５０ａでは、予約した計算資源が実際に利用可能になるまで分散ジョブが待っていることを示す「WAITING」という名前のステートファイル５５ａが生成されている。
【００９３】
以上により、ユーザは、同じ計算資源に対応するプロセッサファイルを複数のジョブ実行フォルダにコピーすることで、計算資源を異なるジョブ間において同時に利用するという指示を直感的に行えるようになる。また、ユーザは、計算資源を共用しようとしたができなかった際に、そのまま予約状態とすることで、ジョブキューの概念を用いずに、直感的に予約を行えるようになる。
【００９４】
（第４の実施の形態）
次に、第４の実施の形態について説明する。
【００９５】
分散ジョブが中断した際に、ジョブ実行フォルダ５０ごとハードディスク上のファイルシステムなどにコピーすることで、中断した分散ジョブのバックアップを取ることができる。また、このバックアップしたジョブ実行フォルダ５０をジョブ管理フォルダ４０に再度置くことで、ジョブを再開することができる。ファイル処理部１１は、分散処理が中断した段階で、再開に必要となる分散ジョブのスナップショット(以下スナップショットファイル)を、ジョブ実行フォルダ５０内に生成する。この結果、バックアップしたジョブ実行フォルダ５０をジョブ管理フォルダ４０に再度置くことで、ジョブを再開することができる。
【００９６】
ここで、スナップショットファイルの生成処理について説明する。
【００９７】
図１８は、スナップショットファイルの生成処理の流れの例を説明するためのフローチャートである。
【００９８】
まず、ジョブが実行中か否かが判定される（ステップＳ４１）。ジョブが実行中でない場合、NOとなり、ステップＳ４３に進む。一方、ジョブが実行中の場合、ジョブを中断する（ステップＳ４２）。スナップショットファイルを作成し（ステップＳ４３）、処理を終了する。
【００９９】
図１９は、スナップショットファイルの読み出し処理の流れの例を説明するためのフォローチャートである。
【０１００】
まず、スナップショットファイルのデータを読み出し元に返す（ステップＳ５１）。ジョブが実行中であったか否かが判定される（ステップＳ５２）。ジョブが実行中でなかった場合、NOとなり、処理を終了する。一方、ジョブが実行中であった場合、YESとなり、ジョブを再開し（ステップＳ５３）、処理を終了する。
【０１０１】
以上により、ユーザは、ジョブのスナップショットのバックアップという操作をジョブ実行フォルダ５０のコピーをとるという動作から容易に連想できるため、ジョブのスナップショットのバックアップという操作を容易に理解できるようになる。
【０１０２】
（第５の実施の形態）
次に、第５の実施の形態について説明する。
【０１０３】
ジョブ実行フォルダ５０自体を削除すると、分散ジョブそのものが抹消されることになる。ジョブ実行フォルダ５０に対応する分散処理が実行中であればその分散処理は停止し、ジョブ実行フォルダ５０内に置かれたプログラムファイル５１、入力ファイル５２及び生成中の出力ファイル５６等、その分散ジョブに関連したすべてのファイルは消失する。また、ジョブが使用していたプロセッサファイルに対応する計算資源は解放される。
【０１０４】
以上により、ユーザ、関連するファイルも含めてジョブ自体を消すという動作を停止中のジョブ実行フォルダ５０を消すという操作から容易に連想できるため、ジョブ自体を消すという動作を容易に理解できる。
【０１０５】
（第６の実施の形態）
次に、第６の実施の形態について説明する。
【０１０６】
プログラムファイル５１に対して処理のパラメータを指定したい場合、設定ファイルをプログラムファイル５１と共にジョブ実行フォルダ５０に置くことで対応する。
【０１０７】
図２０は、ジョブ実行フォルダに設定ファイルを置いた状態を説明するための説明図である。
【０１０８】
図２０は、ジョブ実行フォルダ５０に、プログラムファイル５１及び入力ファイル５２と共に、「TC_H264_conf.txt」というファイル名の設定ファイル６０が置かれ、表示されている。トランスコーダであるプログラムファイル５１は、設定ファイル６０に書かれた内容に基づいて、出力動画の品質あるいはビットレート等を適宜設定する。プログラムファイル５１が、どのようなファイル名のファイルを設定ファイル６０として利用するかは、メタ情報としてプログラムファイル５１と一緒に提供される。
【０１０９】
以上により、ユーザは、分散処理で実行される処理の設定を容易に変更することができる。
【０１１０】
（第７の実施の形態）
次に、第７の実施の形態について説明する。
【０１１１】
出力ファイルのサイズから処理の進度がわかるようなプログラムを実行した場合、ファイル処理部１１は、出力フォルダ５３に、出力ファイル５６に対応するファイル名の、分散処理の進行状況を表示する仮想ファイル（以下、進行状況提示ファイルという）を生成する。この進行状況提示ファイルでは、ファイル名の一部を利用して、全体処理を１００としたときの完了した処理の割合または予想終了時刻など、もしくはそれをアスキーアート化して表現したものをユーザに提示する。また、この進行状況提示ファイルの中身を画像データとすることで、ファイルのプレビュー機能を備えた入出力インタフェースの機能を利用した場合に、ユーザにグラフなどの形で提示する。
【０１１２】
図２１は、進捗状況提示ファイルの例を説明するための説明図である。
【０１１３】
図２１（ａ）の例では、出力フォルダ５３に「MAQ00001.mp4」というファイル名の生成途中の出力ファイル５６と、その生成途中の出力ファイル５６の進行状況を示す「MAQ00001.mp4_29.png」というファイル名の進行状況提示ファイル６１が表示されている。この進行状況提示ファイル６１のファイル名の「29」という部分で、現在29%まで分散処理が完了していることをユーザに提示する。
【０１１４】
また、図２１（ｂ）の例では、「29」という数字の代わりに、「|>>>_______|」というアスキーアートを用いてグラフを表現し、進行状況を表現している。
【０１１５】
図２１（ｃ）の例では、入出力インタフェースのプレビュー機能を利用して、ファイルの中身をファイルのアイコンとして表示させた状態である。この場合、進行状況提示ファイル６１の中身がパーセンテージの数字と円グラフの両方を含んでおり、ファイル名よりもさらにわかりやすい形で分散処理の進捗状況をユーザに提示することができる。
【０１１６】
あるプログラムの進捗状況を、プログラムの外部から知るための手法は、メタ情報に記述される。
【０１１７】
ここで、進行状況提示ファイル６１の生成処理について説明する。
【０１１８】
図２２は、進行状況提示ファイルの生成処理の流れの例を説明するためのフローチャートである。
【０１１９】
まず。ジョブの状態を確認する（ステップＳ６１）。進捗状況に変化があったか否かが判定される（ステップＳ６２）。進捗状況に変化がなかった場合、NOとなり、ステップＳ６４に進む。進捗状況に変化があった場合、YESとなり、仮想ファイルである進捗状況提示ファイルの再生及び更新が行われる（ステップＳ６３）。そして、ジョブが終了したか否かが判定される（ステップＳ６４）。ジョブが終了していない場合、ステップＳ６１に戻り、同様の処理を繰り返す。一方、ジョブが終了した場合、YESとなり、処理を終了する。
【０１２０】
以上の処理により、ユーザは、特別なソフトの起動を必要とせずに、分散処理の進捗状況を容易に確認することができる。また、アスキーアートあるいはグラフを用いることで、ユーザは分散処理の進捗状況を視覚的に確認でき、分散処理の進捗状況をより容易に確認することができる。
【０１２１】
（第８の実施の形態）
次に、第８の実施の形態について説明する。
【０１２２】
ファイル処理部１１は、プロセッサファイルに対応する名称の、計算資源の情報を示すファイル名を持った仮想ファイル（以下、計算資源情報提示ファイルという）を生成する。計算資源情報提示ファイルでは、第７の実施の形態で述べた進行状況提示ファイルと同様に、ファイル名の一部を利用して、計算資源の負荷、共有数及び予約数等をユーザに提示する。また、ファイル処理部１１は、ファイルの内容を画像として、計算資源の負荷、共有数及び予約数等をユーザに提示する。
【０１２３】
図２３は、計算資源情報提示ファイルが生成された状態を説明するための説明図である。  
図２３（ａ）の例では、cpu2.puに対応するプロセッサファイル３１の計算資源情報提示ファイル６２のファイル名は「cpu2.pu.0.7_2_0.png」である。ユーザはこのファイル名を確認することで、対応する計算資源の負荷が0.7、共有数が2、予約数は0と認識することができる。また、図２３（ｂ）の例では、負荷の部分を、アスキーアートを用いたグラフにしている。図２３（ｃ）の例は、画像をプレビュー表示している状態である。
【０１２４】
この計算資源情報提示ファイル６２の更新については、図２２のフローチャートと同様の処理により実現することができる。
【０１２５】
以上の処理により、特別なソフトの起動を必要とせずに、計算資源情報提示ファイル６２のファイブ名から計算資源の負荷等を容易に確認することができる。また、アスキーアートあるいはグラフを用いることで、ユーザは分散処理の進捗状況を視覚的に確認でき、計算資源の負荷等をより容易に確認することができる。
【０１２６】
（第９の実施の形態）
次に、第９の実施の形態について説明する。
【０１２７】
あるプログラムが割り付けられた分散ジョブに対して、そのプログラムが利用できない計算資源に対応するプロセッサファイルをその分散ジョブのジョブ実行フォルダにコピーした場合、ファイル処理部１１は、利用できない計算資源に対応するプロセッサファイルを削除することをファイル名及びアイコンで指示する仮想ファイルを生成する。
【０１２８】
図２４は、仮想ファイルが生成された状態を説明するための説明図である。  
図２４の例は、GPUの利用に対応しないプログラムが割り付けられたジョブ実行フォルダ５０に対して、「gpu0.pu」という名前のプロセッサファイル６４で表されるGPUを割り付けた状態を示している。この例では、「gpu0.pu」というファイル名のプロセッサファイル６４を削除することを指示する「remove_gpu0.purm」というファイル名の仮想ファイル６５が生成されている。ユーザは、この仮想ファイル６５のファイル名及びアイコンから、プロセッサファイル６４を削除する必要があることを認識できる。
【０１２９】
ファイル処理部１１がこのような仮想ファイル６５を生成することで、最終的な操作あるいは判断をユーザに委ねることができる。これにより、ユーザは、問題点あるいは解決方法を理解することができ、分散処理への理解を高めることができる。
【０１３０】
（第１０の実施の形態）
次に、第１０の実施の形態について説明する。
【０１３１】
分散処理装置１が管理する計算資源に複数の種類があり、プログラムによって実行できる計算資源が異なる場合、計算資源間で識別ができるよう、プロセッサファイルのファイル名にアーキテクチャあるいはノードのタイプなどを含めるようにする。
【０１３２】
また、分散処理装置１が管理する計算資源が、コア単位やクラスタ単位などの物理的な接続の単位でグループ化することができる場合、計算資源を選択する際に、グループを意識して、同一のグループ内の計算資源のみを選択したり、逆に意図的に異なるグループの計算資源を1つずつ選んだりするような選択をユーザが行えるよう、プロセッサ管理フォルダ内のプロセッサファイルをグループにあわせて階層化してユーザに提示する。その際、異なるグループに属する同種の計算資源を同一の分散処理で利用できるよう、各プロセッサファイル名や、各階層のディレクトリ名に、階層名を含めるものとする。これは、ファイル名に階層名を含めない場合、異なるディレクトリ下に同じ名前のファイルが存在することになり、それぞれをジョブ実行フォルダにコピーしようとすると、名前が衝突して上書きされてしまうためである。
【０１３３】
図２５は、プロセッサ管理フォルダを階層化した例を説明するための説明図である。  
図２５は、分散処理装置１を利用して、例えば、プレイステーション３と４ノード構成のPCクラスタを管理している際の、プロセッサ管理フォルダ３０内の状況を示している。このような場合、プロセッサ管理フォルダ３０下に直接プロセッサファイルが置かれず、ネットワーク１５０越しに接続されたプレイステーション３を示す「PS3」と、同じくネットワーク越しに接続された４ノード構成のPCクラスタを示す「Cluster」の２つの計算資源のグループがフォルダとして存在している。PS3フォルダ７０内には、PS3の搭載するCellBEチップ内の７個のSPEと１個のPPEの合計８個のコアがプロセッサファイル７１〜７８として表示されている。ユーザは、ファイル名を通じて、それぞれの種類と、それがどこの階層に属していることがわかるようになっている。
【０１３４】
また、Clusterフォルダ８０内には、４つのノードが含まれているが、各ノードが２個のCPUを搭載し、さらに各CPUがデュアルコア構成であるため、ノード及びCPU自体もフォルダで表現される。
【０１３５】
即ち、Clusterフォルダ８０は、２つのフォルダ８５及び８６を有しており、フォルダ８５は、２つのプロセッサファイル８７及び８８を有している。
【０１３６】
各ノードに相当するフォルダの中には、コア単位でプロセッサファイルが置かれている。これにより、ユーザは、同一クラスタで４並列の分散処理を行う場合でも、同一コア間での通信を密に行えるように１ノードの４コアを選択するか、４個のノードから１コアずつ選択して全体で利用可能なメモリ量を増やすかといった選択が可能となる。
【０１３７】
以上のように、同じチップ上に位置する計算資源毎にフォルダを分け、階層化することで、ユーザが多数の計算資源の中から、効率的な計算資源の組み合わせを選択することが可能となる。
【０１３８】
また、計算資源をファイルとしてユーザに提示する際に、計算資源の種類に応じたファイル名をつけることで、ユーザは、計算資源を選択する際にプロセッサアーキテクチャあるいは使用可能なメモリ量等の違いを認識し、適切な計算資源を選択できるようになる。
【０１３９】
なお、本明細書におけるフローチャート中の各ステップは、その性質に反しない限り、実行順序を変更し、複数同時に実行し、あるいは実行毎に異なった順序で実行してもよい。
【０１４０】
本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を変えない範囲において、種々の変更、改変等が可能である。
【符号の説明】
【０１４１】
１…分散処理装置、１１…ファイル処理部、１２…GUI、１３…ファイル処理部用記憶部、２０…分散環境フォルダ、３０…プロセッサ管理フォルダ、３１〜３８…プロセッサファイル、４０…ジョブ管理フォルダ、５０…ジョブ実行フォルダ、５１…プログラムファイル、５２…入力ファイル、５３…出力フォルダ、５４…ジョブ情報ファイル、５５…ステートファイル、５６…出力ファイル、５７…仮想ファイル、５８，５９…予約ファイル、６０…設定ファイル、６１…進行状況提示ファイル、６２，６３…計算資源情報提示ファイル、６４…プロセッサファイル、６５…仮想ファイル、１００…分散処理システム、１１０，１１０ａ…パソコン、１１１…本体装置、１１２…記憶装置、１１３…表示装置、１１４…表示部、１１５…キーボード、１１６…マウス、１２１〜１２８…CPU、１３０…テレビジョン装置、１３１…CPU、１４０…携帯電話端末、１４１…CPU、１５０…ネットワーク、１６０…HW、１６１…OS、１６２…AP群。
【図１】
2011034137.tif 000003
【図２】
2011034137.tif 000004
【図３】
2011034137.tif 000005
【図４】
2011034137.tif 000006
【図５】
2011034137.tif 000007
【図６】
2011034137.tif 000008
【図７】
2011034137.tif 000009
【図８】
2011034137.tif 000010
【図９】
2011034137.tif 000011
【図１０】
2011034137.tif 000012
【図１１】
2011034137.tif 000013
【図１２】
2011034137.tif 000014
【図１３】
2011034137.tif 000015
【図１４】
2011034137.tif 000016
【図１５】
2011034137.tif 000017
【図１６】
2011034137.tif 000018
【図１７】
2011034137.tif 000019
【図１８】
2011034137.tif 000020
【図１９】
2011034137.tif 000021
【図２０】
2011034137.tif 000022
【図２１】
2011034137.tif 000023
【図２２】
2011034137.tif 000024
【図２３】
2011034137.tif 000025
【図２４】
2011034137.tif 000026
【図２５】
2011034137.tif 000027