JP2005293066A - 完了待ち合わせシステム及び完了待ち合わせプログラム - Google Patents

完了待ち合わせシステム及び完了待ち合わせプログラム Download PDF

Info

Publication number
JP2005293066A
JP2005293066A JP2004105345A JP2004105345A JP2005293066A JP 2005293066 A JP2005293066 A JP 2005293066A JP 2004105345 A JP2004105345 A JP 2004105345A JP 2004105345 A JP2004105345 A JP 2004105345A JP 2005293066 A JP2005293066 A JP 2005293066A
Authority
JP
Japan
Prior art keywords
processing
completion
processing request
input
instruction
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
Application number
JP2004105345A
Other languages
English (en)
Inventor
Yasuhisa Masaoka
靖久 政岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2004105345A priority Critical patent/JP2005293066A/ja
Publication of JP2005293066A publication Critical patent/JP2005293066A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

【課題】 複数の入出力処理を並行して行うコンピュータシステムにおいて、システムにかかる負荷を抑えつつ各処理の完了を待ち合わせることが可能な、完了待ち合わせ機構を実現する。
【解決手段】 入出力要求受付機構11は、ユーザプログラムからの入出力命令あるいは完了待ち合わせ命令を受け付け、キュー管理機構12に供給する。キュー管理機構12はサブプログラム毎に異なるキューを作成して入出力命令と完了待ち合わせ命令とを格納する。ドライバ検索機構13は、ユーザプログラムにしたがって装置を検索し、入出力命令を供給する。入出力用要求に対する完了通知が、ドライバ検索機構13を介して、装置からキュー管理機構12に送信されると、対応する入出力命令および完了待ち合わせ命令とをキューから削除する。
【選択図】 図1

Description

本発明は、並行して実行される複数の入出力処理の完了を待ち合わせるためのシステム及びプログラムに関する。
マルチプロセッサシステムで動作する並列プログラム等において、各サブプログラムは独立で動作可能であり、それぞれの処理を並列で行っている。しかし、複数のサブプログラムが定期的に同期を取りたい場合がある。例えば、各サブプログラムが行う入出力要求、すなわち定期的な各自のチェックポイントがその場合に該当する。この場合、各自のチェックポイントはサブプログラム毎に独立しているため、関連するサブプログラムの入出力の完了を待ち合わせる必要がある。そこで、特に、複数のサブプログラムから構成されるユーザプログラムにより複数の異なる装置への処理命令(入出力要求)が発行されるような場合において、ある時点での全ての入出力要求を待ち合わせるために、サブプログラム間での通信を行う、あるいは待ち合わせ機能を持つ交換機や装置側の待ち合わせ機能を用いる等の手法が考えられた(例えば、特許文献1)。
特開平5−274242号公報
上述したような、サブプログラム間での通信を用いる手法では、各々のサブプログラムは、受信完了通知を受け取る度に、その通知を他のサブプログラム乃至はマスターサブプログラム(すなわち、サブプログラムを束ねるプログラム)に送る必要がある。このため、大量の通信が発生する状態、あるいは通信が一極集中する状態が発生し、コンピュータシステムにかかる負荷が急激に増加する。
一方、待ち合わせ機能を持つ交換機や装置側の機能を用いて待ち合わせを行う手法は、既存のシステムに適用することが難しい。また、システム自体も高価なものになってしまう。
本発明は、上記実状に鑑みて為されたものであり、複数の入出力処理を並行して行うコンピュータシステムにおいて、システムにかかる負荷を抑えつつ各処理の完了を待ち合わせることが可能な、完了待ち合わせシステムを実現することを目的とする。
上記目的を達成するため、本発明の第1の観点に係る完了待ち合わせシステムは、
処理装置に接続され、
複数のプログラムから、前記処理装置に処理を行わせるための処理要求を受信する受信部と、
受信した処理要求を該処理要求の発信元のプログラム毎に対応する待ち行列に格納し、格納した順番に応じて処理要求を前記処理装置に供給し、該処理装置から処理が完了したことを示す完了通知を受け取って、該完了通知に対応する処理要求を削除する処理要求制御部と、
を備えることを特徴とする。
前記受信部は、さらに
複数のプログラムから、処理要求に対応する処理の完了を待ち合わせる命令である完了待ち命令を受信するものであって、
前記処理要求制御部は、
前記処理装置から完了通知を受け取ると、該完了通知に対応する処理要求と完了待ち命令とを削除することが好ましい。
前記完了待ち命令はそれぞれの処理要求に対応する複数の処理の完了を待ち合わせることができるものであってもよい。
この場合、前記処理要求制御部は、完了通知に対応する処理要求を削除する際、該処理要求の格納されていた待ち行列に前記完了待ち命令が格納されていれば、該完了待ち命令が待ち合わせをしているすべての処理が完了しているか否かを判別して、すべての処理が完了していると判別すれば、該完了待ち命令を待ち行列から削除する。
当該完了待ち合わせシステムは複数の処理装置に接続されており、
処理要求の処理内容に応じて前記複数の処理装置の中から該処理要求の供給先の処理装置を選択する装置選択部をさらに備えることが好ましい。
前記処理要求制御部は、
前記受信部による処理要求の受信に応じて待ち行列を作成して固有の識別子を割り当て、
受信した処理要求に対応するプログラムと処理装置とに該識別子を通知して、処理要求の待ち行列への格納及び削除を制御することが好ましい。
上記目的を達成するため、本発明の第2の観点に係る完了待ち合わせプログラムは、
処理装置に接続されたコンピュータを、
複数のプログラムから、前記処理装置に処理を行わせるための処理要求を受信する手順、
受信した処理要求を該処理要求の発信元のプログラム毎に対応する待ち行列に格納し、格納した順番に応じて処理要求を前記処理装置に供給し、該処理装置から処理が完了したことを示す完了通知を受け取って、該完了通知に対応する処理要求を削除する手順、
を実行するコンピュータシステムとして機能させる。
本発明によれば、複数の入出力処理を並行して行うコンピュータシステムにおいて、システムにかかる負荷を抑えつつ各処理の完了を待ち合わせることが可能な、完了待ち合わせシステムを実現できる。
本発明の実施の形態に係る完了待ち合わせ機構1は、異なる装置にまたがる複数の入出力処理を並行して行う際に処理の完了を待ち合わせるための機構であり、図1に示すように、入出力要求受付機構11と、キュー管理機構12と、ドライバ検索機構13と、から構成される。キュー管理機構12は、所定のユーザプログラムUからの命令により、複数のキュー(121、122、123・・・)を作成/削除する。
完了待ち合わせ機構1は、図2に示すように、複数のサブプログラムSB(SB、SB、SB・・・)により構成されるユーザプログラムUからの入出力処理の要求(入出力要求)を受け、処理の完了を待ち合わせつつ、入出力要求を複数の装置E(E、E、E・・・)に供給する。
図1に示す入出力要求受付機構11は、全ての装置E(E、E、E・・・)への入出力要求を受け付ける機構である。また、入出力要求受付機構11は、ユーザプログラムUから入出力要求の待ち合わせが必要であることを示す命令である完了待ち合わせ命令を受け付ける。
キュー管理機構12は、ユーザプログラムUを構成するサブプログラムSB(SB、SB、SB・・・)からの要求を受け、キューの作成および削除を行う。キュー管理機構12は、キューを作成する際、各キュー毎に固有の識別子を割り当てる。この識別子は、ユーザプログラムU(のサブプログラムSB)が入出力要求や完了待ち合わせ命令を格納するキューを指定するために用いられ、また、キューの削除要求を行う際に削除対象となるキューを指定するためにも用いられる。
また、キュー管理機構12は、入出力要求受付機構11から供給された入出力要求あるいは完了待ち合わせ命令を適切なキューに格納し、ドライバ検索機構13に入出力要求を供給する。さらに、キュー管理機構12は、装置E(E、E、E・・・)からドライバ検索機構13を介して受け取った、入出力処理の完了を知らせる通知(完了通知)をもとにキューを特定する。そして、そのキュー上に完了待ち合わせ命令があるか否かを検索し、検索結果に基づいて、入出力要求受付機構11を介してユーザプログラムU(のサブプログラムSB)に完了通知を供給する。
ドライバ検索機構13は、キュー管理機構12から供給された入出力要求をもとに適切なドライバを検索し、検索したドライバを介して入出力要求を装置E(E、E、E・・・)に供給する。また、装置E(E、E、E・・・)からの入出力処理の完了通知をドライバを介して受け取り、キュー管理機構12に供給する。
ユーザプログラムUを構成する全てのサブプログラムSB(SB、SB、SB・・・)は、各種装置への入出力要求を常に入出力要求受付機構11を通して発行し、これらの入出力要求に対して完了待ち合わせが必要になったときには、その入出力要求に対応するサブプログラムSBが入出力要求受付機構11に対して完了待ち合わせ命令を発行する。そして、完了待ち合わせ機構1は、発行された完了待ち合わせ命令の完了通知を各サブプログラムSB(SB、SB、SB・・・)毎に待ち合わせて、全ての入出力処理の完了を待ち合わせる。
次に、本実施の形態に係る完了待ち合わせ機構1が行う処理動作について、図面を参照して説明する。尚、ここでは、キュー管理機構12はユーザプログラムUからの要求に従って各サブプログラム毎にキューを作成済みであり、各キューにはキュー管理機構12によってそれぞれ固有の識別子(例えば、図1に示す121、122、123・・・)が割り当てられているものとする。
まず、ユーザプログラムUの各サブプログラムSBから入出力要求あるいは完了待ち合わせ命令が供給された際の完了待ち合わせ機構1の処理動作(「要求受け付け処理」)について、図3のフローチャートを参照して説明する。
入出力要求受付機構11は、ユーザプログラムUからの装置E(E、E、E・・・)への入出力要求あるいは完了待ち合わせ命令を受け付ける(ステップS101)。その際、入出力要求受付機構11は、入出力要求あるいは完了待ち合わせ命令とともに、各キューに割り当てられた固有の識別子の指定を受け付ける。
入出力要求あるいは完了待ち合わせ命令を受け付けた入出力要求受付機構11は、指定された識別子の情報をもとにキューを選択し(ステップS102)、入出力要求あるいは完了待ち合わせ命令をキュー管理機構12に供給する。
キュー管理機構12は、供給された要求が完了待ち合わせ命令であるか否かを判別する(ステップS103)。供給された要求が完了待ち合わせ命令であると判別すると(ステップS103:Yes)、キュー管理機構12はその完了待ち合わせ命令を、前述のステップS102で選択したキューにセットして(ステップS104)、処理を終了する。
一方、供給された要求が完了待ち合わせ命令ではなく、入出力命令であると判別すると(ステップS103:No)、キュー管理機構12は、ステップS101で受け付けた入出力要求を入出力命令として、ステップS102で選択されたキューにセットし(ステップS105)、ドライバ検索機構13に供給する。ドライバ検索機構13は、供給された入出力命令に対応する適切なドライバを検索して呼び出し(ステップS106)、呼び出したドライバを介して入出力命令を所定の装置E(E、E、E・・・)に供給して、処理を終了する。
次に、入出力要求完了時における完了待ち合わせ機構1の処理動作(「待ち合わせ命令除去処理」)について、図4のフローチャートを参照して説明する。
ドライバ検索機構13は、装置E(E、E、E・・・)からの装置ドライバを介した完了通知を受け付ける(ステップS201)。完了通知を受け付けると、ドライバ検索機構13は、その完了通知をキュー管理機構12に供給する。
完了通知を受け付けたキュー管理機構12は、各キューに割り振られた識別子に基づいて、完了を通知された処理命令(入出力処理)に対応するキューを選択する(ステップS202)。そして、キュー管理機構12は、キュー上に対応する完了待ち合わせ命令があるか否かを判別する(ステップS203)。
キュー上に対応する完了待ち合わせ命令がないと判別すると(ステップS203:No)、キュー管理機構12は、図5(a)に示すように、受け取った完了通知に対応する入出力命令を削除し(ステップ204)、完了通知を入出力要求受付機構11を介してユーザプログラムU(サブプログラムSB)に供給して、処理を終了する。
一方、キュー上に対応する完了待ち合わせ命令があると判別すると(ステップS203:Yes)、キュー管理機構12は、その完了待ち合わせ命令に対応する入出力命令が一つであるか否か、すなわちその完了待ち合わせ命令が対応する最後の待ち合わせ命令か否かを判別する(ステップS205)。
対応する最後の待ち合わせ命令であると判別すると(ステップS205:Yes)、キュー管理機構12は、図5(b)に示すように、ステップS201で受け取った完了通知に対応する入出力命令と完了待ち合わせ命令とを削除し(ステップS206)、完了通知を入出力受付機構11を介してユーザプログラムU(のサブプログラムSB)に供給して、処理を終了する。
一方、対応する最後の待ち合わせ命令ではない、すなわち完了待ち合わせ命令に対応する未処理の入出力要求が存在すると判別すると(ステップS205:No)、キュー管理機構12は、図5(c)に示すように、受け取った完了通知に対応する入出力命令を削除し(ステップ204)、完了通知を入出力要求受付機構11を介してユーザプログラムUに供給して、この完了通知に対応する処理を終了する。
以上、説明したような構成及び処理動作により、本発明の実施の形態に係る完了待ち合わせ機構1が実現される。この完了待ち合わせ機構1によれば、ユーザプログラムUからの完了待ち合わせ単位(サブプログラムSB単位)でキューを作成でき、さらに各キューに対して発行した完了待ち合わせ命令のみを待ち合わせることができる。このため、特殊な交換機や各種装置が備える待ち合わせ機能を利用することなく、関連する全ての装置への入出力要求を待ち合わせることが可能となる。
また、ユーザプログラムU内のひとつのサブプログラムSBのみが処理の完了を待ち合わせればよいため、待ち合わせ処理によってシステム全体にかかる負荷を抑えることができる。
また、複数の処理要求を、処理要求の発行元であるサブプログラムSB毎に異なるキューに格納するため、異なるサブプログラムSBに基づく処理を同時に並行して実行することができる。したがって、効率的な待ち合わせを行うことが可能となる。
尚、本発明は上記実施の形態で示したものに限定されず、様々な変形及び応用が可能である。例えば、上記実施の形態では、ユーザプログラムUが入出力要求を発行し、その要求に基づいて装置E(E、E、E・・・)が入出力処理を行うものとした。しかし、本発明は入出力処理に限定されるものではなく、例えば、マルチタスクオペレーティングシステムのキューイング処理等、様々な処理に対して適用することが可能である。
また、完了待ち合わせ機構1の構成は、上記実施の形態における図1で示したものに限定されるものではなく、サブプログラムSB毎にキューを作成して完了を待ち合わせることが可能な構成であればよい。
なお、本発明の実施の形態にかかる完了待ち合わせ機構1を実現するための情報処理装置は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、汎用コンピュータに、上述のいずれかを実行するためのプログラムを格納した媒体(CD−ROMなど)から当該プログラムをインストールすることにより、上述の処理を実行する完了待ち合わせ機構1を構成することができる。
また、上述の機能を、OS(Operating System)とアプリケーションとの分担、またはOSとアプリケーションとの協動により実現する場合、などには、OS以外の部分のみを媒体に格納してもよい。
また、搬送波にプログラムを重畳し、通信ネットワークを介して配信することも可能である。例えば、通信ネットワーク上の掲示板(BBS、Bulletin Board System)に該プログラムを掲示し、ネットワークを介して該プログラムを配信してもよい。そして、このプログラムを起動し、OSの制御下で、他のアプリケーションプログラムと同様に実行することにより、上述の処理を実行できるように構成しても構わない。
本発明の実施の形態に係る完了待ち合わせ機構の構成図である。 図1の完了待ち合わせ機構とユーザプログラムと装置との関係を示す図である。 ユーザプログラムから入出力要求や完了待ち合わせ命令を受け付けた際の完了待ち合わせ機構の要求受け付け処理を説明するフローチャートである。 図2の装置において入出力処理が完了した時における完了待ち合わせ機構の待ち合わせ命令除去処理を説明するフローチャートである。 完了待ち合わせ機構が完了通知を受け取った際のキュー管理機構によるキューの管理の様子を模式的に示した図である。
符号の説明
1 完了待ち合わせ機構
11 入出力要求受付機構
12 キュー管理機構
13 ドライバ検索機構

Claims (6)

  1. 処理装置に接続され、
    複数のプログラムから、前記処理装置に処理を行わせるための処理要求を受信する受信部と、
    受信した処理要求を該処理要求の発信元のプログラム毎に対応する待ち行列に格納し、格納した順番に応じて処理要求を前記処理装置に供給し、該処理装置から処理が完了したことを示す完了通知を受け取って、該完了通知に対応する処理要求を削除する処理要求制御部と、
    を備えることを特徴とする完了待ち合わせシステム。
  2. 前記受信部は、さらに
    複数のプログラムから、処理要求に対応する処理の完了を待ち合わせる命令である完了待ち命令を受信するものであって、
    前記処理要求制御部は、
    前記処理装置から完了通知を受け取ると、該完了通知に対応する処理要求と完了待ち命令とを削除する、
    ことを特徴とする請求項1に記載の完了待ち合わせシステム。
  3. 前記完了待ち命令はそれぞれの処理要求に対応する複数の処理の完了を待ち合わせることができるものであって、
    前記処理要求制御部は、完了通知に対応する処理要求を削除する際、該処理要求の格納されていた待ち行列に前記完了待ち命令が格納されていれば、該完了待ち命令が待ち合わせをしているすべての処理が完了しているか否かを判別して、すべての処理が完了していると判別すれば、該完了待ち命令を待ち行列から削除する、
    ことを特徴とする請求項2に記載の完了待ち合わせシステム。
  4. 当該完了待ち合わせシステムは複数の処理装置に接続されており、
    処理要求の処理内容に応じて前記複数の処理装置の中から該処理要求の供給先の処理装置を選択する装置選択部をさらに備える、
    ことを特徴とする請求項1、2又は3に記載の完了待ち合わせシステム。
  5. 前記処理要求制御部は、
    前記受信部による処理要求の受信に応じて待ち行列を作成して固有の識別子を割り当て、
    受信した処理要求に対応するプログラムと処理装置とに該識別子を通知して、処理要求の待ち行列への格納及び削除を制御する、
    ことを特徴とする請求項1乃至4のいずれか1項に記載の完了待ち合わせシステム。
  6. 処理装置に接続されたコンピュータを、
    複数のプログラムから、前記処理装置に処理を行わせるための処理要求を受信する手順、
    受信した処理要求を該処理要求の発信元のプログラム毎に対応する待ち行列に格納し、格納した順番に応じて処理要求を前記処理装置に供給し、該処理装置から処理が完了したことを示す完了通知を受け取って、該完了通知に対応する処理要求を削除する手順、
    を実行するコンピュータシステムとして機能させるための完了待ち合わせプログラム。
JP2004105345A 2004-03-31 2004-03-31 完了待ち合わせシステム及び完了待ち合わせプログラム Pending JP2005293066A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004105345A JP2005293066A (ja) 2004-03-31 2004-03-31 完了待ち合わせシステム及び完了待ち合わせプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004105345A JP2005293066A (ja) 2004-03-31 2004-03-31 完了待ち合わせシステム及び完了待ち合わせプログラム

Publications (1)

Publication Number Publication Date
JP2005293066A true JP2005293066A (ja) 2005-10-20

Family

ID=35325950

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004105345A Pending JP2005293066A (ja) 2004-03-31 2004-03-31 完了待ち合わせシステム及び完了待ち合わせプログラム

Country Status (1)

Country Link
JP (1) JP2005293066A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016532950A (ja) * 2013-07-23 2016-10-20 クアルコム,インコーポレイテッド I/oプロトコルまたはターゲットデバイスによってサポートされないときにキューバリアを設けること

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016532950A (ja) * 2013-07-23 2016-10-20 クアルコム,インコーポレイテッド I/oプロトコルまたはターゲットデバイスによってサポートされないときにキューバリアを設けること

Similar Documents

Publication Publication Date Title
JP2007041720A (ja) ジョブステップ実行プログラムおよびジョブステップ実行方法
US20090165003A1 (en) System and method for allocating communications to processors and rescheduling processes in a multiprocessor system
JP2008225639A (ja) 低消費電力ジョブ管理方法及び計算機システム
JP2007207026A (ja) Dma転送装置
US5511194A (en) Processing system and processing method capable of dynamically replacing job environment
US7237005B2 (en) Job network setup method, job network execution method, job management system, management terminal and program
JP5294014B2 (ja) ファイル共有方法、計算機システム及びジョブスケジューラ
JP5377231B2 (ja) ジョブネット制御プログラムおよびジョブネット制御装置
JP2005190193A (ja) 情報処理装置、情報処理システム、情報処理方法、プログラム及び記録媒体
JP2005293066A (ja) 完了待ち合わせシステム及び完了待ち合わせプログラム
JP4336763B2 (ja) ジョブ管理システム
JP2001282551A (ja) ジョブ処理装置および方法
JP2004252829A (ja) バックアップ制御装置
JPH1185694A (ja) サーバー間連携業務運用システム
JP2016184310A (ja) 情報処理システム、制御装置および情報処理システムの制御方法
JP2000259591A (ja) 分散処理ジョブ実行方法およびネットワークシステム
JP5786870B2 (ja) 分散システム、装置、方法及びプログラム
JP3853535B2 (ja) データ転送システム、装置及び方法、並びに記録媒体
JP5446620B2 (ja) ジョブフロー実行装置、ジョブフロー実行方法およびジョブフロー実行プログラム
JP5390947B2 (ja) ジョブ管理システム、ジョブ管理装置及びそのプログラム
JPWO2007108133A1 (ja) マルチプロセッシング方法及びマルチプロセッサシステム
JP2001166956A (ja) 複合システムにおけるジョブスケジューリング方式
JP2007179248A (ja) 計算機管理方法、計算機管理プログラム、および、計算機管理装置
JP2001282555A (ja) コンピュータシステムのプロセス管理方式
JP3931883B2 (ja) ジョブスケジューリング方法、計算機システムおよびジョブスケジューリングプログラム