JP6119302B2 - 排他制御装置、排他制御方法、排他制御システムおよびプログラム - Google Patents

排他制御装置、排他制御方法、排他制御システムおよびプログラム Download PDF

Info

Publication number
JP6119302B2
JP6119302B2 JP2013036865A JP2013036865A JP6119302B2 JP 6119302 B2 JP6119302 B2 JP 6119302B2 JP 2013036865 A JP2013036865 A JP 2013036865A JP 2013036865 A JP2013036865 A JP 2013036865A JP 6119302 B2 JP6119302 B2 JP 6119302B2
Authority
JP
Japan
Prior art keywords
priority
resource
exclusive
list
exclusive control
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.)
Active
Application number
JP2013036865A
Other languages
English (en)
Other versions
JP2014164647A (ja
Inventor
勝平 岩竹
勝平 岩竹
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 JP2013036865A priority Critical patent/JP6119302B2/ja
Publication of JP2014164647A publication Critical patent/JP2014164647A/ja
Application granted granted Critical
Publication of JP6119302B2 publication Critical patent/JP6119302B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Description

本発明は、複数のホストが共有して使用する資源に対して排他制御を実施する技術分野に関する。
1台で複数の業務を行う汎用機(ホスト)では、オンライン処理やバッチ処理などの様々な処理が動作する。近年、ホストの処理性能が向上するにつれ、処理業務が多様化すると共に利用する資源が増加する傾向にある。
複数のホスト間で共有される共有資源を、排他制御装置を用いて制御しながら複数の処理を行うシステムでは、当該システムの運用性を高めるために、排他制御装置の待機系を用意することが多い。待機系の排他制御装置を用意することにより、当該システムは、故障した稼働系の排他制御装置の復旧を待たずに待機系の排他制御装置に動作を切り替えることができるので、運用を継続することができる。
具体的には、稼動系の排他制御装置に障害が発生した場合、各ホストは、自装置が保有する排他情報を待機系の排他制御装置に送信する。待機系の排他制御装置は、受信した排他情報を再生、すなわち排他情報に保持されるように排他制御を実施する。これにより、稼働系の排他制御装置から待機系の排他制御装置に排他制御が切り替わるので、当該システムは運用を継続できる。
上述の排他制御装置の障害による切り替え処理において、排他制御装置は、受信した排他情報をすべて再生した後に運用再開するので、当該排他情報が多いほど、運用再開までに時間がかかる。このため、当該システムを、すべての排他情報の再生を待ち合わせた後に運用を再開するように構成すると、高速なレスポンスが求められるオンライン処理などは、求められる応答性能に対して遅延してしまう。
上述したように、近年ホストの処理能力の向上に伴って各ホストが管理する共有資源に関する排他情報が増加する傾向にある。また、オンライン処理など高速なレスポンスを求められる業務に対して、ダウンタイムの許容範囲はよりシビアになっている。このような背景にも関わらず、待機系の排他制御装置への切り替え処理は、オンライン処理でもバッチ処理でも上述のように排他情報を再生した後に運用再開する方法が採用されている。
例えば、特許文献1は、共有資源の使用効率を向上させるために、予め決められたルールに従って資源に優先度を設定し、排他制御装置の障害による切り替え処理において当該優先度に基づいて段階的に運用を再開する共有資源排他制御方式を開示する。
また、特許文献2は、複数のプロセッサが、排他制御待ち情報と排他制御獲得優先度情報とに基づいて共有リソースの排他制御を獲得するマルチプロセッサを開示する。
また、特許文献3は、複数のホストにより共有ファイルをアクセスするファイルシステムであって、障害が発生したときの信頼性の向上を図るファイルシステムを開示する。
特開平11−306035号公報 特開2010−140290号公報 特開2012−212280号公報
上記特許文献1に開示される共有資源排他制御方式では、予め決められたルールに従って資源に優先度を設定し、優先度の高い資源を優先して排他制御を行うことはできる。しかしながら、優先度の高い資源のみを優先するので、当該資源に関連する資源、例えばデッドロックを生じる可能性のある資源に関しては優先して排他制御を行うことはできない。したがって、デッドロックを回避するためのデッドロックチェックを優先して行うことができないので、デッドロックを生じる可能性のある資源に対する排他制御を待つ時間がかかってしまう。よって、稼働系の排他制御装置が故障した場合に待機系の排他制御装置に切り替えて運用再開するまでに時間がかかってしまうという課題がある。
また、特許文献2および特許文献3にも、上記のように優先度の高い資源に関連する資源を優先して排他制御する技術は開示されていない。
本願発明は、上記課題を鑑みてなされたものであり、優先度の高い資源、および当該資源に関連する資源を優先的に排他制御することにより、稼働系の排他制御装置の故障から待機系の排他制御装置に切り替えて運用再開するまでの時間を短縮する排他制御装置等を提供することを主要な目的とする。
本発明の第1の排他制御装置は、複数のホストにより使用される共有資源に対する排他状況に基づいて当該各共有資源の優先度を算出すると共に、当該算出した優先度に従って所定数の共有資源を優先資源として登録した優先資源リストを作成する優先資源リスト作成部と、前記作成された優先資源リストに登録される優先資源に関連する資源を特定すると共に、当該関連する資源を前記優先資源リストに追加する優先資源リスト追加部と、前記優先資源リストを前記各ホストに送信する通信部とを備える。
本発明の第1の排他制御方法は、複数のホストにより使用される共有資源に対する排他状況に基づいて当該各共有資源の優先度を算出すると共に、当該算出した優先度に従って所定数の共有資源を優先資源として登録した優先資源リストを優先資源リスト作成部により作成し、前記作成された優先資源リストに登録される優先資源に関連する資源を特定すると共に、当該関連する資源を優先資源リスト追加部により前記優先資源リストに追加し、前記優先資源リストを前記各ホストに通信部により送信する。
なお同目的は、上記の各構成を有する排他制御装置または排他制御方法を、コンピュータによって実現するコンピュータ・プログラム、およびそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。
本願発明によれば、優先度の高い資源、および当該資源に関連する資源を優先的に排他制御することにより、稼働系の排他制御装置の故障から待機系の排他制御装置に切り替えて運用再開するまでの時間を短縮できる効果が得られる。
本発明の第1の実施形態に係る排他制御システムの構成を示す図である。 本発明の第1の実施形態に係る排他制御装置またはホストのハードウエア構成を示す図である。 本発明の第1の実施形態に係る排他情報に含まれる資源管理テーブルの構成を例示する図である。 本発明の第1の実施形態に係る排他情報に含まれるタスク管理テーブルの構成を例示する図である。 本発明の第1の実施形態に係るログ情報に含まれる資源リストテーブル(a)と、タスクリストテーブル(b)の構成を例示する図である。 本発明の第1の実施形態に係る排他制御装置の優先リスト作成部が作成する優先資源リストを示す図である。 本発明の第1の実施形態に係る排他制御装置の優先リスト作成部による優先リスト作成動作を示すフローチャートである。 本発明の第1の実施形態に係る排他制御装置の優先リスト追加部による優先資源のデッドロックチェック対象となる資源の優先資源リストへの追加の動作を示すフローチャートである。 本発明の第1の実施形態に係る排他制御装置の優先リスト追加部による優先資源を排他するタスクが処理の前後で排他要求する資源の優先資源リストへの追加の動作を示すフローチャートである。 本発明の第1の実施形態に係る排他制御装置の排他情報送信部の動作を説明するフローチャートである。 本発明の第2の実施形態に係る排他制御装置の構成を示す図である。
以下、本発明の実施形態について図面を参照して詳細に説明する。
第1の実施形態
図1は、本発明の第1の実施形態に係る排他制御システム100の構成を示す図である。図1に示すように、排他制御システム100は、複数のホスト10,20と、稼働系の排他制御装置40と、待機系の排他制御装置50とを備える。複数のホスト10,20は、共有資源記憶部30に格納される共有資源を共有して使用する。ホスト10,20は、それぞれ、共有資源記憶部30と、排他制御装置40,50に通信可能に接続される。
図1には、ホスト、共通資源記憶部、排他制御装置の各台数について、最小構成単位を示すがこれに限定されず、ホスト、共通資源記憶部、排他制御装置の各台数は増加してもよい。
次に、ホスト10の構成要素および各構成要素の動作の概略を説明する(詳細は後述する)。図1に示すように、ホスト10は、排他要求部11、排他情報送信部12および通信部13を備える。
排他要求部11は、ホスト10がタスクを実行する際に使用する共有資源(例えば、ファイル、フォルダ、プログラム等)の排他要求を生成すると共に、当該排他要求を通信部13を介して稼動系の排他制御装置40に送信する。排他要求部11は、また、ホスト10において生成した共有資源の排他要求の状態を保持するホスト固有排他情報14を生成する。ホスト10はまた、稼動系の排他制御装置40から受信した優先資源リスト15を格納する。
排他情報送信部12は、稼動系の排他制御装置40に障害が生じ、待機系の排他制御装置50に切り替えが行われる際に、ホスト固有排他情報14を通信部13を介して、待機系の排他制御装置50に送信する。このとき、排他情報送信部12は、優先資源リスト15を参照することにより、ホスト固有排他情報14のうち優先資源に対する排他情報のみを送信する。ホスト20は、ホスト10と同様の構成を有するので、その説明を省略する。
次に、稼動系の排他制御装置40の構成要素および各構成要素の動作の概略を説明する(詳細は後述する)。図1に示すように、稼動系の排他制御装置40は、通信部41、排他制御部42、優先リスト作成部43、優先リスト送信部44、優先リスト追加部45を備える。
通信部41は、ホスト10,20と通信を行う。排他制御部42は、通信部41を介してホスト10,20から送信される排他要求に基づいて、共有資源の排他制御を実施すると共に、排他情報46およびログ情報47を生成する。優先リスト作成部43は、定期的にログ情報47を参照し、優先資源リスト48を作成する。
優先リスト送信部44は、優先資源リスト48を通信部41を介してホスト10,20に送信する。優先リスト追加部45は、優先資源リスト48を参照して、優先資源に付随する資源を優先資源リストに追加する。
待機系の排他制御装置50は、通信部51、排他制御部52、および排他制御部52が生成する排他情報53を備える。通信部51、排他制御部52および排他情報53は、稼働系の排他制御装置40における通信部41、排他制御部42および排他情報46とそれぞれ同様の構成であるので、その説明を省略する。
図1にそれぞれ示すホスト10,20の排他要求部11,21、排他情報送信部12,22は、それぞれコンピュータにより実現した場合、図2に例示するハードウエア構成を有する。同様に、排他制御装置40,50の排他制御部42,52、優先リスト作成部43、優先リスト送信部44、優先リスト追加部45は、それぞれコンピュータにより実現した場合、図2に例示するハードウエア構成を有する。なお、通信部13,23,41,51は、情報を送受信するためのハードウエアを備える。
図2に示す構成は、CPU(Central Processing Unit)200、メモリ等の記憶媒体201および記憶媒体201に格納されるプログラム202を備える。CPU200は、各種ソフトウエア・プログラム(コンピュータ・プログラム)を実行することにより、ホスト10,20または排他制御装置40,50の全体的な動作を司る。本実施形態および以下に示す他の実施形態において、CPU200が、メモリ等の記憶媒体201を適宜参照しながら、以下に示すホスト10,20または排他制御装置40,50が備える各機能(各部)のソフトウエア・プログラムを実行する。
上述したように、排他制御装置40は、排他情報46とログ情報47とを格納する。排他情報46は、排他制御部42がホスト10,20から取得した排他要求に基づいて生成される、資源とタスクとの排他制御の関係を管理する情報である。ログ情報47は、排他制御が実施された状況を示す情報である。
排他情報46は、資源管理テーブル461とタスク管理テーブル465とを含む。図3Aは、排他情報46に含まれる資源管理テーブル461の構成を例示する図である。また、図3Bは、排他情報46に含まれるタスク管理テーブル465の構成を例示する図である。図3Aに示すように、資源管理テーブル461は、資源ID(Identification)462、タスクチェイン463、タスクID464を含む。
資源ID462は、共有資源記憶部30に格納される共有資源の識別情報を格納する。タスクチェイン463は、資源IDにより識別される共有資源に排他要求を出しているタスクチェインへのポインタを格納する。タスクID464は、当該ポインタにより特定されるタスクチェインに含まれる各タスクの識別情報を格納する。
一方、図3Bに示すように、タスク管理テーブル465は、タスクID466、資源チェイン467、資源ID468および排他状態469を含む。タスクID466は、タスクの識別情報を格納する。資源チェイン467は、当該タスクが排他要求している資源チェインへのポインタを格納する。資源ID468は、当該ポインタにより特定される資源チェインに含まれる各資源の識別情報を格納する。排他状態469は、当該資源に対する排他状態を格納する。
ログ情報47は、資源リストテーブル471とタスクリストテーブル477とを含む。図4は、ログ情報47に含まれる資源リストテーブル471(a)と、タスクリストテーブル477(b)の構成を例示する図である。図4(a)に示すように、資源リストテーブル471は、資源ID472、排他要求回数473、待ち回数474、タスク数475および待ち時間476を含む。排他要求回数473は、単位時間当たりの当該資源に対する排他要求の回数を格納する。待ち回数474は、単位時間あたりに発生した、排他待ちをした回数を格納する。タスク数475は、当該資源に排他要求するタスクの数を格納する。待ち時間476は、排他要求を送った後、排他成功までにかかる時間を格納する。
一方、図4(b)に示すように、タスクリストテーブル477は、タスクID478、資源チェイン479、資源ID480、排他要求回数481および平均排他時間482を含む。資源チェイン479は、当該タスクが排他要求した資源チェインへのポインタを格納する。資源ID480は、当該ポインタにより特定される資源チェインに含まれる各資源の識別情報を格納する。排他要求回数481は、単位時間当たりの当該資源に対する排他要求の回数を格納する。平均排他時間482は、1回の排他にかかる時間の平均値を格納する。
排他制御部42は、排他要求を受ける毎に排他情報46を作成する。また、排他制御部42は、排他制御を実施する毎にログ情報47を作成する。
次に、排他制御装置40の動作の詳細について説明する。まず、優先リスト作成部43による優先リスト作成動作について説明する。優先リスト作成部43は、定期的にログ情報47を参照して、優先的に使用されるべき優先資源を記載した優先資源リスト48を作成する。
図5は、優先リスト作成部43が作成する優先資源リスト48を示す図である。図5に示すように、優先資源リスト48は、資源ID481、相関チェイン482および相関資源ID483を含む(詳細は後述する)。
図6は、優先リスト作成部43による優先リスト作成動作を示すフローチャートである。図5と図6とを参照して、優先リスト作成部43による優先リスト作成動作について説明する。
優先リスト作成部43は、例えば、一定間隔で動作する。動作を開始すると、優先リスト作成部43は、前回作成した優先資源リスト48を初期化する(ステップS501)。続いて、優先リスト作成部43は、ログ情報47を参照して(ステップS502)、資源ごとの優先度を計算する(ステップS503)。優先リスト作成部43は、ログ情報47に含まれる資源リストテーブル471の排他要求回数473、待ち回数474、タスク数475および待ち時間476にそれぞれ格納される値を用いて、優先度を計算する。
具体的には、優先リスト作成部43は、例えば以下の計算式を使用して優先度を算出する。すなわち、
優先度=(a×排他要求回数)+(b×待ち回数)+(c×タスク数)+(d×待ち時間)
ここで、a,b,c,dは、重み付けのための定数である。
優先リスト作成部43は、上記計算した優先度と優先資源リスト48に登録される資源の優先度との比較を行う(ステップS504)。優先リスト作成部43は、優先資源リスト48に一定数の資源が登録されるまで当該資源を追加し、その一定数を超えて登録されたら、優先資源リスト48に登録される最も優先度が低い資源と、当該計算された優先度を持つ資源とを入れ替える(ステップS505)。このとき、優先リスト作成部43は、図5に示す資源ID481に当該資源のIDを登録する。
優先リスト作成部43は、資源リストテーブル471に格納されるすべてのログ情報に関してステップS503からステップS505までの処理を行う(ステップS506)。優先リスト作成部43は、すべてのログ情報に関して上記処理を終了したら、優先資源リスト48の作成を終了する。優先リスト送信部44は、優先リスト作成部43が作成した優先資源リスト48を、通信部41を介してホスト10,20に送信する。ホスト10,20は、受信した優先資源リスト15,25を保持しておく。
次に、優先リスト追加部45の動作について説明する。優先資源リスト48は、登録される資源(優先資源)を優先的に排他制御するためのリストであるが、登録される優先資源だけでなく、当該優先資源に付随する資源も優先的に排他制御できると、当該優先資源に付随する資源に関する排他情報の再生待ちのための時間を削減できる。そこで、優先リスト追加部45は、優先資源リスト48に登録される優先資源に付随する資源も優先資源リスト48に登録する動作を行う。
ここで、優先資源に付随する資源とは、例えば、当該優先資源に対してデッドロックを起こしうるタスクが排他または排他待ちする資源である。また、優先資源を排他するタスクが処理の前後で排他要求する資源も優先資源に付随する資源となる。
優先リスト追加部45は、優先リスト作成部43が優先資源リスト48を作成した後に動作を開始する。
図7は、優先リスト追加部45による優先資源のデッドロックチェック対象となる資源を優先資源リスト48に追加する動作を示すフローチャートである。図7を参照して、上記動作について説明する。
優先リスト追加部45は、優先資源リスト48を参照し(ステップS601)、登録されている優先資源について、順に以下の処理を行う。すなわち、優先リスト追加部45は、優先資源リスト48に登録されている資源と同一IDを有する資源について資源管理テーブル461およびタスク管理テーブル465を参照し(ステップS602)、当該優先資源の排他待ちをしているタスクの有無をチェックする(ステップS603)。
排他待ちをしているタスクがある場合、優先リスト追加部45は、当該排他待ちをしているタスクよりも先に当該優先資源を排他しているタスクの排他状態をタスク管理テーブル465から読み出す(ステップS604)。当該タスクが排他または排他待ちをしている資源がある場合、優先リスト追加部45は、当該資源が優先資源リスト48に登録済みかを確認する(ステップS605)。登録済みでない場合、優先リスト追加部45は、当該資源を相関資源として優先資源リスト48に追加する(ステップS606)。このとき、優先リスト追加部45は、当該相関資源へのポインタを、図5に示す相関チェイン482に格納すると共に、当該相関資源のIDを相関資源ID483に格納する。
続いて、優先リスト追加部45は、上記優先資源を排他しているタスクが排他待ちをしている資源の有無をチェックし(ステップS607)、排他待ちをしている資源がある場合、当該資源を排他しているタスクの排他状態をタスク管理テーブル465から読み出す(ステップS604)。当該タスクが排他待ちしている資源がある場合、優先リスト追加部45は、その資源をさらに優先資源リスト48に追加する。以降、当該優先資源を排他しているタスクが排他待ちしている資源を、先に排他しているタスクが排他待ちする資源が出現しなくなるまで、優先リスト追加部45は、ステップS604からステップS607を繰り返す。
優先資源リスト48に登録されているすべての資源について上記ステップS602からステップS607の処理を行ったら(ステップS408)、優先リスト追加部45は、優先リスト追加動作を終了する。
続いて、優先リスト追加部45による、優先資源を排他するタスクが処理の前後で排他要求する資源の優先資源リスト48への追加の動作を説明する。図8は、優先リスト追加部45による上記動作を示すフローチャートである。図8を参照して、上記動作について説明する。
優先リスト追加部45は、ログ情報47のタスクリストテーブル477を参照し(ステップS701)、タスクごとに優先資源を排他しているか否かをチェックする(ステップS702)。優先資源を排他するタスクがあった場合、優先リスト追加部45は、当該優先資源を排他する前後で優先資源以外の他の資源を排他するかチェックする(ステップS703)。当該タスクが優先資源以外の他の資源を排他する場合、優先リスト追加部45は、その資源と当該優先資源との相関度を計算する(ステップS704)。
優先リスト追加部45は、相関度を、図4(b)に示す、排他要求回数481、平均排他時間482にそれぞれ格納される値を用いて、相関度を計算する。
具体的には、優先リスト作成部43は、例えば以下の計算式を使用して相関度を算出する。すなわち、
相関度=(排他要求回数×平均排他時間)
÷(優先資源の排他要求回数×優先資源の平均排他時間)。
上記の式に基づいて算出される相関度は、1に近いほど優先資源との相関度が高いと判断される。例えば、資源A、資源B、優先資源Cが順に排他された後に、優先資源C、資源B、資源Aの順に排他解除される処理が有限ループするタスクがある。資源A、資源Bは、優先資源Cが排他されるときに必ず排他される資源である。このとき、(資源Aの排他要求回数×平均排他時間)≒(資源Bの排他要求回数×平均排他時間)≒(資源Cの排他要求回数×平均排他時間)となる。この場合、優先資源Cと資源A、資源Bとの各相関度は、それぞれ1に近い値となる。
優先リスト追加部45は、上記計算した優先資源との相関度と所定の閾値とを比較し(ステップS705)、所定の閾値より相関度が高い資源について、優先資源リスト48に登録済みか否かをチェックする(ステップS706)。登録済みでない場合、優先リスト追加部45は、当該資源を優先資源リスト48に追加する(ステップS707)。優先リスト追加部45は、ログ情報47のタスクリストテーブル477のすべてのログを参照したら(ステップS708)、処理を終了する。
以上説明した優先リスト作成部43および優先リスト追加部45の各動作により、優先資源リスト48が作成される。優先リスト送信部44は、優先資源リスト48が作成されると、当該優先資源リスト48を通信部41を介してホスト10,20に送信する。ホスト10,20は、それぞれ通信部23を介して受信した優先資源リスト15,25を保持しておく。
次に、稼働系の排他制御装置40に障害が発生した際に、当該排他制御装置40から待機系の排他制御装置50への切り替え処理について説明する。
稼働系の排他制御装置40に障害が発生すると、当該排他制御装置40は、ホスト10,20に対して障害が発生した旨を、通信部41を介して通知する。ホスト10,20は、通信部13,23を介して上記障害が発生した旨の通知を受信すると、排他情報送信部12は、待機系の排他制御装置50への切り替えのための排他情報の送信のための動作を開始する。
図9は、排他情報送信部12による排他情報の送信のための動作を説明するフローチャートである。図9を参照して、排他情報送信部12の上記動作を説明する。
排他情報送信部12は、待機系の排他制御装置50への切り替えのための動作を開始すると、まず、排他制御装置40,50に対する排他要求を含む新規のI/O(Input/Output)の発行を抑止する要求を排他要求部11に出す(ステップS801)。続いて、排他情報送信部12は、ホスト固有排他情報14を参照し(ステップS802)、登録されている排他情報が優先資源リスト15に登録されている資源に対する排他情報であるか否かをチェックする(ステップS803)。
排他情報送信部12は、優先資源リスト15に登録されている資源に対する排他情報である場合、当該排他情報をホスト固有排他情報14から抽出すると共に、通信部13を介して待機系の排他制御装置50に送信する(ステップS804)。優先資源リスト15に登録されていない資源に対する排他情報である場合、排他情報送信部12は、当該排他情報を保持する(ステップS805)。排他情報を受信した排他制御装置50は、当該排他情報に基づいて排他制御を実施(再生)する。
排他情報送信部12は、ホスト固有排他情報14をすべて参照し、ステップS802からステップS805の処理を行ったら(ステップS806)、優先資源リスト15に登録される資源を使用するタスクを優先的に実施する優先運用を開始する(ステップS807)。ホスト10の優先運用中は、排他情報送信部12は、優先資源リスト15に登録される資源に対する排他要求を排他制御装置50に送ることを認める指示を排他要求部11に供給する。
そして、ホスト10の優先運用中は、優先資源リスト15に登録される資源に対する排他要求は、排他要求部11から待機系の排他制御装置50に送られ、当該資源を使用するタスクがホスト10において実施される。一方、優先資源リスト15に登録されない資源に関する排他情報は排他制御装置50に未送信である。したがって、当該資源に対する排他要求は、ホスト10内でI/O発行が抑止され、当該資源を使用するタスクはホスト10において実施されない。このように、優先度の高い資源、および当該資源に関連する資源を優先的に排他制御することにより、優先度の高い資源を使用するタスクを短時間で再開できる。
優先運用を開始した後、排他情報送信部12は、ステップS805において保持していた排他情報がある場合(ステップS808)、当該排他情報をすべて排他制御装置50に送信する(ステップS809)。排他制御装置50において、当該排他情報に基づく排他制御がすべて実施(再生)されると、すべての資源に対して排他要求が可能となるので、排他制御システムは、排他制御装置50による排他制御を用いて通常の運用(完全運用)を再開する。
上記動作により、本第1の実施形態では、以下のような効果が得られる。ここで、排他制御装置40において作成される優先資源リスト48の閾値を全資源に対して上位α%(例えば20%)とし、優先資源リスト48に登録されている資源と上記優先運用再開以降、完全運用再開までの間に排他要求される資源とのマッチング率をβ%(例えば75%)とする。
優先運用再開以降に排他要求できる資源は、全資源のαβ%(例えば15%)となり、残り(例えば85%)の資源は、すべての排他情報が再生完了(完全運用)された後に排他制御が可能となる。つまり、αβ%の資源に関しては、運用再開までの時間が短縮され(例えば5分の1)、(α−αβ)%の資源に関しては、優先運用再開後に排他要求は出されるが優先資源リスト48とマッチングしないので完全運用まで待機することとなる。
優先資源リスト48に登録されていない残りの(1−α)%の資源は、優先度が低いので、完全運用の再開まで待機されても問題ない。
Figure 0006119302
優先資源リスト48の閾値α=20%、優先運用再開後のマッチング率β=75%、完全運用の再開までのダウンタイム=60秒として、具体例を以下に示す。
Figure 0006119302
ここで、いわゆるパレートの法則によれば、重要な20%の仕事が80%の成果を、残りの80%の仕事が20%の成果を生むといわれている。共有資源の排他制御において、重要な資源を上記のように優先的に運用再開することによりダウンタイムを短縮することで、システム全体としてのスループットが飛躍的に向上させることができるという効果が得られる。特に、様々な業務を1台のホストで処理する汎用機で効果を発揮する。
以上のように、本第1の実施形態によれば、排他制御装置100において、排他制御装置40の優先リスト作成部43は、定期的に排他情報46とログ情報47とを参照しながら優先資源リスト48を作成する。優先リスト追加部45は、優先資源リスト48に登録された資源に付随する資源を優先資源リスト48に追加する。優先リスト送信部44は、作成された優先資源リスト48をホスト10,20に送信する。
ホスト10は、自装置の排他情報であるホスト固有排他情報14を保持する。排他制御装置40が故障すると、優先資源リスト15に登録される排他情報をホスト固有排他情報14から抽出すると共に、当該排他情報を待機系の排他制御装置50に送信する。その後、ホスト10は、優先資源リスト15に登録される資源を使用するタスクを優先的に実施する優先運用を開始する。
上記構成を採用することにより、本第1の実施形態によれば、排他制御システム100において排他制御装置40の故障が生じても、優先度の高い資源、および当該資源に関連する資源を優先的に排他制御することにより、稼働系の排他制御装置の故障から待機系の排他制御装置に切り替えて運用再開するまでの時間を短縮できるという効果が得られる。
第2の実施形態
図10は、本発明の第2の実施形態に係る排他制御装置300の構成を示すブロック図である。図10に示すように、排他制御装置300は、優先資源リスト作成部301、優先資源リスト追加部302および通信部303を備える。
優先資源リスト作成部301は、複数のホストにより使用される共有資源に対する排他状況に基づいて当該各共有資源の優先度を算出すると共に、当該算出した優先度が高い順に所定数の共有資源を優先資源として登録した優先資源リストを作成する。なお、算出した優先度が高い順に優先資源リストに登録することは一例であり、いずれの順に優先資源リストに登録してもよい。
優先資源リスト追加部302は、作成された優先資源リストに登録される優先資源に関連する資源を特定すると共に、当該関連する資源を前記優先資源リストに追加する。通信部303は、優先資源リストを前記各ホストに送信する。
本第2の実施形態によれば、上記構成を採用することにより、優先度の高い資源、および当該資源に関連する資源を優先的に排他制御することにより、稼働系の排他制御装置の故障から待機系の排他制御装置に切り替えて運用再開するまでの時間を短縮できるという効果が得られる。
なお、上述した各実施形態では、図1および図10に示す排他制御装置またはホストを、図2に示すCPU200が実行する一例として、ソフトウエア・プログラムによって実現する場合について説明した。しかしながら、図1および図10に示す各ブロックに示す機能は、一部または全部を、ハードウエアとして実現してもよい。
また、上述した各実施形態を例に説明した本発明は、上述した排他制御装置またはホストに対して、その説明において参照したフローチャート(図6、図7、図8、図9)の機能を実現可能なコンピュータ・プログラムを供給した後、そのコンピュータ・プログラムを、CPU200に読み出して実行することによって達成される。
また、係る供給されたコンピュータ・プログラムは、読み書き可能なメモリ(一時記憶媒体)またはハードディスク装置等のコンピュータ読み取り可能な記憶デバイスに格納すればよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムを表すコード或いは係るコンピュータ・プログラムを格納した記憶媒体によって構成されると捉えることができる。
本発明は、例えば様々な業務を1台のホストで処理する汎用機に適用できる。
上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
複数のホストにより使用される共有資源に対する排他状況に基づいて当該各共有資源の優先度を算出すると共に、当該算出した優先度に従って所定数の共有資源を優先資源として登録した優先資源リストを作成する優先資源リスト作成部と、
前記作成された優先資源リストに登録される優先資源に関連する資源を特定すると共に、当該関連する資源を前記優先資源リストに追加する優先資源リスト追加部と、
前記優先資源リストを前記各ホストに送信する通信部と
を備えた排他制御装置。
(付記2)
前記優先資源リスト追加部は、前記優先資源リスト作成部が作成した前記優先資源リストに登録される優先資源を排他待ちするタスクがある場合、当該タスクよりも先に当該優先資源を排他している第1のタスクが排他または排他待ちする資源を、前記優先資源に関連する資源として前記優先資源リストに追加する
付記1記載の排他制御装置。
(付記3)
前記優先資源リスト追加部は、前記第1のタスクが排他待ちをしている資源がある場合、当該資源を先に排他するタスクが排他待ちしている資源を、前記優先資源に関連する資源として前記優先資源リストに追加する
付記2記載の排他制御装置。
(付記4)
前記優先資源リスト追加部は、前記共有資源に対する排他状況に基づいて、前記優先資源リストに登録される優先資源の前または後に、前記優先資源リストに登録されない資源を排他するか否かを判断し、排他する場合、当該排他する資源と、前記優先資源リストに登録される優先資源との相関度が所定値を超える場合、当該排他する資源を前記優先資源に関連する資源として前記優先資源リストに追加する
付記1ないし付記3のいずれか1項記載の排他制御装置。
(付記5)
前記優先資源リスト追加部は、前記排他する資源が受ける排他要求の回数と当該資源が排他される平均時間の積と、前記優先資源リストに登録される優先資源が受ける排他要求の回数と当該優先資源が排他される平均時間の積を算出すると共に、当該2つの算出された値の商を、前記相関度として算出する
付記4記載の排他制御装置。
(付記6)
複数のホストにより使用される共有資源に対する排他状況に基づいて当該各共有資源の優先度を算出すると共に、当該算出した優先度に従って所定数の共有資源を優先資源として登録した優先資源リストを作成する優先資源リスト作成部と、
前記作成された優先資源リストに登録される優先資源に関連する資源を特定すると共に、当該関連する資源を前記優先資源リストに追加する優先資源リスト追加部と、
前記優先資源リストを前記各ホストに送信する通信部と
を備えた第1の排他制御装置と、
前記各ホストから、前記優先資源リストに登録される資源に対する当該各ホストからの排他要求状況を含む排他情報を受信すると共に、当該排他情報に含まれるように排他制御を実施する排他制御部
を備えた第2の排他制御装置と
を備えた排他制御システム。
(付記7)
前記第1の排他制御装置から故障の通知を受けると、自ホストが実行するタスクが排他または排他待ちする資源のうち、前記第1の排他制御装置から受信している前記優先資源リストに登録される資源に関する排他情報を、前記第2の排他制御装置に送信する排他情報送信部と、
前記排他情報送信部が前記排他情報を送信した後、前記優先資源リストに登録される資源に対する排他要求を、前記第2の排他制御装置に送信する排他要求部と
を備えるホストをさらに備えた
付記6記載の排他制御システム。
(付記8)
前記排他情報送信部は、前記優先資源リストに登録される資源に関する排他情報を前記第2の排他制御装置に送信した後に、前記優先資源リストに登録されない資源に関する排他情報を前記第2の排他制御装置に送信する
付記6記載の排他制御システム。
(付記9)
複数のホストにより使用される共有資源に対する排他状況に基づいて当該各共有資源の優先度を算出すると共に、当該算出した優先度に従って所定数の共有資源を優先資源として登録した優先資源リストを優先資源リスト作成部により作成し、
前記作成された優先資源リストに登録される優先資源に関連する資源を特定すると共に、当該関連する資源を優先資源リスト追加部により前記優先資源リストに追加し、
前記優先資源リストを前記各ホストに通信部により送信する
排他制御方法。
(付記10)
第1の排他制御装置において、複数のホストにより使用される共有資源に対する排他状況に基づいて当該各共有資源の優先度を算出すると共に、当該算出した優先度に従って所定数の共有資源を優先資源として登録した優先資源リストを優先資源リスト作成部により作成し、
前記作成された優先資源リストに登録される優先資源に関連する資源を特定すると共に、当該関連する資源を優先資源リスト追加部により前記優先資源リストに追加し、
前記優先資源リストを通信部により前記各ホストに送信し、
第2の排他制御装置において、前記各ホストから、前記優先資源リストに登録される資源に対する当該各ホストからの排他要求状況を含む排他情報を受信すると共に、当該排他情報に含まれるように排他制御を排他制御部により実施する
排他制御方法。
(付記11)
前記ホストにおいて、前記第1の排他制御装置から故障の通知を受けると、自ホストが実行するタスクが排他または排他待ちする資源のうち、前記第1の排他制御装置から受信している前記優先資源リストに登録される資源に関する排他情報を、前記第2の排他制御装置に排他情報送信部により送信し、
前記排他情報送信部が前記排他情報を送信した後、前記優先資源リストに登録される資源に対する排他要求を、前記第2の排他制御装置に排他要求部により送信する
付記10記載の排他制御方法。
(付記12)
前記排他情報送信部は、前記優先資源リストに登録される資源に関する排他情報を前記第2の排他制御装置に送信した後に、前記優先資源リストに登録されない資源に関する排他情報を前記第2の排他制御装置に送信する
付記10記載の排他制御方法。
(付記13)
複数のホストにより使用される共有資源に対する排他状況に基づいて当該各共有資源の優先度を算出すると共に、当該算出した優先度に従って所定数の共有資源を優先資源として登録した優先資源リストを優先資源リスト作成部により作成する処理と、
前記作成された優先資源リストに登録される優先資源に関連する資源を特定すると共に、当該関連する資源を前記優先資源リストに追加する処理と、
前記優先資源リストを前記各ホストに通信部により送信する処理とを
コンピュータに実行させる排他制御プログラム。
100 排他制御システム
10,20 ホスト
30 共有資源記憶部
40,50 排他制御装置
11,21 排他要求部
12,22 排他情報送信部
13,23,41,51 通信部
42,52 排他制御部
43 優先リスト作成部
44 優先リスト送信部
45 優先リスト追加部

Claims (10)

  1. 複数のホストにより使用される共有資源に対する排他状況に基づいて当該各共有資源の優先度を算出すると共に、当該算出した優先度に従って所定数の共有資源を前記各ホストと通信可能な他の排他制御装置が優先的に排他制御する優先資源として登録した優先資源リストを作成する優先資源リスト作成部と、
    前記作成された優先資源リストに登録される優先資源に関連する資源を特定すると共に、当該関連する資源を前記優先資源リストに追加する優先資源リスト追加部と、
    前記優先資源リストを前記各ホストに送信する通信部と
    を備えた排他制御装置。
  2. 前記優先資源リスト追加部は、前記優先資源リスト作成部が作成した前記優先資源リストに登録される優先資源を排他待ちするタスクがある場合、当該タスクよりも先に当該優先資源を排他している第1のタスクが排他または排他待ちする資源を、前記優先資源に関連する資源として前記優先資源リストに追加する
    請求項1記載の排他制御装置。
  3. 前記優先資源リスト追加部は、前記第1のタスクが排他待ちをしている資源がある場合、当該資源を先に排他するタスクが排他待ちしている資源を、前記優先資源に関連する資源として前記優先資源リストに追加する
    請求項2記載の排他制御装置。
  4. 前記優先資源リスト追加部は、前記共有資源に対する排他状況に基づいて、前記優先資源リストに登録される優先資源の前または後に、前記優先資源リストに登録されない資源が排他されるか否かを判断し、排他される場合、当該排他される資源と、前記優先資源リストに登録される優先資源との相関度が所定値を超える場合、当該排他される資源を前記優先資源に関連する資源として前記優先資源リストに追加する
    請求項1ないし請求項3のいずれか1項記載の排他制御装置。
  5. 前記優先資源リスト追加部は、前記排他される資源が受ける排他要求の回数と当該資源が排他される平均時間の積と、前記優先資源リストに登録される優先資源が受ける排他要求の回数と当該優先資源が排他される平均時間の積を算出すると共に、当該2つの算出された値の商を、前記相関度として算出する
    請求項4記載の排他制御装置。
  6. 複数のホストにより使用される共有資源に対する排他状況に基づいて当該各共有資源の優先度を算出すると共に、当該算出した優先度に従って所定数の共有資源を優先資源として登録した優先資源リストを作成する優先資源リスト作成部と、
    前記作成された優先資源リストに登録される優先資源に関連する資源を特定すると共に、当該関連する資源を前記優先資源リストに追加する優先資源リスト追加部と、
    前記優先資源リストを前記各ホストに送信する通信部と
    を備えた第1の排他制御装置と、
    前記各ホストから受信した、前記優先資源リストに登録される資源に対する当該各ホストからの排他要求状況を含む排他情報に基づいて、前記優先資源リストに登録される資源を優先的に排他制御する排他制御部
    を備えた第2の排他制御装置と
    を備えた排他制御システム。
  7. 前記第1の排他制御装置から故障の通知を受けると、自ホストが実行するタスクが排他または排他待ちする資源のうち、前記第1の排他制御装置から受信している前記優先資源リストに登録される資源に関する排他情報を、前記第2の排他制御装置に送信する排他情報送信部と、
    前記排他情報送信部が前記排他情報を送信した後、前記優先資源リストに登録される資源に対する排他要求を、前記第2の排他制御装置に送信する排他要求部と
    を備えるホストをさらに備えた
    請求項6記載の排他制御システム。
  8. 前記排他情報送信部は、前記優先資源リストに登録される資源に関する排他情報を前記第2の排他制御装置に送信した後に、前記優先資源リストに登録されない資源に関する排他情報を前記第2の排他制御装置に送信する
    請求項記載の排他制御システム。
  9. 複数のホストにより使用される共有資源に対する排他状況に基づいて当該各共有資源の優先度を算出すると共に、当該算出した優先度に従って所定数の共有資源を前記各ホストと通信可能な他の排他制御装置が優先的に排他制御する優先資源として登録した優先資源リストを優先資源リスト作成部により作成し、
    前記作成された優先資源リストに登録される優先資源に関連する資源を特定すると共に、当該関連する資源を優先資源リスト追加部により前記優先資源リストに追加し、
    前記優先資源リストを前記各ホストに通信部により送信する
    排他制御方法。
  10. 複数のホストにより使用される共有資源に対する排他状況に基づいて当該各共有資源の優先度を算出すると共に、当該算出した優先度に従って所定数の共有資源を前記各ホストと通信可能な他の排他制御装置が優先的に排他制御する優先資源として登録した優先資源リストを優先資源リスト作成部により作成する処理と、
    前記作成された優先資源リストに登録される優先資源に関連する資源を特定すると共に、当該関連する資源を前記優先資源リストに追加する処理と、
    前記優先資源リストを前記各ホストに通信部により送信する処理とを
    コンピュータに実行させる排他制御プログラム。
JP2013036865A 2013-02-27 2013-02-27 排他制御装置、排他制御方法、排他制御システムおよびプログラム Active JP6119302B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013036865A JP6119302B2 (ja) 2013-02-27 2013-02-27 排他制御装置、排他制御方法、排他制御システムおよびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013036865A JP6119302B2 (ja) 2013-02-27 2013-02-27 排他制御装置、排他制御方法、排他制御システムおよびプログラム

Publications (2)

Publication Number Publication Date
JP2014164647A JP2014164647A (ja) 2014-09-08
JP6119302B2 true JP6119302B2 (ja) 2017-04-26

Family

ID=51615173

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013036865A Active JP6119302B2 (ja) 2013-02-27 2013-02-27 排他制御装置、排他制御方法、排他制御システムおよびプログラム

Country Status (1)

Country Link
JP (1) JP6119302B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7440170B2 (ja) 2021-03-10 2024-02-28 Necプラットフォームズ株式会社 排他制御装置、排他制御システム、制御方法及びプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3068556B2 (ja) * 1998-04-27 2000-07-24 エヌイーシーソフト株式会社 共有資源排他制御方式およびそのプログラム記録媒体
JP5067075B2 (ja) * 2007-08-29 2012-11-07 日本電気株式会社 疎結合システム、待機系排他制御装置、疎結合システムのリカバリ方法、プログラムおよび記憶媒体

Also Published As

Publication number Publication date
JP2014164647A (ja) 2014-09-08

Similar Documents

Publication Publication Date Title
US10156986B2 (en) Gang migration of virtual machines using cluster-wide deduplication
JP5851503B2 (ja) 高可用性仮想機械環境におけるアプリケーションの高可用性の提供
US9208029B2 (en) Computer system to switch logical group of virtual computers
CN107431696A (zh) 用于应用自动化部署的方法和云管理节点
US9703652B2 (en) VM and host management function availability during management network failure in host computing systems in a failover cluster
US9807152B2 (en) Distributed processing device and distributed processing system as well as distributed processing method
US8479038B1 (en) Method and apparatus for achieving high availability for applications and optimizing power consumption within a datacenter
TW201535266A (zh) 虛擬機器之資源調整方法及系統
US9858101B2 (en) Virtual machine input/output thread management
US10467106B2 (en) Data processing method, data processing system, and non-transitory computer program product for controlling a workload delay time
CN106354563B (zh) 用于3d重建的分布式计算系统以及3d重建方法
US9128754B2 (en) Resource starvation management in a computer system
US20180089055A1 (en) Method and apparatus for monitoring logs
CN110569124A (zh) 一种任务分配方法和装置
JP6119302B2 (ja) 排他制御装置、排他制御方法、排他制御システムおよびプログラム
JP5707409B2 (ja) 計算機
US9378050B2 (en) Assigning an operation to a computing device based on a number of operations simultaneously executing on that device
US9838324B2 (en) Information processing system, information management apparatus, and data transfer control method
JP2017037539A (ja) サーバ制御プログラム、サーバ制御方法およびサーバ制御装置
US10089200B2 (en) Computer apparatus and computer mechanism
JP6112205B2 (ja) 情報処理システム、装置、方法及びプログラム
KR101248470B1 (ko) 자원 모니터링 컴퓨팅 장치, 방법 및 그 방법을 실행시키기 위한 프로그램을 기록한 기록매체
KR102575524B1 (ko) 가상화 기반 전투체계를 위한 분산정보처리장치 및 이의 자원 할당 방법
JP7476481B2 (ja) 情報処理システム、物理マシン、情報処理方法、及びプログラム
CN110290159B (zh) 一种调度管理的方法和设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160920

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161011

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161212

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170228

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170313

R150 Certificate of patent or registration of utility model

Ref document number: 6119302

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150