JP2010039526A - コンピュータプログラムおよびマスター計算機 - Google Patents
コンピュータプログラムおよびマスター計算機 Download PDFInfo
- Publication number
- JP2010039526A JP2010039526A JP2008198225A JP2008198225A JP2010039526A JP 2010039526 A JP2010039526 A JP 2010039526A JP 2008198225 A JP2008198225 A JP 2008198225A JP 2008198225 A JP2008198225 A JP 2008198225A JP 2010039526 A JP2010039526 A JP 2010039526A
- Authority
- JP
- Japan
- Prior art keywords
- task
- identifier
- execution result
- data
- tasks
- 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
Landscapes
- Hardware Redundancy (AREA)
Abstract
【課題】高応答性およびリアルタイム性の要求を満たしつつ並列処理を行う。
【解決手段】複数のデータを順番に入力し、入力データに識別子を付与し、最新の入力データの識別子を最新識別子として管理し、入力データから複数のタスクを生成し、最新の入力データに対応する複数のタスクを複数の処理対象タスクとして管理し、スレーブからの要求に応じて処理対象タスクから1つのタスクを選択して送るとともに最新識別子を処理対象識別子として送り、前記スレーブからのタスクの実行結果を処理対象識別子とともに受信し、受信した処理対象識別子が最新識別子に一致しないときはタスクの実行結果を破棄し、一致するときは結果記憶部に記憶し、次のデータが入力されたら結果記憶部内の情報を出力する。
【選択図】図2
【解決手段】複数のデータを順番に入力し、入力データに識別子を付与し、最新の入力データの識別子を最新識別子として管理し、入力データから複数のタスクを生成し、最新の入力データに対応する複数のタスクを複数の処理対象タスクとして管理し、スレーブからの要求に応じて処理対象タスクから1つのタスクを選択して送るとともに最新識別子を処理対象識別子として送り、前記スレーブからのタスクの実行結果を処理対象識別子とともに受信し、受信した処理対象識別子が最新識別子に一致しないときはタスクの実行結果を破棄し、一致するときは結果記憶部に記憶し、次のデータが入力されたら結果記憶部内の情報を出力する。
【選択図】図2
Description
本発明は、一つ以上のスレーブ計算機を用いて並列処理を行なうコンピュータプログラムおよびマスター計算機に関する。
情報処理を効率的に行なう方法として、並列処理(例えば特許文献1)がある。並列処理は、対象の処理を複数のタスクに分割し、それぞれを複数の計算機上で同時に実行することにより、処理を効率化する。特許文献1などの従来の並列処理は、タスクの分割やスレーブプロセスへのタスク割り当てを決定するマスタープロセス(以下、マスター)と、マスターによって割り当てられたタスクを実行するスレーブプロセス(以下、スレーブ)によって実現される。
特開2005-242986号公報
マスターがスレーブへのタスク割り当てを決定する従来の並列処理では、たとえば以下のような問題がある。
(1)マスターが適切にタスクを割り当てるために、マスターがスレーブの状態を管理する必要がある。このため、例えば、スレーブの追加等による性能向上が柔軟にできない。
(2)全てのタスクが終了するまで最終的な出力を得ることができないため、例えば、障害などによりスレーブの処理に遅延が発生した際に、最終的な出力も遅延してしまう。このため、リアルタイム性や高応答性が要求される処理への適応が困難である。
(1)マスターが適切にタスクを割り当てるために、マスターがスレーブの状態を管理する必要がある。このため、例えば、スレーブの追加等による性能向上が柔軟にできない。
(2)全てのタスクが終了するまで最終的な出力を得ることができないため、例えば、障害などによりスレーブの処理に遅延が発生した際に、最終的な出力も遅延してしまう。このため、リアルタイム性や高応答性が要求される処理への適応が困難である。
本発明は、高応答性およびリアルタイム性の要求を満たしつつ並列処理を行うことを可能としたコンピュータプログラムおびマスター計算機を提供する。
本発明の一態様としてのコンピュータプログラムは、
1つ以上のスレーブ計算機を用いて複数のタスクを並列処理するマスター計算機において実行するコンピュータプログラムであって、
コンピュータに
複数のデータをそれぞれ順番に入力するデータ入力ステップと、
前記データが入力されるごとに入力データに異なる識別子を付与する識別子付与ステップと、
最新の入力データに付与される識別子を最新識別子として管理する識別子管理ステップと、
前記入力データをもとに複数のタスクを生成するタスク生成ステップと、
最新の入力データから生成された複数のタスクを複数の処理対象タスクとして管理するタスク管理ステップと、
前記1つ以上のスレーブ計算機の各々からタスク要求を待機する待機ステップと、
前記スレーブ計算機から前記タスク要求を受けたとき、前記複数の処理対象タスクの中から選択される1つのタスクの実行指示を前記スレーブ計算機に送るとともに前記最新識別子を処理対象識別子として前記スレーブ計算機に送るタスク実行指示ステップと、
前記スレーブ計算機から前記タスクの実行結果と前記スレーブ計算機に送った前記処理対象識別子とを受信するタスク実行結果受信ステップと、
受信した処理対象識別子が前記最新識別子と一致するとき、前記タスクの実行結果を実行結果記憶装置に格納し、一致しないとき前記タスクの実行結果を廃棄する実行結果処理ステップと、
前記データ入力ステップにより次のデータが入力されたとき、前記1つ以上のスレーブ計算機の少なくともいずれかによりタスクが実行中であっても前記タスクの実行結果の返信を待つことなく、前記実行結果記憶装置内の情報を出力する出力ステップと、
を実行させることを特徴とする。
1つ以上のスレーブ計算機を用いて複数のタスクを並列処理するマスター計算機において実行するコンピュータプログラムであって、
コンピュータに
複数のデータをそれぞれ順番に入力するデータ入力ステップと、
前記データが入力されるごとに入力データに異なる識別子を付与する識別子付与ステップと、
最新の入力データに付与される識別子を最新識別子として管理する識別子管理ステップと、
前記入力データをもとに複数のタスクを生成するタスク生成ステップと、
最新の入力データから生成された複数のタスクを複数の処理対象タスクとして管理するタスク管理ステップと、
前記1つ以上のスレーブ計算機の各々からタスク要求を待機する待機ステップと、
前記スレーブ計算機から前記タスク要求を受けたとき、前記複数の処理対象タスクの中から選択される1つのタスクの実行指示を前記スレーブ計算機に送るとともに前記最新識別子を処理対象識別子として前記スレーブ計算機に送るタスク実行指示ステップと、
前記スレーブ計算機から前記タスクの実行結果と前記スレーブ計算機に送った前記処理対象識別子とを受信するタスク実行結果受信ステップと、
受信した処理対象識別子が前記最新識別子と一致するとき、前記タスクの実行結果を実行結果記憶装置に格納し、一致しないとき前記タスクの実行結果を廃棄する実行結果処理ステップと、
前記データ入力ステップにより次のデータが入力されたとき、前記1つ以上のスレーブ計算機の少なくともいずれかによりタスクが実行中であっても前記タスクの実行結果の返信を待つことなく、前記実行結果記憶装置内の情報を出力する出力ステップと、
を実行させることを特徴とする。
本発明の一態様としてのマスター計算機は、
1つ以上のスレーブ計算機を用いて複数のタスクを並列処理するマスター計算機であって、
複数のデータをそれぞれ順番に入力するデータ入力手段と、
前記データが入力されるごとに入力データに異なる識別子を付与する識別子付与手段と、
最新の入力データに付与される識別子を最新識別子として管理する識別子管理手段と、
前記入力データをもとに複数のタスクを生成するタスク生成手段と、
最新の入力データから生成された複数のタスクを複数の処理対象タスクとして管理するタスク管理手段と、
前記1つ以上のスレーブ計算機の各々からタスク要求を待機する待機手段と、
前記スレーブ計算機から前記タスク要求を受けたとき、前記複数の処理対象タスクの中から選択される1つのタスクの実行指示を前記スレーブ計算機に送るとともに前記最新識別子を処理対象識別子として前記スレーブ計算機に送るタスク実行指示手段と、
前記スレーブ計算機から前記タスクの実行結果と前記スレーブ計算機に送った前記処理対象識別子とを受信するタスク実行結果受信手段と、
受信した処理対象識別子が前記最新識別子と一致するとき、前記タスクの実行結果を実行結果記憶装置に格納し、一致しないとき前記タスクの実行結果を廃棄する実行結果処理手段と、
前記データ入力手段により次のデータが入力されたとき、前記1つ以上のスレーブ計算機の少なくともいずれかによりタスクが実行中であっても前記タスクの実行結果の返信を待つことなく、前記実行結果記憶装置内の情報を出力する出力手段と、
を備えたことを特徴とする。
1つ以上のスレーブ計算機を用いて複数のタスクを並列処理するマスター計算機であって、
複数のデータをそれぞれ順番に入力するデータ入力手段と、
前記データが入力されるごとに入力データに異なる識別子を付与する識別子付与手段と、
最新の入力データに付与される識別子を最新識別子として管理する識別子管理手段と、
前記入力データをもとに複数のタスクを生成するタスク生成手段と、
最新の入力データから生成された複数のタスクを複数の処理対象タスクとして管理するタスク管理手段と、
前記1つ以上のスレーブ計算機の各々からタスク要求を待機する待機手段と、
前記スレーブ計算機から前記タスク要求を受けたとき、前記複数の処理対象タスクの中から選択される1つのタスクの実行指示を前記スレーブ計算機に送るとともに前記最新識別子を処理対象識別子として前記スレーブ計算機に送るタスク実行指示手段と、
前記スレーブ計算機から前記タスクの実行結果と前記スレーブ計算機に送った前記処理対象識別子とを受信するタスク実行結果受信手段と、
受信した処理対象識別子が前記最新識別子と一致するとき、前記タスクの実行結果を実行結果記憶装置に格納し、一致しないとき前記タスクの実行結果を廃棄する実行結果処理手段と、
前記データ入力手段により次のデータが入力されたとき、前記1つ以上のスレーブ計算機の少なくともいずれかによりタスクが実行中であっても前記タスクの実行結果の返信を待つことなく、前記実行結果記憶装置内の情報を出力する出力手段と、
を備えたことを特徴とする。
本発明により、高応答性およびリアルタイム性の要求を満たしつつ並列処理を行うことができる。
以下、本発明の実施例について図面を用いて説明する。
図1に、本発明の一実施例に係わる並列処理システムの構成を示す。
この並列処理システムは、ネットワーク11を介して接続された計算機1、2、3と、計算機1にそれぞれ接続される入力装置12および出力装置13とを備える。
計算機1では、マスター11が動作し、計算機2、3では、それぞれ、スレーブ12、13が動作する。計算機1はたとえばマスター計算機に相当し、計算機2、3はたとえばスレーブ計算機に相当する。
マスター11は入力装置12から、信号データ等の入力データをたとえば一定時間間隔で受け、スレーブ12、13を用いて並列処理により入力データを離散フーリエ変換し、離散フーリエ変換した結果である周波数スペクトル等の出力データを出力装置13に送信する。
図2にマスター11の構成例を示す。マスター11は、管理部21とタスク公開部22と結果登録部23とタスク記憶部24と結果記憶部25とを備える。タスク公開部22はカウンタ31を有する。結果登録部23は、タイムスタンプ(TS)を保持するタイムスタンプ保持手段(識別子管理手段)32を有する。
管理部21は、複数のデータを順番に入力するデータ入力手段と、データが入力されるごとに入力データに異なる識別子(タイムスタンプ)を付与する識別子付与手段と、入力データをもとに複数のタスクを生成するタスク生成手段と、を有する。管理部21は、最新の入力データの識別子をタイムスタンプ保持手段(識別子管理手段)32に保持させ、また、最新の入力データに対して生成された複数のタスクをタスク記憶部(タスク管理手段)24に登録する。タイムスタンプ保持手段(識別子管理手段)32は、最新の入力データの識別子を最新識別子として管理し、タスク記憶部(タスク管理手段)24は、登録された複数のタスクを複数の処理対象タスクとして管理する。
タスク公開部22は、各スレーブ(計算機)の各々からタスク要求を待機する待機手段と、スレーブからタスク要求を受けたとき、スレーブに対して実行させるタスクをタスク記憶部24(複数の処理対象タスク)から選択してその実行指示をスレーブに送るとともに、最新の識別子を処理対象識別子としてスレーブに送るタスク実行指示手段とを有する。
結果登録部23は、スレーブからタスクの実行結果とスレーブに送った識別子(処理対象識別子)とを受信するタスク実行結果受信手段と、受信した識別子がタイムスタンプ保持手段(識別子管理手段)32内の識別子(最新識別子)と一致しないとき、タスクの実行結果を廃棄する廃棄手段とを有する。結果登録部23は、受信した識別子(処理対象識別子)がタイムスタンプ保持手段32内の識別子と一致するときは、タスクの実行結果を結果記憶部(実行結果記憶装置)25に記憶する。
また管理部21は、次のデータが入力されたとき、スレーブによりタスクが実行中であっても当該スレーブからのタスク実行結果の返信を待たずに、結果記憶部25内の情報を出力する出力手段と、結果記憶部25内の情報が出力された後、結果記憶部25内の情報を消去する消去手段とを有する。
以下、マスター11における各要素の動作にさらに詳細に説明する。
図3は管理部21の処理の流れの一例を示すフローチャートである。ただしこのフローチャートに示される処理の流れはあくまで一例であり、ステップの順序を一部入れ替えることも可能である。
まず、入力装置12より入力データを受信する(S11)。
次に、入力データを受信した時刻をシステムタイマから取得し、取得した時刻を示すタイムスタンプ(TS)を生成し(S12)、生成したTSを結果登録部23のタイムスタンプ保持手段32に設定する(S13)。
次に、結果記憶部25より結果データ(前回の入力データに対して離散フーリエ変換して得たスペクトル等の結果データ)を読み出して内部的に記憶し(S14)、読み出しが完了したら結果記憶部25を初期化(記憶されているデータの消去)する(S15)。
次に、S11で受信した入力データから複数のタスクを作成し、各作成したタスクに、タイムスタンプ保持手段32に設定されているTSをそれぞれ付与する(S16)。
TSを付与したタスク(タスク情報)をタスク記憶部24に記憶し、このとき、古いタスクが残っている場合は、上書きする(S17)。すなわち最新の入力データから生成されたタスクのみをタスク記憶部24は記憶し、それより前の入力データから生成された古いタスクについてはタスク記憶部24から消去する。
次に、タスク公開部22のカウンタ31をリセット(本例では1にリセット)する。タスク公開部22の動作の詳細については後述する。
次に、S14で読み出して内部的に記憶した結果データから出力データ(前回の入力データに対する出力データ)を作成し、作成した出力データを出力装置13に送信する(S20)。
所定時間(信号周期等)待機し、入力データが存在する場合は(S22のYES)、S11に戻って前述の処理を繰り返し、入力データが存在しない場合は(S22のNO)、本処理を終了する。
図4にタスク記憶部24に記憶されるタスク情報の例を示す。
タスク情報は、タスクIDとTSとデータとから構成される。ここでは入力データから512個のタスクが生成されている。タスクIDは、そのタスクで実行される処理を識別するための情報である。
本実施例では、周波数スペクトルにおける各周波数成分の計算を一つのタスクとする。例えば、対象とする信号の基本周波数をfとすると、f周波数成分計算のタスクIDが1、2f周波数成分計算のタスクIDが2、nf周波数成分計算のタスクIDがnなどである。
TSは入力データが受信されたときのシステムタイマの値であり、ここでは12時00分00秒に入力データが受信されたことを示すTSが各タスクに共通に付与されている。
また、演算対象データは、タスクの実行に必要となるデータである。本実施例では、演算対象データは、入力信号データをデジタル化したサンプル値である。ここでは各タスクで用いられる演算対象データはそれぞれ同一であるが、各タスクで異なる演算対象データが用いられてもよい。
図5はタスク公開部22の処理の流れの一例を示すフローチャートである。
タスク公開部22は、管理部21によりカウンタ31がリセットされたら(図3のS18参照)、カウンタ値がタスク分割数(最大タスク数)以下の場合に(S32のYES)、スレーブ12、13からのタスク要求を待機する(S33)。
スレーブからのタスク要求を受信すると、カウンタ値と同じ値をタスクIDとして持つタスク情報(タスクID、TSおよび演算対象データ)を選択し、選択したタスク情報をそのスレーブに送信する(S34)。
送信が完了したらカウンタ値を1増やし、S32に戻って前述の処理を繰り返す。ただし、カウンタ値がタスク分割数(最大タスク数)より大きい場合は、管理部21によってカウンタがリセットされるのを待機する。ただし、処理を継続しない場合(たとえば管理部21から終了信号が入力された場合)は(S36のNO)、本処理を終了する。
図6は結果登録部23の処理の流れの一例を示すフローチャートである。
結果登録部23は、スレーブから処理結果が返されるのを待機し、スレーブから返される処理結果を受信する(S41)。処理結果には、タスク情報に含まれていたのと同じタスクIDおよびTSと、タスク情報に含まれていたタスクを処理して得た実行結果データとが含まれる。
受信した処理結果に含まれるTSが、結果登録部23のタイムスタンプ保持手段32に設定されているTSと等しければ(S42のYES)、受信した処理結果を結果記憶部25に登録する(S43)。
受信した処理結果に含まれるTSが結果登録部23のタイムスタンプ保持手段32に設定されたTSと異なる場合、その処理結果は、過去の周期のもの(出力済)であるため、破棄される(S44)。
S43またはS44の後、S41に戻って上述と同様の処理を繰り返す。ただし継続しない場合(たとえば管理部21から終了信号が入力された場合)は(S45のNO)、本処理を終了する。
図7はスレーブ12、13の処理の流れの一例を示すフローチャートである。
スレーブは、マスター11のタスク公開部22からタスク情報(タスクID、TS、演算対象データ)を取得し(S51)、受信したタスク情報に含まれるタスクIDに対応する処理を実行する(S52)。
処理を実行したら、タスクの処理結果に、受信したタスク情報に含まれるタスクIDとTSを付与してマスター11の結果登録部23に送信する(S53)。スレーブから送信される情報の一例を図8に示す。ここには、タスクIDが「1」、TSが「12:00:00」、タスクの処理結果が「512+0×j(jは虚数)」である例が示される。上述したように結果登録部23に送信された情報は、当該情報に含まれるTSが、タイムスタンプ保持手段32に保持される値と一致するときは結果記憶部25に記憶される。
図9は、マスター11の結果登録部23によって結果記憶部25に記憶された情報の例を示す。
”N/A”は、処理結果が、未登録であることを示す。ここではタスクID3〜512の処理結果が未登録である。未登録のケースとしては、当該タスクIDのタスク情報がまだスレーブに送信されてない場合、あるいは送信されたが、まだスレーブから処理の結果が返されてない場合などがある。
管理部21は、未登録以外の処理結果を用いて出力データを決定する(図3のS19参照)。例えば、結果記憶部25に記憶される情報が図9に示されるものであれば、周波数成分fと2fのスペクトル値のみから出力データを生成して出力する。
次に、本実施例の効果である品質の調節による高応答性(リアルタイム性)の実現について説明する。説明を簡単にするため、ネットワークの遅延等については無視する。
離散的フーリエ変換では、出力される周波数成分の数を、処理の品質と考えることができる。例えば、最大で512個の周波数成分を計算する場合、512個全ての周波数成分が計算できた場合は、半分の256個の周波数成分しか計算できなかった場合より、高品質な処理が実行されたとみなせる。
図1のスレーブ12、13はそれぞれ単位時間(1秒とする)あたり、256個の周波数成分を計算できるとし、図1のシステム全体では、最大で512個の周波数成分を計算できるものとする。
図1に示すように、スレーブ12、13がともに利用可能(マスターと通信可能)であれば、1秒で512個の全て周波数成分を計算することができる。しかしながら、例えば、図10に示すようにネットワーク障害などにより計算機3、すなわちスレーブ13がマスター11に接続できない場合、処理を実行できるのがスレーブ12のみとなる。このとき、全ての周波数成分を計算するためには、2秒かかってしまう。従来の並列処理では、全ての計算が終了するのを待つ必要があるため、処理結果はリアルタイムに出力されず、遅延が発生してしまう。この遅延波、信号処理等のリアルタイム性が要求されるアプリケーションでは、大きな問題となる。
この点、本実施例では、マスター11が、一定時間毎に、結果記憶部25に記憶された情報を基に出力データを生成するため、出力データの品質は下がるものの、処理結果をリアルタイムに出力することができ、処理の遅延を阻止できる。例えば、図10に示した状況では、512個のおよそ半分の256個の周波数成分がリアルタイムに出力される。さらに、マスター11の処理は、スレーブの数と独立しているため、例えば、図10のシステムでネットワーク接続が復旧し、スレーブ13が利用可能になったら、品質を再度向上させることも容易にできる。
また本実施例では、結果登録部23におけるタイムスタンプ保持手段32にTSを設定し、スレーブから返された情報に含まれるTSが保持手段32の値と一致しないときは当該情報を破棄するようにしているため、前回の入力データに起因するタスクの実行結果が、次回の入力データに起因するタスクの実行結果と混ざって結果記憶部25に記憶されるという事態の発生を、阻止することができる。
なお、本実施例では、図3のステップS15において結果記憶部25の情報を消去するようにしているが消去しない構成も可能である。この場合、ステップS14の読み出しでは、結果記憶部25から、前回の入力データに付されたTSの結果データのみ読み出すようにし、前回の入力データより古いTSが付された結果データは無視するようにすればよい。本実施例では、結果記憶部25を消去するようにしているため、読み出しの際に、TSに基づく判断の必要はなく、処理負荷が軽くてすむ。したがって、本実施例では結果記憶部25にTSを記憶しているがTSを記憶しなくとも本発明は実施可能である。
このように、本実施例によれば、並列処理システムにおいて、障害やその復旧により利用可能な計算機に増減があった場合でも、品質を調節しつつリアルタイム性や高応答性を容易に実現できる。
なお、以上に説明した各実施例におけるマスター計算機は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。すなわち、マスター計算機における管理部、タスク公開部、結果登録部、カウンタは、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。このとき、マスター計算機は、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、CD−ROMなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。また、タスク記憶部および結果記憶部は、上記のコンピュータ装置に内蔵あるいは外付けされたメモリ、ハードディスクもしくはCD−R、CD−RW、DVD−RAM、DVD−Rなどの記憶媒体などを適宜利用して実現することができる。
21:管理部
22:タスク公開部
23:結果登録部
24:タスク記憶部
25:結果記憶部
31:カウンタ
32:タイムスタンプ保持手段(識別子管理手段)
22:タスク公開部
23:結果登録部
24:タスク記憶部
25:結果記憶部
31:カウンタ
32:タイムスタンプ保持手段(識別子管理手段)
Claims (8)
- 1つ以上のスレーブ計算機を用いて複数のタスクを並列処理するマスター計算機において実行するコンピュータプログラムであって、
コンピュータに
複数のデータをそれぞれ順番に入力するデータ入力ステップと、
前記データが入力されるごとに入力データに異なる識別子を付与する識別子付与ステップと、
最新の入力データに付与される識別子を最新識別子として管理する識別子管理ステップと、
前記入力データをもとに複数のタスクを生成するタスク生成ステップと、
最新の入力データから生成された複数のタスクを複数の処理対象タスクとして管理するタスク管理ステップと、
前記1つ以上のスレーブ計算機の各々からタスク要求を待機する待機ステップと、
前記スレーブ計算機から前記タスク要求を受けたとき、前記複数の処理対象タスクの中から選択される1つのタスクの実行指示を前記スレーブ計算機に送るとともに前記最新識別子を処理対象識別子として前記スレーブ計算機に送るタスク実行指示ステップと、
前記スレーブ計算機から前記タスクの実行結果と前記スレーブ計算機に送った前記処理対象識別子とを受信するタスク実行結果受信ステップと、
受信した処理対象識別子が前記最新識別子と一致するとき、前記タスクの実行結果を実行結果記憶装置に格納し、一致しないとき前記タスクの実行結果を廃棄する実行結果処理ステップと、
前記データ入力ステップにより次のデータが入力されたとき、前記1つ以上のスレーブ計算機の少なくともいずれかによりタスクが実行中であっても前記タスクの実行結果の返信を待つことなく、前記実行結果記憶装置内の情報を出力する出力ステップと、
を実行させることを特徴とするコンピュータプログラム。 - 前記実行結果記憶装置の情報が出力された後、前記実行結果記憶装置内の情報を消去する消去ステップをさらに前記コンピュータに実行させるための請求項1に記載のコンピュータプログラム。、
- 前記識別子付与ステップは、前記データが入力された時刻を前記識別子として付与する
ことを特徴とする請求項1または2に記載のコンピュータプログラム。 - 前記タスク生成ステップは、前記複数のタスクに優先順位を設定し、
前記タスク実行指示ステップは、優先順位の高いものから順番にタスクを選択する
ことを特徴とする請求項1ないし3のいずれか一項に記載のコンピュータプログラム。 - 1つ以上のスレーブ計算機を用いて複数のタスクを並列処理するマスター計算機であって、
複数のデータをそれぞれ順番に入力するデータ入力手段と、
前記データが入力されるごとに入力データに異なる識別子を付与する識別子付与手段と、
最新の入力データに付与される識別子を最新識別子として管理する識別子管理手段と、
前記入力データをもとに複数のタスクを生成するタスク生成手段と、
最新の入力データから生成された複数のタスクを複数の処理対象タスクとして管理するタスク管理手段と、
前記1つ以上のスレーブ計算機の各々からタスク要求を待機する待機手段と、
前記スレーブ計算機から前記タスク要求を受けたとき、前記複数の処理対象タスクの中から選択される1つのタスクの実行指示を前記スレーブ計算機に送るとともに前記最新識別子を処理対象識別子として前記スレーブ計算機に送るタスク実行指示手段と、
前記スレーブ計算機から前記タスクの実行結果と前記スレーブ計算機に送った前記処理対象識別子とを受信するタスク実行結果受信手段と、
受信した処理対象識別子が前記最新識別子と一致するとき、前記タスクの実行結果を実行結果記憶装置に格納し、一致しないとき前記タスクの実行結果を廃棄する実行結果処理手段と、
前記データ入力手段により次のデータが入力されたとき、前記1つ以上のスレーブ計算機の少なくともいずれかによりタスクが実行中であっても前記タスクの実行結果の返信を待つことなく、前記実行結果記憶装置内の情報を出力する出力手段と、
を備えたことを特徴とするマスター計算機。 - 前記実行結果記憶装置の情報が出力された後、前記実行結果記憶装置内の情報を消去する消去手段をさらに備えたことを特徴とする請求項5に記載のマスター計算機。
- システムタイマをさらに備え、
前記識別子付与手段は、前記入力データが受信された時刻を前記入力データに対し前記識別子として付与する
ことを特徴とする請求項5または6に記載のマスター計算機。 - 前記タスク生成手段は、前記複数のタスクに優先順位を付与し、
前記タスク実行指示手段は、優先順位の高いものから順番にタスクを選択する
ことを特徴とする請求項5ないし7のいずれか一項に記載のマスター計算機。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008198225A JP2010039526A (ja) | 2008-07-31 | 2008-07-31 | コンピュータプログラムおよびマスター計算機 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008198225A JP2010039526A (ja) | 2008-07-31 | 2008-07-31 | コンピュータプログラムおよびマスター計算機 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010039526A true JP2010039526A (ja) | 2010-02-18 |
Family
ID=42012050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008198225A Pending JP2010039526A (ja) | 2008-07-31 | 2008-07-31 | コンピュータプログラムおよびマスター計算機 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010039526A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102279730A (zh) * | 2010-06-10 | 2011-12-14 | 阿里巴巴集团控股有限公司 | 一种并行的数据处理方法、装置和并行的数据处理系统 |
CN103034475A (zh) * | 2011-10-08 | 2013-04-10 | 中国移动通信集团四川有限公司 | 分布式并行计算方法、装置及系统 |
CN108600008A (zh) * | 2018-04-24 | 2018-09-28 | 成都致云科技有限公司 | 服务器管理方法、服务器管理装置及分布式系统 |
JP6467555B1 (ja) * | 2017-07-31 | 2019-02-13 | 三菱電機株式会社 | 情報処理装置および情報処理方法 |
-
2008
- 2008-07-31 JP JP2008198225A patent/JP2010039526A/ja active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102279730A (zh) * | 2010-06-10 | 2011-12-14 | 阿里巴巴集团控股有限公司 | 一种并行的数据处理方法、装置和并行的数据处理系统 |
CN103034475A (zh) * | 2011-10-08 | 2013-04-10 | 中国移动通信集团四川有限公司 | 分布式并行计算方法、装置及系统 |
JP6467555B1 (ja) * | 2017-07-31 | 2019-02-13 | 三菱電機株式会社 | 情報処理装置および情報処理方法 |
CN110998529A (zh) * | 2017-07-31 | 2020-04-10 | 三菱电机株式会社 | 信息处理装置以及信息处理方法 |
US10871994B2 (en) | 2017-07-31 | 2020-12-22 | Mitsubishi Electric Corporation | Information processing device and information processing method |
CN110998529B (zh) * | 2017-07-31 | 2021-08-20 | 三菱电机株式会社 | 信息处理装置以及信息处理方法 |
CN108600008A (zh) * | 2018-04-24 | 2018-09-28 | 成都致云科技有限公司 | 服务器管理方法、服务器管理装置及分布式系统 |
CN108600008B (zh) * | 2018-04-24 | 2021-12-17 | 致云科技有限公司 | 服务器管理方法、服务器管理装置及分布式系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8775574B2 (en) | Remote network management having multi-node awareness | |
EP3637733A1 (en) | Load balancing engine, client, distributed computing system, and load balancing method | |
CN107733708B (zh) | 设备参数配置方法、装置、计算机设备和存储介质 | |
WO2019218510A1 (zh) | 多业务系统交互方法及装置、存储介质、电子设备 | |
CN111046057A (zh) | 服务器集群的数据处理方法、装置、计算机设备和介质 | |
US11288164B2 (en) | Dynamic distributed tracing instrumentation in a microservice architecture | |
US9727394B2 (en) | Establishing causality order of computer trace records | |
CN109358876A (zh) | 一种版本同步方法及装置、设备、存储介质 | |
JP2010039526A (ja) | コンピュータプログラムおよびマスター計算機 | |
CN111459676A (zh) | 一种节点资源管理方法、装置及存储介质 | |
CN102541542B (zh) | 存储和发布内容存储设备的内容 | |
CN106210159B (zh) | 一种域名解析方法和设备 | |
US20240028663A1 (en) | Web site generation based on streams of data records | |
WO2016078326A1 (zh) | 一种虚拟机名称展示的方法、装置及系统 | |
US8996694B2 (en) | Computer-readable recording medium, information processing method, and information processing apparatus | |
CN110955460B (zh) | 一种服务进程启动方法、装置、电子设备和存储介质 | |
CN111800511A (zh) | 同步登录态的处理方法、系统、设备及可读存储介质 | |
US10348824B2 (en) | Method and apparatus for synchronizing state information of a plurality of terminals | |
JP2009237807A (ja) | 脆弱性診断実施装置および診断スケジュール作成プログラム | |
JP2009266031A (ja) | 計算機システム及び計算機 | |
CN106161050B (zh) | 问题资源指示装置及问题资源指示方法 | |
US20060203813A1 (en) | System and method for managing a main memory of a network server | |
WO2021070352A1 (ja) | グラフ関連付けシステムおよびグラフ関連付け方法 | |
US8429136B2 (en) | Information processing method and information processing apparatus | |
CN110795215A (zh) | 一种数据处理方法、计算机设备、存储介质 |