JP2011034137A - 分散処理装置及び分散処理方法 - Google Patents
分散処理装置及び分散処理方法 Download PDFInfo
- Publication number
- JP2011034137A JP2011034137A JP2009176868A JP2009176868A JP2011034137A JP 2011034137 A JP2011034137 A JP 2011034137A JP 2009176868 A JP2009176868 A JP 2009176868A JP 2009176868 A JP2009176868 A JP 2009176868A JP 2011034137 A JP2011034137 A JP 2011034137A
- Authority
- JP
- Japan
- Prior art keywords
- file
- distributed processing
- folder
- processor
- distributed
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
Abstract
【課題】グラフィカルユーザインターフェースを利用して容易に分散処理の管理を行うことができる分散処理装置を提供する。
【解決手段】分散処理装置1は、分散処理に用いるプログラムのプログラムファイル51及び分散処理を実行する計算資源に対応するプロセッサファイル31〜38が入れられるジョブ実行フォルダ50を生成して表示装置113の表示部114上に表示させるGUI生成部12と、ジョブ実行フォルダ50に分散処理を実行するために必要なプログラムファイル51及びプロセッサファイル31〜38が揃ったか否かを判定して、揃ったと判定した場合、分散処理を実行させるファイル処理部11とを有する。
【選択図】図3
【解決手段】分散処理装置1は、分散処理に用いるプログラムのプログラムファイル51及び分散処理を実行する計算資源に対応するプロセッサファイル31〜38が入れられるジョブ実行フォルダ50を生成して表示装置113の表示部114上に表示させるGUI生成部12と、ジョブ実行フォルダ50に分散処理を実行するために必要なプログラムファイル51及びプロセッサファイル31〜38が揃ったか否かを判定して、揃ったと判定した場合、分散処理を実行させるファイル処理部11とを有する。
【選択図】図3
Description
本発明は、分散処理装置及び分散処理方法に関し、特に、グラフィカルユーザインターフェースを利用した分散処理を行う分散処理装置及び分散処理方法に関する。
従来、分散処理を管理する大型計算機、PCクラスタまたはグリッドシステム等で用いられるジョブ管理システムは、複数のユーザ間において計算資源を公平にかつ効率的に共有することを第1の目的としている。そのため、計算機あるいは計算機群をタイムスロットまたは最大同時使用プロセッサ数で時間的あるいは空間的に分割したキューを設けた上で、これらに対して個々のユーザのジョブを割り当てるというジョブ管理を行い、個々のユーザの分散ジョブ同士が干渉しあうことを極力回避する。
例えば、特許文献1には、このようなジョブ管理を行うジョブ実行スケジュール管理方法が提案されている。
このジョブ実行スケジュール管理方法では、ジョブの実行、制御及び監視等をコマンドライン操作、専用のクライアントソフトウエアあるいはウェブブラウザを介して行っている。そのため、ユーザは、分散処理を実行させるために、必要となる特殊な概念の学習及び特別なソフトウエアの操作の習得が必要である。即ち、分散処理を実行あるいは管理するために、ユーザは、キュー等の特殊な概念を理解した上で、専用のソフトウエアを使いこなす必要があり、分散処理の実行あるいは管理を行うことが容易でないという問題があった。
本発明は、グラフィカルユーザインターフェースを利用して容易に分散処理の管理を行うことができる分散処理装置を提供することを目的とする。
本発明の一態様によれば、分散処理に用いるプログラムのプログラムアイコン及び前記分散処理を実行する計算資源に対応するプロセッサアイコンが入れられるフォルダ又はディレクトリを生成してユーザに提供するグラフィカルユーザインターフェースを表示装置の画面上に表示させるグラフィカルユーザインターフェース生成部と、前記フォルダ又はディレクトリに前記分散処理を実行するために必要な前記プログラムアイコン及びプロセッサアイコンが揃ったか否かを判定して、揃ったと判定した場合、前記分散処理を実行させる実行管理部とを有することを特徴とする分散処理装置を提供することができる。
本発明の分散処理装置によれば、グラフィカルユーザインターフェースを利用して容易に分散処理の管理を行うことができる。
以下、図面を参照して本発明の実施の形態について詳細に説明する。
(第1の実施の形態)
まず、図1に基づき、第1の実施の形態に係る分散処理システムの構成について説明する。図1は、本発明の第1の実施の形態に係る分散処理システムの構成を説明するための説明図である。
まず、図1に基づき、第1の実施の形態に係る分散処理システムの構成について説明する。図1は、本発明の第1の実施の形態に係る分散処理システムの構成を説明するための説明図である。
図1に示すように分散処理システム100は、パーソナルコンピュータ(以下、パソコンという)110及び110aと、テレビジョン装置130と、携帯電話端末140と、ネットワーク150とを有して構成されている。
パソコン110、パソコン110a、テレビジョン装置130及び携帯電話端末140は、互いにネットワーク150を介して接続されている。
パソコン110は、本体装置111と、記憶装置112と、表示部114を含む表示装置113と、キーボード115と、マウス116とを有して構成されている。
本体装置111は、複数、ここでは8個の中央処理装置(以下、CPUという)121〜128を有して構成されている。なお、パソコン110aは、パソコン110と同様の構成のため、説明を省略する。
テレビジョン装置130は、CPU131を有し、携帯電話端末140は、CPU141を有して構成されている。
ユーザは、パソコン110のキーボード115またはマウス116を操作し、計算資源であるCPU121〜128のいずれか1つあるいは複数に後述する分散処理を実行させる。これらのCPU121〜128のそれぞれは、後述する分散処理を実行する計算資源である。なお、分散処理を実行する計算資源は、CPU121〜128に限定されることなく、ネットワーク150を介して接続されたパソコン110aのCPU121a〜128a、テレビジョン装置130のCPU131または携帯電話端末140のCPU141であってもよい。また、分散処理を実行する計算資源は、CPU121〜128に限定されることなく、GPU(Graphics Processing Unit)またはDSP(Digital Signal Processor)であってもよい。
図2は、パソコン110のソフトウエアの構成を説明するための説明図である。
図2に示すように、パソコン110は、CPU121〜128含むハードウエア(以下、HWという)160と、HW160上において実行されるプログラム群とを含んで構成される。このプログラム群は、後述するファイル処理部11を有するオペレーティングシステム(以下、OSという)161と、後述するグラフィカルユーザインターフェース(以下、GUIという)を生成するGUI生成プログラム(以下、GUI生成部という)12を有するアプリケーションプログラム(以下、APという)群162とを含んで構成される。なお、GUI生成部12は、後述するように、分散処理に用いるプログラムファイル及び分散処理を実行する計算資源に対応するプロセッサファイルが入れられるジョブ実行フォルダを生成してユーザに提供するGUIを表示装置113の表示部114上に表示させる。
図2に示すように、パソコン110は、CPU121〜128含むハードウエア(以下、HWという)160と、HW160上において実行されるプログラム群とを含んで構成される。このプログラム群は、後述するファイル処理部11を有するオペレーティングシステム(以下、OSという)161と、後述するグラフィカルユーザインターフェース(以下、GUIという)を生成するGUI生成プログラム(以下、GUI生成部という)12を有するアプリケーションプログラム(以下、APという)群162とを含んで構成される。なお、GUI生成部12は、後述するように、分散処理に用いるプログラムファイル及び分散処理を実行する計算資源に対応するプロセッサファイルが入れられるジョブ実行フォルダを生成してユーザに提供するGUIを表示装置113の表示部114上に表示させる。
OS161及びAP群162がHW160上で実行されることで、後述する分散処理装置が構成される。
図3は、分散処理装置の構成を説明するための説明図である。
図3に示すように、分散処理装置1は、ファイル処理部11と、GUI生成部12と、ファイル処理部用記憶部13と、計算資源であるCPU121〜128と、記憶装置112とを有して構成される。
図3に示すように、分散処理装置1は、ファイル処理部11と、GUI生成部12と、ファイル処理部用記憶部13と、計算資源であるCPU121〜128と、記憶装置112とを有して構成される。
ファイル処理部11は、独自のファイルシステムとしてOS161に実装され、分散処理を管理するためのファイル操作に対応する機能を提供する。ファイル処理部11は、一般的なファイルシステムと同様に、ファイルの読み書き等に対応し、端末として用いるパソコン110から認識することで、ユーザにはあたかもGUI生成部12を介して利用可能なディスクの一部であるかのように見せることができる。
ファイル処理部11は、計算資源をファイルのアイコンとして示したプロセッサファイルを提供する。ファイル処理部11は、初期状態において、このプロセッサファイルを、ファイル処理部11が有する特別なフォルダであるプロセッサ管理フォルダ内に表示してユーザに提示する。
また、ファイル処理部11は、特別なフォルダであるジョブ管理フォルダを提供し、この下に作られたフォルダ(以下、ジョブ実行フォルダという)を個別の分散処理として認識及び管理し、GUI生成部12を介して行われるジョブ実行フォルダへのプログラムファイル51及び入力ファイル52、プロセッサファイルのコピーに基づいて、分散処理に対する操作を行う。
さらに、ファイル処理部11は、実際には計算資源に直結した記憶装置112上に生成される分散処理の結果の出力ファイルを、あたかもジョブ実行フォルダ下にあるかのように見せる等の機能を提供する。
ファイル処理部11の動作は、ファイル処理部11の提供するファイルおよびフォルダに対するファイルオペレーションを検知することで実現する。例えば、ファイル処理部11をLinux(登録商標)上において実現する場合、ブロックデバイスとして実装し、open、close、mkdir又はunlink等のシステムコールに対応したファイルオペレーションで分散ジョブの管理を行う。なお、本実施の形態では、分散処理の管理をフォルダを用いて行うが、例えば、フォルダに代わり、分散処理の管理をディレクトリを用いて行うようにしてもよい。
GUI生成部12は、分散処理装置1を用いた分散処理の管理を行う際に、端末として用いるパソコン110上で動作し、ユーザと分散処理装置1の間のインタラクションをすべて受け持つ。GUI生成部12は、端末として利用可能なパソコン110に付属し、ファイル及びフォルダの一覧表示、移動、コピーまたは削除等の基本的な操作に対応した一般的なインタフェースである。
ファイル処理部用記憶部13には、ファイル処理部11が、ジョブ実行フォルダにコピーされたプログラムファイル51及び入力ファイル52等が記憶される。なお、ファイル処理部11がパソコン110上で動作する場合などは、ファイル処理部用記憶部13を設けずに、代わりに記憶装置112の空き領域の一部をファイル処理部11用の記憶領域として利用してもよい。
CPU121〜128のそれぞれは、パソコン110を介した分散処理において利用可能な計算資源であり、分散処理を実行する対象である。なお、計算資源は、ネットワーク150を介して接続された他のCPU、例えば、テレビジョン装置130のCPU131であってもよい。
記憶装置112には、分散処理で用いるプログラムが格納されているプログラムファイル51及び分散処理の対象となるデータが格納されている入力ファイル52が記憶されている。記憶装置112は、ローカルバスあるいはネットワーク150を介して、端末として用いるコンピュータ、例えば、パソコン110aから認識してアクセス可能であり、内部のプログラムファイル51及び入力ファイル52は、ファイル形式のアイコンとしてGUI生成部12を介してユーザに提示される。
なお、本実施の形態の分散処理装置1は、計算資源を利用した分散処理を、ファイル操作を介して行うための装置に関するものである。そのため、複数の計算資源間において並列処理を行うプログラムの作成方法あるいは計算資源に対してプログラム及びデータを転送して実際に計算資源上において分散処理を開始するための処理方法に関しては規定しない。これらについては、既存の様々な分散処理の技術をそのまま利用するものとする。
図4は、ファイル処理部の提供するファイルシステムを、GUIを介して表示部に表示した場合の例を説明するための説明図である。
図4に示すように、ファイル処理部11のファイルシステムは、「My Distributed Environment」というフォルダ名の分散環境フォルダ20により提供され、「Processors」というフォルダ名のプロセッサ管理フォルダ30と「Jobs」というフォルダ名のジョブ管理フォルダ40との2つのフォルダを提供している。
ファイル処理部11は、プロセッサ管理フォルダ30内に、分散処理装置1から利用可能な8個の計算資源、即ち、CPU121〜128のそれぞれに対応するプロセッサファイル31〜38を表示するようにしている。また、図4の例では、分散ジョブが1つも実行されていない状態であり、ジョブ管理フォルダ40内にはフォルダが存在していない。なお、プロセッサ管理フォルダ30内のプロセッサファイル31〜38のそれぞれは読み出しのみ許可されている。そのため、ユーザは、分散処理を開始する場合、必然的にプロセッサ管理フォルダ30からプロセッサファイル31〜38を移動するのではなく、コピーして利用することになる。
ユーザが新規に分散処理を開始するには、まず、ジョブ管理フォルダ40内に新規にフォルダを作成する。ジョブ管理フォルダ40内に作成されたフォルダは、分散ジョブに対応するジョブ実行フォルダとして提供される。ユーザは、このジョブ実行フォルダ内に、分散ジョブを実行するプログラムファイル51、分散処理の対象となる入力ファイル52及び分散処理で用いる計算資源に対応したプロセッサファイル31〜38等の分散ジョブの実行に必要となるファイルをマウス116等の入力指示手段を用いてコピーする。ファイル処理部11は、ジョブ実行フォルダに必要なファイル、即ち、情報が揃ったか否かを判定する。ファイル処理部11によって、必要な情報が揃ったと判定されると、ジョブ実行フォルダ内に置かれたプロセッサファイル31〜38に対応する計算資源上での分散処理が開始する。
このようにファイル処理部11は、ジョブ実行フォルダに分散処理を実行するために必要なプログラムファイル51及びプロセッサファイル31〜38が揃ったか否かを判定して、揃ったと判定した場合、分散処理を実行させる実行管理部を構成する。
あるプログラムの実行において、どのような入力ファイル52及び計算資源が必要となるかは、プログラムに付随するメタ情報として管理されている。ファイル処理部11は、プログラムファイル51がジョブ実行フォルダにコピーされた際に、プログラムに付随するメタ情報を参照することにより、必要な情報が揃ったか否かを判定することができる。
なお、メタ情報は、ファイル処理部11が適宜アクセスし利用できればよく、プログラムにメタ情報を付随させることに限定されず、ファイル処理部11がプログラム毎にメタ情報を管理するようにしてもよい。ファイル処理部11は、メタ情報の有無に応じて、そのファイルがプログラムファイル51か否かを判別することができる。
また、メタ情報に、事前に判明している要求メモリ量や並列度の上限等を含めておくことで、後述するように、ユーザに対して分散処理のヒントを与える。
例えば、実装上は任意の計算資源の数で並列処理可能なプログラムでも、構造上8並列を超えると計算資源の増加に対して性能向上がほとんど得られないことがわかっているような場合、これをメタ情報として保持することで、ファイル処理部11は、ユーザが9個以上のプロセッサを割当てた際に、無駄なプロセッサファイルを減らすようにヒントを出す仮想ファイルを生成することができる。
ここで、このように実行される分散処理について説明する。図5は、分散処理の流れの例を説明するためのフローチャートである。
まず、ジョブ実行フォルダが作成され(ステップS1)、分散処理の必要な情報が全て揃ったか否かが判定される(ステップS2)。ジョブ実行フォルダに必要な情報が全て揃っていない場合、NOとなり、ステップS1に戻る。一方、必要な情報が全て揃っている場合、YESとなり、分散処理が実行される(ステップS3)。分散処理の実行が終了すると、終了処理が実行され(ステップS4)、分散処理を終了する。
図6は、分散処理の開始前の状態を説明するための説明図である。
図6に示すように、ジョブ管理フォルダ40内には、「H264_Trans」という名前のジョブ実行フォルダ50が作成され表示されている。このジョブ実行フォルダ50内には、記憶装置112から「TC_H264.prog」というファイル名のプログラムファイル51及び「soccer.mov」というファイル名の入力ファイル52がコピーされ、さらに、プロセッサ管理フォルダ30から4個のプロセッサファイル31〜34がコピーされ表示されている。
図6に示すように、ジョブ管理フォルダ40内には、「H264_Trans」という名前のジョブ実行フォルダ50が作成され表示されている。このジョブ実行フォルダ50内には、記憶装置112から「TC_H264.prog」というファイル名のプログラムファイル51及び「soccer.mov」というファイル名の入力ファイル52がコピーされ、さらに、プロセッサ管理フォルダ30から4個のプロセッサファイル31〜34がコピーされ表示されている。
プログラムファイル51は、MP4形式の動画ファイルをH264形式の動画ファイルにトランスコード、即ち、変換するプログラムである。入力ファイル52は、トランスコードの対象である動画ファイルである。
プログラムファイル51のメタ情報として、拡張子がmovのファイルを入力ファイル52として扱い、1個の入力ファイル52と4個のプロセッサファイル31〜34とにより分散処理が実行されることが提供されているものとする。この場合、ファイル処理部11によって必要な情報が揃ったと判定され、ジョブ実行フォルダ50内に置かれたプロセッサファイル31〜34に対応した4つの計算資源を利用した分散処理が開始され、入力ファイル52に対する分散トランスコーディングが実行される。
なお、分散処理を実行するプログラムによっては、データである入力ファイル52を必要としないものもある。そのようなプログラムの場合、ジョブ実行フォルダ50にプログラムファイル51及びプロセッサファイル31〜38の内、必要なプロセッサファイルがコピーされた時点において分散処理が開始される。
分散処理が開始すると、ジョブ実行フォルダ50内に、出力ファイルを格納するための出力フォルダと、計算資源の負荷及び分散処理の詳細な進捗状況等の分散ジョブの詳細な情報が記述されたテキストファイル(以下、ジョブ情報ファイルという)と、現在の分散ジョブの状態をファイル名で示すファイル(以下、ステートファイルという)とがファイル処理部11によって生成される。これらの出力フォルダ、ジョブ情報ファイル及びステートファイルは、ファイル処理部11が動的に生成する仮想ファイルである。特に、ジョブ情報ファイルについては、ユーザがアクセスする度に最新の情報が読み出されるようになっており、これによって、ユーザはテキストエディタあるいはページャを利用した詳細情報のモニタリングが可能となる。
図7は、分散処理が開始されたときの状態を説明するための説明図である。
図7に示すように、ファイル処理部11によって必要な情報が揃ったと判定され、分散処理が開始されると、ジョブ実行フォルダ50内には、出力ファイルをユーザに見せるための「output」というフォルダ名の出力フォルダ53と、分散ジョブの詳細な情報を読み出すことができる「info.txt」というファイル名のジョブ情報ファイル54と、分散ジョブが実行中であることを示す「RUNNING」というファイル名のステートファイル55とが生成される。
図7に示すように、ファイル処理部11によって必要な情報が揃ったと判定され、分散処理が開始されると、ジョブ実行フォルダ50内には、出力ファイルをユーザに見せるための「output」というフォルダ名の出力フォルダ53と、分散ジョブの詳細な情報を読み出すことができる「info.txt」というファイル名のジョブ情報ファイル54と、分散ジョブが実行中であることを示す「RUNNING」というファイル名のステートファイル55とが生成される。
出力フォルダ53内には、プログラムによって生成されつつある「MAQ00001.mp4」というファイル名の出力ファイル56が表示されている。ユーザは、この出力ファイル56に直接アクセスすることも可能である。例えば、ユーザは、この出力ファイル56をストリーミング再生に対応した動画再生ソフトウエア等により開くことで、生成中の処理結果を随時確認することが可能である。
ここで、上述した出力ファイルが読み出された場合の処理を説明する。図8は、出力ファイルが読み出された場合の処理の流れの例を説明するためのフォローチャートである。
まず、ジョブを実行している計算資源のファイルシステムにアクセスする(ステップS11)。計算資源の出力ファイルを必要分読み出す(ステップS12)。読み出した内容を、仮想ファイを読んだ結果として返し(ステップS13)、処理を終了する。
従来、この出力ファイル56をユーザが回収する場合、ユーザが別途FTP(File Transfer Protocol)等を利用して、計算資源に直結した記憶領域上に生成した分散処理の出力ファイルを回収する必要があった。そのため、ユーザには、個々の計算資源のフォルダ構成及びファイルの回収方法等の、分散処理と本質的に関係のない事項を理解することが要求されていた。本実施の形態の分散処理装置1では、ファイルシステム上で分散処理の管理を行うため、出力ファイル56等の関連するファイルをジョブ実行フォルダ50内にあるかのようにユーザに見せることができ、ユーザは分散処理の実行先のフォルダ構成などを意識することなく出力ファイル56等の取得が可能となる。
分散処理を行っている最中に、ジョブ実行フォルダ50からプロセッサファイルが削除されるあるいは別のジョブ実行フォルダへ移動されると、プログラムが動的な並列度の変更に対応している場合、分散処理が再構成される。即ち、ジョブ実行フォルダ50に残されたプロセッサファイルに対応する計算資源のみで分散処理が継続する。
また、分散処理を行っている最中のジョブ実行フォルダ50に、プロセッサ管理フォルダ30あるいは別のジョブ実行フォルダ等からプロセッサファイルをコピーあるいは移動すると、同様に分散処理が再構成され、新たに追加されたプロセッサファイルに対応する計算資源を含めた状態において分散処理が継続する。
図9は、ジョブ実行フォルダからプロセッサファイルを移動した状態を説明するための説明図である。ここでは、ジョブ管理フォルダ40にジョブ実行フォルダ50とは別のMP3_Encodeというフォルダ名のジョブ実行フォルダ50aがユーザによって作成されているものする。
図9に示すように、プロセッサファイル34をジョブ実行フォルダ50から別のジョブ実行フォルダ50aに移動している。
プログラムファイル51が動的な並列度の変更に対応したプログラムであった場合、ジョブ実行フォルダ50内から別のジョブ実行フォルダ50aへプロセッサファイル34を1つ移動させると、これまで4個の計算資源上で並列実行されていた分散処理が中断し、3個の計算資源上で並列実行されるように再構成されて、分散処理が継続する。
一方、プログラムファイル51が動的な並列度の変更に対応していない場合、ジョブ実行フォルダ50からプロセッサファイル34を取り出すと、分散処理は中断した状態となる。
また、プログラムファイル51が動的な並列度の変更に対応したプログラムであった場合でも、ジョブ実行フォルダ50から全てのプロセッサファイル、図9の例では、プロセッサファイル31〜34を取り出すと、分散処理は中断した状態となる。
分散処理が中断している間、ファイル処理部11によって、ステートファイル55のファイル名は、分散処理が中断していることを示すファイル名に変更される。これにより、ユーザはステートファイル55のファイル名を確認することにより、分散処理が中断した状態と分散処理が実行中の状態とを区別することができる。
プロセッサファイル34をジョブ実行フォルダ50から取り出して中断した状態において、再度、プロセッサファイル34をジョブ実行フォルダ50に置くと、これまでと同じ計算資源上で分散処理を再開することができる。なお、プログラム側が対応していれば、再開の際にジョブ実行フォルダ50に置くプロセッサファイルは、これまで使用していた、即ち、中断前に使用していた計算資源に対応するプロセッサファイル34とは別の計算資源に対応するプロセッサファイルでもよい。即ち、分散ジョブが使用するプロセッサファイルを入れ換える操作を行うことで、分散ジョブのマイグレーションに相当する操作を実現することができる。
分散処理が再開すると、ファイル処理部11によって、中断状態を示していたステートファイル55のファイル名は、分散処理が実行中であることを示すファイル名に変更される。
図10は、全てのプロセッサファイルをジョブ実行フォルダから取り出したときの状態を説明するための説明図である。
図10は、図9のジョブ実行フォルダ50の状態から、ジョブ実行フォルダ50に置かれていた全てのプロセッサファイル31〜33をジョブ実行フォルダ50から取り出した状態を示している。全てのプロセッサファイル31〜33がジョブ実行フォルダ50から取り出されたため、分散処理が中断している。そのため、ステートファイル55のファイル名は、分散処理が実行中であることを示す「RUNNING」から、分散処理が中断していることを示す「SUSPENDED」にリネームされている。
図11は、使用していた計算資源とは別の計算資源をジョブ実行フォルダにコピーした状態を説明するための説明図である。
図11は、図10の状態に、これまで使っていた計算資源とは別の計算資源、即ち、図10で取り出したプロセッサファイル31〜33とは別のプロセッサファイル35及び36をプロセッサ管理フォルダ30からジョブ実行フォルダ50にコピーして分散処理を再開させた状態を示している。分散処理が再開しているので、ステートファイル55のファイル名は、分散処理が中断していることを示す「SUSPENDED」から、分散処理が実行中であることを示す「RUNNING」にリネームされている。
従来の分散処理では、分散処理を「固定された計算資源に対してジョブを割当てる」という形式で管理するため、実行時に動的に並列度を変更可能なプログラムであった場合でも、ユーザは、計算資源の効率的な利用を実現することが難しかった。本実施の形態の分散処理装置1では、分散処理を「ジョブに対して、計算資源を適宜割当てる」という形式で管理するため、動的な並列度の変更に対応したプログラムであれば、ユーザは、利用する計算資源を柔軟に再割当てすることが可能となり、計算資源の効率的な利用を実現することができる。
ここで、上述した分散処理の再構成について説明する。図12は、分散処理の再構成の処理の流れの例を説明するためのフローチャートである。
まず、プロセッサの追加または削除があったか否かが判定される(ステップS21)。プロセッサの追加または削除がない場合、NOとなり、処理を終了する。一方、プロセッサの追加または削除がある場合、YESとなり、プログラムがプロセッサの追加または削除に対応しているか否かが判定される(ステップS22)。追加または削除に対応していない場合、NOとなり、追加か否かが判定される(ステップS23)。追加の場合、YESとなり、処理を終了する。追加でない、即ち、削除の場合、NOとなり、分散処理を中断し(ステップS24)、処理を終了する。一方、ステップS22において、追加または削除に対応している場合、YESとなり、追加か否かが判定される(ステップS25)。追加の場合、NOとなり、計算資源を確保可能か否かが判定される(ステップS26)。確保可能でない場合、NOとなり、処理を終了する。確保可能な場合、YESとなり、対応する計算資源により再構成が行われ(ステップS27)、処理が終了する。一方、ステップS25において、追加でない、即ち、削除の場合、NOとなり、ステップS27において対応する計算資源により再構成が行われ、処理が終了する。
ここで、ステップS24における分散処理の中断中の処理について説明する。
図13は、分散処理の中断中における処理の流れの例を説明するためのフローチャートである。
まず、再開に必要なものが揃ったか否かが判定される(ステップS31)。再開に必要なものが揃っていない場合、NOとなり、処理を終了する。一方、再開に必要なものが揃った場合、YESとなり、計算資源を確保して分散ジョブを再開し(ステップS32)、処理を終了する。
分散処理が再開した後、分散処理が完了すると、ファイル処理部11によって、ステートファイル55のファイル名は、分散処理が完了したことを示すファイル名に変更される。
図14は、分散処理が完了したときのジョブ実行フォルダの状態を説明するための説明図である。図14に示すように、分散処理が完了すると、ステートファイル55のファイル名は、分散処理が実行中であることを示す「RUNNING」から分散処理が完了したことを示す「DONE」に変更される。
これにより、ユーザは特別なインタフェースを必要とせずに、ステートファイル55の名前を見るだけで、分散処理の現在の情報を容易に把握することができる。
分散処理が完了すると、ジョブ実行フォルダ50は、図14に示す状態で残存する。ユーザがジョブ実行フォルダ50に入力ファイル52とは別の新たな入力ファイルを置くと、その入力ファイルに対する分散処理が新たに開始される。
以上のように、分散処理装置1は、分散ジョブがフォルダとして表現されており、分散ジョブの管理及び制御をファイル及びフォルダ操作で可能であることから、ユーザは使い慣れたファイルマネージャ等を介して分散処理を管理することができ、新たな操作体系の学習が不要となる。
よって、本実施の形態の分散処理装置によれば、グラフィカルユーザインターフェースを利用して容易に分散処理の管理を行うことができる。
なお、分散処理装置1を利用した応用例としては、分散処理装置1を、演算装置を備えたUSBメモリのようなデバイスに組み込むことが考えられる。予め、このようなデバイスの提供するジョブ管理フォルダに、特定のプログラムファイルを保持した状態でジョブ管理フォルダまで用意しておくことで、ユーザはUSBメモリを装着し、そこに処理対象となるデータをコピーするだけで、このデバイス上の計算資源を利用して演算を行うことができる。このような場合、パソコン110のOS161あるいはアーキテクチャに依存せずにUSBメモリを装着する感覚で外部の演算装置を利用することが可能となる。
(第2の実施の形態)
次に、第2の実施の形態について説明する。なお、以下の第2〜第10の実施の形態では、分散処理装置の構成は、第1の実施の形態の分散処理装置1と同様なため説明を省略する。上述したように、プログラムが動的な並列度の変更に対応していない場合、分散処理が実行されている状態で、ジョブ実行フォルダ50からプロセッサファイルを1個取り出すと、その時点で分散処理が中断する。
次に、第2の実施の形態について説明する。なお、以下の第2〜第10の実施の形態では、分散処理装置の構成は、第1の実施の形態の分散処理装置1と同様なため説明を省略する。上述したように、プログラムが動的な並列度の変更に対応していない場合、分散処理が実行されている状態で、ジョブ実行フォルダ50からプロセッサファイルを1個取り出すと、その時点で分散処理が中断する。
また、マイグレーションに対応していないプログラムの場合、全てのプロセッサファイルを取り出して分散処理を中断した後に再開させるには、元々使用していた計算資源に相当するプロセッサファイルをジョブ実行フォルダ50内に置く必要がある。
このような状況を、ユーザに的確に伝えるために、ファイル処理部11は、必要に応じて、ユーザの操作を促すための仮想ファイを作成する。
図15は、仮想ファイルが生成された状態を説明するための説明図である。
図15は、動的な並列度の変更あるいはマイグレーションに対応しないプログラムに計算資源を4つ割り当てて起動した後、プロセッサファイル34をジョブ実行フォルダ50から取り出した状態を示している。この場合、分散処理が中断するため、ステートファイル55は中断を示す「SUSPENDED」というファイル名に変更される。さらに、ジョブ実行フォルダ50には、取り出したプロセッサファイル34をジョブ実行フォルダ50内に再び戻すことを要求する仮想ファイル57が生成される。
図15は、動的な並列度の変更あるいはマイグレーションに対応しないプログラムに計算資源を4つ割り当てて起動した後、プロセッサファイル34をジョブ実行フォルダ50から取り出した状態を示している。この場合、分散処理が中断するため、ステートファイル55は中断を示す「SUSPENDED」というファイル名に変更される。さらに、ジョブ実行フォルダ50には、取り出したプロセッサファイル34をジョブ実行フォルダ50内に再び戻すことを要求する仮想ファイル57が生成される。
この仮想ファイル57には、「cpu3.pu」というファイル名のプロセッサファイル34をジョブ実行フォルダ50に戻すことを要求する「request_cpu3.pureq」というファイル名が付けられている。この仮想ファイル57は、プロセッサファイル34のコピーが再びジョブ実行フォルダ50に置かれることで消える。
ファイル処理部11がこのような仮想ファイル57を生成することで、最終的な操作あるいは判断をユーザに委ねることができる。これにより、ユーザは、問題点あるいは解決方法を理解することができ、分散処理への理解を高めることができる。
(第3の実施の形態)
次に、第3の実施の形態について説明する。
次に、第3の実施の形態について説明する。
分散処理を実行中に、その分散ジョブのジョブ実行フォルダからプロセッサファイルを別のジョブ実行フォルダにコピーした場合、計算資源がコンテキストスイッチなどで並行利用できるのであれば、ファイル処理部11は、元々実行中の分散ジョブと、コピー先のジョブ実行フォルダに対応する分散ジョブとの間でプロセッサファイルに対応する計算資源を同時利用する指示を出すことができる。同様に、既に分散処理で利用中の計算資源に対応するプロセッサファイルをプロセッサ管理フォルダ30からジョブ実行フォルダにコピーした場合にも、ファイル処理部11は、計算資源がコンテキストスイッチなどで並行利用できるのであれば、元々実行中の分散ジョブと、コピー先のジョブ実行フォルダに対応する分散ジョブとの間でプロセッサファイルに対応する計算資源を同時利用する指示を出すことができる。
また、計算資源が並行利用できない場合、あるいは既に同時利用可能な最大数の分散ジョブで計算資源が利用されている場合、ファイル処理部11は、コピーした時点でプロセッサファイルを予約したことを示す特殊なファイル(以下、予約ファイルという)を生成する。予約ファイルは、計算資源が利用可能となると消え、代わりに通常のプロセッサファイルのコピーが生成される。
図16は、計算資源を同時利用した状態を説明するための説明図である。
図16では、ジョブ実行フォルダ50で管理される分散ジョブのプロセッサファイル33及び34の2個を、別の分散ジョブであるジョブ実行フォルダ50aにコピーしている。これにより、コピーされた2個の計算資源は、2つの分散ジョブで同時利用されるようになる。
図17は、予約ファイルが生成された状態を説明するための説明図である。
図17では、ジョブ実行フォルダ50で管理される分散ジョブで利用している計算資源が、複数ジョブによる同時利用に対応していないため、プロセッサファイル33及び34をコピーしたことで、別の分散ジョブであるジョブ実行フォルダ50aには、プロセッサの予約を示す2つの予約ファイル58及び59が生成されている。
予約ファイル58は、「cpu2(stub).pursv」というファイル名であり、ファイル59は、「cpu3(stub).pursv」というファイル名である。ジョブ実行フォルダ50aでは、予約した計算資源が実際に利用可能になるまで分散ジョブが待っていることを示す「WAITING」という名前のステートファイル55aが生成されている。
以上により、ユーザは、同じ計算資源に対応するプロセッサファイルを複数のジョブ実行フォルダにコピーすることで、計算資源を異なるジョブ間において同時に利用するという指示を直感的に行えるようになる。また、ユーザは、計算資源を共用しようとしたができなかった際に、そのまま予約状態とすることで、ジョブキューの概念を用いずに、直感的に予約を行えるようになる。
(第4の実施の形態)
次に、第4の実施の形態について説明する。
次に、第4の実施の形態について説明する。
分散ジョブが中断した際に、ジョブ実行フォルダ50ごとハードディスク上のファイルシステムなどにコピーすることで、中断した分散ジョブのバックアップを取ることができる。また、このバックアップしたジョブ実行フォルダ50をジョブ管理フォルダ40に再度置くことで、ジョブを再開することができる。ファイル処理部11は、分散処理が中断した段階で、再開に必要となる分散ジョブのスナップショット(以下スナップショットファイル)を、ジョブ実行フォルダ50内に生成する。この結果、バックアップしたジョブ実行フォルダ50をジョブ管理フォルダ40に再度置くことで、ジョブを再開することができる。
ここで、スナップショットファイルの生成処理について説明する。
図18は、スナップショットファイルの生成処理の流れの例を説明するためのフローチャートである。
まず、ジョブが実行中か否かが判定される(ステップS41)。ジョブが実行中でない場合、NOとなり、ステップS43に進む。一方、ジョブが実行中の場合、ジョブを中断する(ステップS42)。スナップショットファイルを作成し(ステップS43)、処理を終了する。
図19は、スナップショットファイルの読み出し処理の流れの例を説明するためのフォローチャートである。
まず、スナップショットファイルのデータを読み出し元に返す(ステップS51)。ジョブが実行中であったか否かが判定される(ステップS52)。ジョブが実行中でなかった場合、NOとなり、処理を終了する。一方、ジョブが実行中であった場合、YESとなり、ジョブを再開し(ステップS53)、処理を終了する。
以上により、ユーザは、ジョブのスナップショットのバックアップという操作をジョブ実行フォルダ50のコピーをとるという動作から容易に連想できるため、ジョブのスナップショットのバックアップという操作を容易に理解できるようになる。
(第5の実施の形態)
次に、第5の実施の形態について説明する。
次に、第5の実施の形態について説明する。
ジョブ実行フォルダ50自体を削除すると、分散ジョブそのものが抹消されることになる。ジョブ実行フォルダ50に対応する分散処理が実行中であればその分散処理は停止し、ジョブ実行フォルダ50内に置かれたプログラムファイル51、入力ファイル52及び生成中の出力ファイル56等、その分散ジョブに関連したすべてのファイルは消失する。また、ジョブが使用していたプロセッサファイルに対応する計算資源は解放される。
以上により、ユーザ、関連するファイルも含めてジョブ自体を消すという動作を停止中のジョブ実行フォルダ50を消すという操作から容易に連想できるため、ジョブ自体を消すという動作を容易に理解できる。
(第6の実施の形態)
次に、第6の実施の形態について説明する。
次に、第6の実施の形態について説明する。
プログラムファイル51に対して処理のパラメータを指定したい場合、設定ファイルをプログラムファイル51と共にジョブ実行フォルダ50に置くことで対応する。
図20は、ジョブ実行フォルダに設定ファイルを置いた状態を説明するための説明図である。
図20は、ジョブ実行フォルダ50に、プログラムファイル51及び入力ファイル52と共に、「TC_H264_conf.txt」というファイル名の設定ファイル60が置かれ、表示されている。トランスコーダであるプログラムファイル51は、設定ファイル60に書かれた内容に基づいて、出力動画の品質あるいはビットレート等を適宜設定する。プログラムファイル51が、どのようなファイル名のファイルを設定ファイル60として利用するかは、メタ情報としてプログラムファイル51と一緒に提供される。
以上により、ユーザは、分散処理で実行される処理の設定を容易に変更することができる。
(第7の実施の形態)
次に、第7の実施の形態について説明する。
次に、第7の実施の形態について説明する。
出力ファイルのサイズから処理の進度がわかるようなプログラムを実行した場合、ファイル処理部11は、出力フォルダ53に、出力ファイル56に対応するファイル名の、分散処理の進行状況を表示する仮想ファイル(以下、進行状況提示ファイルという)を生成する。この進行状況提示ファイルでは、ファイル名の一部を利用して、全体処理を100としたときの完了した処理の割合または予想終了時刻など、もしくはそれをアスキーアート化して表現したものをユーザに提示する。また、この進行状況提示ファイルの中身を画像データとすることで、ファイルのプレビュー機能を備えた入出力インタフェースの機能を利用した場合に、ユーザにグラフなどの形で提示する。
図21は、進捗状況提示ファイルの例を説明するための説明図である。
図21(a)の例では、出力フォルダ53に「MAQ00001.mp4」というファイル名の生成途中の出力ファイル56と、その生成途中の出力ファイル56の進行状況を示す「MAQ00001.mp4_29.png」というファイル名の進行状況提示ファイル61が表示されている。この進行状況提示ファイル61のファイル名の「29」という部分で、現在29%まで分散処理が完了していることをユーザに提示する。
また、図21(b)の例では、「29」という数字の代わりに、「|>>>_______|」というアスキーアートを用いてグラフを表現し、進行状況を表現している。
図21(c)の例では、入出力インタフェースのプレビュー機能を利用して、ファイルの中身をファイルのアイコンとして表示させた状態である。この場合、進行状況提示ファイル61の中身がパーセンテージの数字と円グラフの両方を含んでおり、ファイル名よりもさらにわかりやすい形で分散処理の進捗状況をユーザに提示することができる。
あるプログラムの進捗状況を、プログラムの外部から知るための手法は、メタ情報に記述される。
ここで、進行状況提示ファイル61の生成処理について説明する。
図22は、進行状況提示ファイルの生成処理の流れの例を説明するためのフローチャートである。
まず。ジョブの状態を確認する(ステップS61)。進捗状況に変化があったか否かが判定される(ステップS62)。進捗状況に変化がなかった場合、NOとなり、ステップS64に進む。進捗状況に変化があった場合、YESとなり、仮想ファイルである進捗状況提示ファイルの再生及び更新が行われる(ステップS63)。そして、ジョブが終了したか否かが判定される(ステップS64)。ジョブが終了していない場合、ステップS61に戻り、同様の処理を繰り返す。一方、ジョブが終了した場合、YESとなり、処理を終了する。
以上の処理により、ユーザは、特別なソフトの起動を必要とせずに、分散処理の進捗状況を容易に確認することができる。また、アスキーアートあるいはグラフを用いることで、ユーザは分散処理の進捗状況を視覚的に確認でき、分散処理の進捗状況をより容易に確認することができる。
(第8の実施の形態)
次に、第8の実施の形態について説明する。
次に、第8の実施の形態について説明する。
ファイル処理部11は、プロセッサファイルに対応する名称の、計算資源の情報を示すファイル名を持った仮想ファイル(以下、計算資源情報提示ファイルという)を生成する。計算資源情報提示ファイルでは、第7の実施の形態で述べた進行状況提示ファイルと同様に、ファイル名の一部を利用して、計算資源の負荷、共有数及び予約数等をユーザに提示する。また、ファイル処理部11は、ファイルの内容を画像として、計算資源の負荷、共有数及び予約数等をユーザに提示する。
図23は、計算資源情報提示ファイルが生成された状態を説明するための説明図である。
図23(a)の例では、cpu2.puに対応するプロセッサファイル31の計算資源情報提示ファイル62のファイル名は「cpu2.pu.0.7_2_0.png」である。ユーザはこのファイル名を確認することで、対応する計算資源の負荷が0.7、共有数が2、予約数は0と認識することができる。また、図23(b)の例では、負荷の部分を、アスキーアートを用いたグラフにしている。図23(c)の例は、画像をプレビュー表示している状態である。
図23(a)の例では、cpu2.puに対応するプロセッサファイル31の計算資源情報提示ファイル62のファイル名は「cpu2.pu.0.7_2_0.png」である。ユーザはこのファイル名を確認することで、対応する計算資源の負荷が0.7、共有数が2、予約数は0と認識することができる。また、図23(b)の例では、負荷の部分を、アスキーアートを用いたグラフにしている。図23(c)の例は、画像をプレビュー表示している状態である。
この計算資源情報提示ファイル62の更新については、図22のフローチャートと同様の処理により実現することができる。
以上の処理により、特別なソフトの起動を必要とせずに、計算資源情報提示ファイル62のファイブ名から計算資源の負荷等を容易に確認することができる。また、アスキーアートあるいはグラフを用いることで、ユーザは分散処理の進捗状況を視覚的に確認でき、計算資源の負荷等をより容易に確認することができる。
(第9の実施の形態)
次に、第9の実施の形態について説明する。
次に、第9の実施の形態について説明する。
あるプログラムが割り付けられた分散ジョブに対して、そのプログラムが利用できない計算資源に対応するプロセッサファイルをその分散ジョブのジョブ実行フォルダにコピーした場合、ファイル処理部11は、利用できない計算資源に対応するプロセッサファイルを削除することをファイル名及びアイコンで指示する仮想ファイルを生成する。
図24は、仮想ファイルが生成された状態を説明するための説明図である。
図24の例は、GPUの利用に対応しないプログラムが割り付けられたジョブ実行フォルダ50に対して、「gpu0.pu」という名前のプロセッサファイル64で表されるGPUを割り付けた状態を示している。この例では、「gpu0.pu」というファイル名のプロセッサファイル64を削除することを指示する「remove_gpu0.purm」というファイル名の仮想ファイル65が生成されている。ユーザは、この仮想ファイル65のファイル名及びアイコンから、プロセッサファイル64を削除する必要があることを認識できる。
図24の例は、GPUの利用に対応しないプログラムが割り付けられたジョブ実行フォルダ50に対して、「gpu0.pu」という名前のプロセッサファイル64で表されるGPUを割り付けた状態を示している。この例では、「gpu0.pu」というファイル名のプロセッサファイル64を削除することを指示する「remove_gpu0.purm」というファイル名の仮想ファイル65が生成されている。ユーザは、この仮想ファイル65のファイル名及びアイコンから、プロセッサファイル64を削除する必要があることを認識できる。
ファイル処理部11がこのような仮想ファイル65を生成することで、最終的な操作あるいは判断をユーザに委ねることができる。これにより、ユーザは、問題点あるいは解決方法を理解することができ、分散処理への理解を高めることができる。
(第10の実施の形態)
次に、第10の実施の形態について説明する。
次に、第10の実施の形態について説明する。
分散処理装置1が管理する計算資源に複数の種類があり、プログラムによって実行できる計算資源が異なる場合、計算資源間で識別ができるよう、プロセッサファイルのファイル名にアーキテクチャあるいはノードのタイプなどを含めるようにする。
また、分散処理装置1が管理する計算資源が、コア単位やクラスタ単位などの物理的な接続の単位でグループ化することができる場合、計算資源を選択する際に、グループを意識して、同一のグループ内の計算資源のみを選択したり、逆に意図的に異なるグループの計算資源を1つずつ選んだりするような選択をユーザが行えるよう、プロセッサ管理フォルダ内のプロセッサファイルをグループにあわせて階層化してユーザに提示する。その際、異なるグループに属する同種の計算資源を同一の分散処理で利用できるよう、各プロセッサファイル名や、各階層のディレクトリ名に、階層名を含めるものとする。これは、ファイル名に階層名を含めない場合、異なるディレクトリ下に同じ名前のファイルが存在することになり、それぞれをジョブ実行フォルダにコピーしようとすると、名前が衝突して上書きされてしまうためである。
図25は、プロセッサ管理フォルダを階層化した例を説明するための説明図である。
図25は、分散処理装置1を利用して、例えば、プレイステーション3と4ノード構成のPCクラスタを管理している際の、プロセッサ管理フォルダ30内の状況を示している。このような場合、プロセッサ管理フォルダ30下に直接プロセッサファイルが置かれず、ネットワーク150越しに接続されたプレイステーション3を示す「PS3」と、同じくネットワーク越しに接続された4ノード構成のPCクラスタを示す「Cluster」の2つの計算資源のグループがフォルダとして存在している。PS3フォルダ70内には、PS3の搭載するCellBEチップ内の7個のSPEと1個のPPEの合計8個のコアがプロセッサファイル71〜78として表示されている。ユーザは、ファイル名を通じて、それぞれの種類と、それがどこの階層に属していることがわかるようになっている。
図25は、分散処理装置1を利用して、例えば、プレイステーション3と4ノード構成のPCクラスタを管理している際の、プロセッサ管理フォルダ30内の状況を示している。このような場合、プロセッサ管理フォルダ30下に直接プロセッサファイルが置かれず、ネットワーク150越しに接続されたプレイステーション3を示す「PS3」と、同じくネットワーク越しに接続された4ノード構成のPCクラスタを示す「Cluster」の2つの計算資源のグループがフォルダとして存在している。PS3フォルダ70内には、PS3の搭載するCellBEチップ内の7個のSPEと1個のPPEの合計8個のコアがプロセッサファイル71〜78として表示されている。ユーザは、ファイル名を通じて、それぞれの種類と、それがどこの階層に属していることがわかるようになっている。
また、Clusterフォルダ80内には、4つのノードが含まれているが、各ノードが2個のCPUを搭載し、さらに各CPUがデュアルコア構成であるため、ノード及びCPU自体もフォルダで表現される。
即ち、Clusterフォルダ80は、2つのフォルダ85及び86を有しており、フォルダ85は、2つのプロセッサファイル87及び88を有している。
各ノードに相当するフォルダの中には、コア単位でプロセッサファイルが置かれている。これにより、ユーザは、同一クラスタで4並列の分散処理を行う場合でも、同一コア間での通信を密に行えるように1ノードの4コアを選択するか、4個のノードから1コアずつ選択して全体で利用可能なメモリ量を増やすかといった選択が可能となる。
以上のように、同じチップ上に位置する計算資源毎にフォルダを分け、階層化することで、ユーザが多数の計算資源の中から、効率的な計算資源の組み合わせを選択することが可能となる。
また、計算資源をファイルとしてユーザに提示する際に、計算資源の種類に応じたファイル名をつけることで、ユーザは、計算資源を選択する際にプロセッサアーキテクチャあるいは使用可能なメモリ量等の違いを認識し、適切な計算資源を選択できるようになる。
なお、本明細書におけるフローチャート中の各ステップは、その性質に反しない限り、実行順序を変更し、複数同時に実行し、あるいは実行毎に異なった順序で実行してもよい。
本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を変えない範囲において、種々の変更、改変等が可能である。
1…分散処理装置、11…ファイル処理部、12…GUI、13…ファイル処理部用記憶部、20…分散環境フォルダ、30…プロセッサ管理フォルダ、31〜38…プロセッサファイル、40…ジョブ管理フォルダ、50…ジョブ実行フォルダ、51…プログラムファイル、52…入力ファイル、53…出力フォルダ、54…ジョブ情報ファイル、55…ステートファイル、56…出力ファイル、57…仮想ファイル、58,59…予約ファイル、60…設定ファイル、61…進行状況提示ファイル、62,63…計算資源情報提示ファイル、64…プロセッサファイル、65…仮想ファイル、100…分散処理システム、110,110a…パソコン、111…本体装置、112…記憶装置、113…表示装置、114…表示部、115…キーボード、116…マウス、121〜128…CPU、130…テレビジョン装置、131…CPU、140…携帯電話端末、141…CPU、150…ネットワーク、160…HW、161…OS、162…AP群。
Claims (5)
- 分散処理に用いるプログラムのプログラムアイコン及び前記分散処理を実行する計算資源に対応するプロセッサアイコンが入れられるフォルダ又はディレクトリを生成してユーザに提供するグラフィカルユーザインターフェースを表示装置の画面上に表示させるグラフィカルユーザインターフェース生成部と、
前記フォルダ又はディレクトリに前記分散処理を実行するために必要な前記プログラムアイコン及びプロセッサアイコンが揃ったか否かを判定して、揃ったと判定した場合、前記分散処理を実行させる実行管理部と、
を有することを特徴とする分散処理装置。 - 前記実行管理部は、前記フォルダ又はディレクトリに対する前記プロセッサアイコンの追加又は削除を検出し、実行中の前記分散処理の並列数を動的に変更することを特徴とする請求項1に記載の分散処理装置。
- 前記実行管理部は、前記フォルダ又はディレクトリから全てのプロセッサアイコンが削除されると、実行中の前記分散処理を中断し、前記フォルダ又はディレクトリへ前記全てのプロセッサアイコンのうちのいずれかあるいは前記全てのプロセッサアイコン以外のプロセッサアイコンを追加すると、中断した前記分散処理を再開することを特徴とする請求項1に記載の分散処理装置。
- 実行中の前記分散処理で用いている前記プロセッサアイコンが別の分散処理を行っているフォルダ又はディレクトリにコピーされると、
前記実行管理部は、コピーされたプロセッサアイコンに対応する前記計算資源を前記別の分散処理と並行して使用することを特徴とする請求項1に記載の分散処理装置。 - 分散処理に用いるプログラムのプログラムアイコン及び前記分散処理を実行する計算資源に対応するプロセッサアイコンが入れられるフォルダ又はディレクトリを生成してユーザに提供するグラフィカルユーザインターフェースを表示装置の画面上に表示させ、
前記フォルダ又はディレクトリに前記分散処理を実行するために必要な前記プログラムアイコン及びプロセッサアイコンが揃ったか否かを判定して、揃ったと判定した場合、前記分散処理を実行させることを特徴とする分散処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009176868A JP2011034137A (ja) | 2009-07-29 | 2009-07-29 | 分散処理装置及び分散処理方法 |
US12/818,070 US20110029930A1 (en) | 2009-07-29 | 2010-06-17 | Distributed processing device and distributed processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009176868A JP2011034137A (ja) | 2009-07-29 | 2009-07-29 | 分散処理装置及び分散処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011034137A true JP2011034137A (ja) | 2011-02-17 |
Family
ID=43528175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009176868A Pending JP2011034137A (ja) | 2009-07-29 | 2009-07-29 | 分散処理装置及び分散処理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20110029930A1 (ja) |
JP (1) | JP2011034137A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9733977B2 (en) | 2013-05-31 | 2017-08-15 | Nec Corporation | Distributed processing system, distributed processing device, distributed processing method, and distributed processing program |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USD745560S1 (en) * | 2013-09-03 | 2015-12-15 | Samsung Electronics Co., Ltd. | Display screen or portion thereof with icon |
USD746328S1 (en) * | 2013-09-03 | 2015-12-29 | Samsung Electronics Co., Ltd. | Display screen or portion thereof with icon |
CN103870340B (zh) * | 2014-03-06 | 2017-11-07 | 华为技术有限公司 | 流计算系统中的数据处理方法、控制节点及流计算系统 |
USD754179S1 (en) * | 2014-08-31 | 2016-04-19 | Livongo Health, Inc. | Glucometer display screen with a sound control graphical user interface |
US9672122B1 (en) * | 2014-09-29 | 2017-06-06 | Amazon Technologies, Inc. | Fault tolerant distributed tasks using distributed file systems |
KR102289808B1 (ko) * | 2014-12-23 | 2021-08-13 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | 위젯을 이용한 작업의 수행 방법 및 이를 수행하기 위한 화상형성장치 |
CN105353519A (zh) * | 2015-11-10 | 2016-02-24 | 丹阳佰易视光学眼镜有限公司 | 3d眼镜片 |
US11550820B2 (en) * | 2017-04-28 | 2023-01-10 | Oracle International Corporation | System and method for partition-scoped snapshot creation in a distributed data computing environment |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6473893B1 (en) * | 1997-05-30 | 2002-10-29 | International Business Machines Corporation | Information objects system, method, and computer program organization |
US7367028B2 (en) * | 2001-08-14 | 2008-04-29 | National Instruments Corporation | Graphically deploying programs on devices in a system |
JP4029684B2 (ja) * | 2002-07-26 | 2008-01-09 | セイコーエプソン株式会社 | 印刷システム |
CN100354859C (zh) * | 2003-10-06 | 2007-12-12 | 佳能株式会社 | 信息处理装置、信息处理方法 |
JP4587164B2 (ja) * | 2004-07-28 | 2010-11-24 | キヤノン株式会社 | 印刷システム、印刷制御方法、並びにプログラム |
US20070121146A1 (en) * | 2005-11-28 | 2007-05-31 | Steve Nesbit | Image processing system |
JP4861099B2 (ja) * | 2006-09-08 | 2012-01-25 | キヤノン株式会社 | 画像形成装置、画像処理方法、プログラム |
JP4811589B2 (ja) * | 2006-10-30 | 2011-11-09 | セイコーエプソン株式会社 | 情報処理装置、プリンタドライバ |
FI20075005A0 (fi) * | 2007-01-05 | 2007-01-05 | Airshift Media Oy | Menetelmiä, järjestelmiä ja tietokoneohjelmatuotteita digitaalista mediatuotantoa varten |
JP5014009B2 (ja) * | 2007-07-24 | 2012-08-29 | キヤノン株式会社 | 情報処理装置、情報処理方法、プログラムおよび記憶媒体 |
-
2009
- 2009-07-29 JP JP2009176868A patent/JP2011034137A/ja active Pending
-
2010
- 2010-06-17 US US12/818,070 patent/US20110029930A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9733977B2 (en) | 2013-05-31 | 2017-08-15 | Nec Corporation | Distributed processing system, distributed processing device, distributed processing method, and distributed processing program |
Also Published As
Publication number | Publication date |
---|---|
US20110029930A1 (en) | 2011-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11425194B1 (en) | Dynamically modifying a cluster of computing nodes used for distributed execution of a program | |
JP2011034137A (ja) | 分散処理装置及び分散処理方法 | |
US11263084B2 (en) | Saving program execution state | |
US9826031B2 (en) | Managing distributed execution of programs | |
US9276987B1 (en) | Identifying nodes already storing indicated input data to perform distributed execution of an indicated program in a node cluster | |
US8321558B1 (en) | Dynamically monitoring and modifying distributed execution of programs | |
US8260840B1 (en) | Dynamic scaling of a cluster of computing nodes used for distributed execution of a program | |
JP5400482B2 (ja) | 管理計算機、リソース管理方法、リソース管理プログラム、記録媒体および情報処理システム | |
CN103019802B (zh) | 一种虚拟机管理方法及平台 | |
US10002013B2 (en) | Obtaining virtual machine images from virtualization environments | |
JP4627491B2 (ja) | クラスタコンピュータミドルウェアプログラム、クラスタコンピュータシミュレータプログラム、クラスタコンピュータ用アプリケーションプログラム、およびアプリケーションプログラム開発支援方法 | |
TW201337765A (zh) | 虛擬機監視器管理系統及方法 | |
JP5134149B1 (ja) | ネットワークシステム及びその制御方法 | |
JP6958726B2 (ja) | アプリケーション実行装置、アプリケーション実行方法、およびプログラム | |
JP2008033877A (ja) | 情報処理装置及びos起動方法及びプログラム | |
JP5776776B2 (ja) | データ処理システム、およびデータ処理方法 | |
JP2016051395A (ja) | 画像形成装置およびリソース管理方法 | |
CN109271179B (zh) | 虚拟机应用程序管理方法、装置、设备及可读存储介质 | |
KR102252050B1 (ko) | 가상 머신 인프라스트럭처 구축 방법 및 이를 이용하는 장치 | |
JP2012141887A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP7367758B2 (ja) | 仮想化基盤制御装置、仮想化基盤制御方法および仮想化基盤制御プログラム | |
Kim et al. | A task pipelining framework for e-science workflow management systems | |
JP2022169888A (ja) | 管理装置、管理システム、管理方法、および管理プログラム | |
WO2008069480A1 (en) | Portable storage device for supporting portable computing system and portable computing based system using the same | |
Yoshimura et al. | Towards Compute Flexibility for Genome Analysis in the Hybrid Cloud |