[目次][前ページ][次ページ][OHP][質疑応答]
(3/7)

3.分散コンピューティング技術の適用

 つぎに、KEKBシステムで使用している分散コンピューティングシステム技術についていくつか紹介する。

ユーザーアカウント管理
 分散コンピューティング環境において、ユーザーの認証、資源アクセス権の認可、 uid, gidなどの属性管理は基本的なものである。このような場合 NIS(Network Information System)が多く使われてきたが、KEKBシステムではセキュリティの観点などから kerberos 認証を用いる TOG(The Open Group)のDCE(Distributed Computing Environment)を使用している。 DCE、DFS(Distributed File System)によりユーザー/バッチジョブはどのホストにログインしても/ディスパッチされても、ホスト名以外については同一の環境を得ることができる。DCEはサーバーとして Cell Directory (Directoryサービス) サーバ、セキュリティサーバ(認証・権限認可サービス)、時間サーバ(時間同期サービス)等によりサービスを提供するが、すべてのサービスにおいて複数台サーバによる負荷分散と障害時に備えた冗長度を上げる設計がなされている。例えばセキュリティサーバは、通常複数サーバの任意の一台をマスターとし、マスターのみがセキュリティ情報を書き換えることができる。 他のサーバはクライアントの読み出し要求にのみ答える。定期的にサーバ間のデータベースは同期がとられる。マスターサーバに異常が起こった場合にはオペレータの介入によりマスターサーバを変更できる。自動的に変更されないのは、ブリッジの故障などによるネットワークの分割によりマスターが2つそれぞれ独自にデータベースを変更し相互に矛盾が生じるのを避けるためである。マスターに異常があり、マスターが不在となってもユーザー認証には支障がない。新規のユーザ登録などができなくなるだけである。

計算処理能力の負荷分散 (バッチシステム)
 長時間の計算処理は LSFによるバッチキュー処理により処理を行う。 LSFではキュー毎に実行ジョブの資源制限、ジョブスケジューリングポリシー等を設定することができ、ユーザ間、グループ間の公平な資源の分配を大型汎用機なみに行うことができる。また、キューのパラメーターは運用を続けながら動的に変更できるのでチューニングが容易である。
 LSFは主に、バッチ実行全体を制御するマスターサーバ、ジョブを実行するホスト(バッチサーバ)の資源使用状況などの情報を定期的に収集し、集中して管理する負荷情報サーバ、ジョブが実行されるバッチサーバ、ユーザが実際にジョブをサブミットするクライアントからなる。負荷情報サーバのホスト情報によりマスターバッチサーバーは次にジョブをディスパッチするサーバを選択する。バッチサーバに異常が起こった場合、実行中のジョブは失われるが、他のバッチサーバで実行されているジョブや新規にサブミットされるジョブに影響はない。次に負荷情報サーバやマスターバッチサーバ機に異常が起こった場合は他のバッチサーバ機がそれらの機能を代替する。したがって理屈上ではバッチサービス自体はすべてのバッチサーバがダウンしない限り継続することができる。


[目次][前ページ][次ページ][OHP][質疑応答]