Takafumi Yonekura's Weblog
Please Use Unicode (UTF-8)!!
All | General | Japanese

20040701 Thursday July 01, 2004

Read Grid Engine Source 2

新年度、あけましておめでとうございます。
Sunは7月始まりの会社でして、7月1日からは、FY05となります。
まだオリンピックも始まっていないのに、2005年といわれてもぴんと来ませんが。

さて、今年度はもう少し計画的に、なおかつ質の高い記事を書きたいと思っています。
毎週一回くらいが適度でしょうね。とはいえ今日のところは先日の続きを。

3. Grid Engineって、どんなことをするの?

先日の説明だけでは「Gridソフトっていうだけで、なにをするのかさっぱりわからん」
という方がほとんどだと思います。そこで、Grid Engineがなにをするのか、
乱暴なまでに単純化して説明してみます。

Grid Engineとは、

・ユーザーが実行したいジョブ(script)を各自のホスト(submit host)からマスターホスト(qmaster)に
 実行依頼を行う(submitする)

・マスターホストが空いている実行ホスト(exec host)に対して、そのジョブを投げる。

・実行ホストは受け取ったジョブを実行し、結果をマスターに返す

・マスターは結果をユーザに返す。

ということをします。shell scriptのディスパッチャーなの?という質問に対しては、
「まあ、簡単に言えばそうなります」ということです。もちろん、いろいろと
難しいことができるわけですが。

さて、ここで出てきた登場人物を整理すると
・submit host          : ユーザのマシン
・master host(qmaster) : ボス
・exec host            : 働きアリ

さらに、「空いている実行ホスト」を選んでボスに報告する秘書として、schedulerがいます。
submit / qmaster / exec / scheduler の4種類がおもな登場人物です。


4. Grid Engine 6のソースを読む際の注意点

sourceディレクトリのあちこちに .html というファイルがあります。
その多くはソースの解読の助けになってくれるファイルです。

たとえば、Grid Engineで処理の中心となるqmasterのソースは、/source/daemon/qmaster ディレクトリに
おいてあり、qmaster.htmlにqmasterの説明があります。

ただし、このファイルはまだver 5.3のころから更新してないので、整合性がとられていない部分が
あります。(たとえば、qmaster.htmlにでてくるqmaster.c はGrid Engine 6には存在しません!)

さて、今日はこの辺で。次こそは実際に読んでみたいと思います。
(2004-07-01 22:03:11.0) Permalink


archives
links
referers