グリッド技術を用いた空間情報の分散処理

グリッド技術を用いた空間情報の分散処理
草薙 信照*
石坂
晃†
Distributed Processing of Spatial Data Using Grid Technology
Nobuteru KUSANAGI
Akira ISHISAKA
Abstract
To verify the effectiveness of the grid technology, we executed the spatial data processing with
generic GIS applications on the grid computing environment. There are two experiments we had, as
follows.
Experiment 1; Vertically distributed processing which divides spatial data into several layers,
then applies the same GIS operation to each layer.
Experiment 2; Horizontally distributed processing which divides spatial data into several areas,
then applies the same GIS operation to each area.
Both experiments show that distributed processing of spatial data with grid technology works
effectively and improves the entire processing performance.
Keywords
グリッドコンピューティング Grid Computing,分散コンピューティング Distributed Computing,
並列処理 Parallel Processing,空間情報技術 Spatial Information Technology
1
グリッド技術と空間情報処理
本研究の目的は,汎用的な GIS アプリケーション
による空間情報処理を,グリッドコンピューティン
グの環境下で実行し,その有効性を検証することに
ある.実験には,グリッド制御用のミドルウェアと
して Systemwalker CyberGRIP Ver. 13.0(富士通社製,
以下 CyberGRIP)を,GIS アプリケーションとして
ArcGIS Ver. 9.1(ESRI 社製,以下 ArcGIS)を用いた.
ArcGIS は代表的な汎用 GIS アプリケーションで
あり,行政や企業の実業務でも広く利用されている.
通常,ArcGIS の処理は1台の PC 上でインタラクテ
ィブに行われるが,多くの空間情報を扱ったり複雑
な解析を行う場合には,バッチ型で実行されること
もある.そのような処理には数十分から数時間を要
することもあり,これをうまく分割して並行処理し,
スループットを向上させることができれば,実用的
な意義は大きい.
GIS 処理を実行するグリッド環境の制御には,
* 草薙:〒533-8533 大阪市東淀川区大隅 2-2-8
大阪経済大学 経営情報学部
[email protected]
†
石坂:富士通(株) 計算科学ソリューションセンター
[email protected]
CyberGRIP のオーガニックジョブコントローラ(以
下,OJC)を用いている.OJC とは,大量のジョブ
の依存関係や待ち合わせを含めて定義する専用ス
クリプト環境のことで,スクリプトを解釈してジョ
ブ投入や実行状況の監視を行う機能を有する.これ
ィングの環境は,ジョブ管理機能とファイル領域を
により,ジョブ管理が容易に行えるだけでなく,先
提供するマスタサーバ(マネージャ),ジョブの投
行ジョブの結果に基づく後続ジョブの動的生成や,
入などマスタサーバの操作を行う OJC クライアン
部分的なジョブの再実行など,インテリジェントな
ト,そして実際にジョブを実行する計算サーバ(エ
ジョブ実行制御が可能になっている.OJC スクリプ
ージェント)群から構成される.マスタサーバには
トを用いてアプリケーションを直接制御すること
Intel Xeon プロセッサ(3.2GHz, 2.0GB RAM)に Red
も可能であるが,アプリケーション固有の設定やイ
Hat Enterprise Linux ES (v4 for x86)を搭載した PC,
ンタフェースをラッピングするスクリプトを,OJC
OJC クライアントと計算サーバには Intel Pentium D
スクリプトから呼び出す方式を採用することによ
プ ロ セ ッ サ (2.8GHz, 1.0GB RAM) に Microsoft
って,グリッド化が容易となる.ArcGIS が提供す
Windows XP Professional (SP2)を搭載した PC を使用
る機能の多くは Python スクリプトのもとで実行可
した.このほかに,GIS データの入出力に利用する
能であることから,実験中におけるすべてのジョブ
GIS サーバを用意して,それぞれの装置を 100Mbps
は Python スクリプトで記述した.
の LAN に接続している.
ところで,このような実業務での利用の場合,総
今回は2種類の実験を行った.1つは四国全域を
合的な処理効率の向上だけでなく,自動的かつ安定
カバーする矩形エリアに対して 10 個のレイヤを追
的な実行と,障害発生時の適切な対処等の制御も重
加し,レイヤごとに GIS 操作を行う垂直分散処理の
要な課題である.この点に関して,我々はすでに
実験(以下,実験1),もう1つは実験1と同じ矩
ArcGIS との組合せにおける多くの実験を通じて,
形エリアを 9 個のエリアに分割し,分割されたエリ
CyberGRIP が適切な制御を行い,ArcGIS に起因す
アごとに GIS 操作を行う水平分散処理の実験(以下,
るとみられる不明なエラーへの対処も含めて,安定
実験2)である.それぞれの実験では,計算サーバ
的にジョブを完了できることを確認している(参考
(エージェント)の台数すなわちグリッドの多重度
文献[1]).
を 1 から N まで変化させながら,すべての処理が完
了するまでの時間(計測 3 回の平均値,以下同じ)
2
実験の概要
を計測し,グリッドコンピューティングの効果を検
証することとした.
実験環境を図1に示した.グリッドコンピューテ
GISデータベースサーバ
クライアント
マスタサーバ(マネージャ)
自律型ジョブ管理(OJC)
実験用GISデータ
マスタサーバ
の操作
GRIDマネージャ
リソース管理
Win 2003 Server
Linux Server
分散キュー管理
Xeon (3.2GHz)
Xeon (3.2GHz)
分散ジョブ実行管理
実験の観察
計算サーバ管理
100M bps
Switching Hub
出力データの
書き込み
入力データの
読み込み
ジョブ結果
の通知
ジョブ投入
計算サーバ(エージェント)
GIS
アプリケーション
ジョブ実行管理
GRIDエージェント
ジョブ
Windows XP
PentiumD(2.8GHz)
図1
実験環境
計算サーバ管理
3
実験1:垂直分散処理実験の結果と評価
実験1における ArcGIS の処理手順は以下のとお
るものの,理論上の性能比 9.9(193÷19.5)よりも
22%低くなっている.
りである(図2を参照).
[sec.]
25.0
①
四国全域をカバーする矩形エリアに対して,
20.0
10 個のレイヤを追加する.各レイヤは,人口,
②
事業所,商業,工業等の統計情報を持つ三次
15.0
メッシュとする(実験ではダミーデータを用
10.0
いた)
.
5.0
四国に立地する4つの空港を中心として,半
0.0
L01 L02 L03 L04 L05 L06 L07 L08 L09 L10
径 30km の円形バッファエリアを作成してお
図3
く.
③
ArcGIS の Clip 操作により,①のフィーチャ
各レイヤの処理時間
[sec.]
をレイヤごとに②のバッファエリアで切り
250
取り,新たなフィーチャとして出力する.
200
150
空港30km圏
10個のレイヤ
10個のジョブ
(Clip操作)
100
50
0
0
図4
図2
実験1の概要
1つのレイヤに対する③の操作を1ジョブとし
て,合計 10 個のジョブを用意した.各ジョブを 1
台の PC で直接実行したときの処理時間は図3のと
おりである.1ジョブあたりの処理時間は 19.2~
19.5 秒でほぼ均一であり,10 ジョブの合計処理時間
は 193 秒であった.実験1ではこの値(193 秒)を,
グリッドの性能比(基準値÷計測した処理時間)を
求める際の基準値とした.
次に,CyberGRIP 環境下でグリッドの多重度を 1
4
2
4
6
8
10 多重度
実験1における多重度と処理時間の関係
実験2:水平分散処理実験の結果と評価
実験2における ArcGIS の処理手順は以下のとお
りである(図5を参照).
①
四国全域をカバーする矩形エリア内の地形
を分析するため,
「数値地図 50m メッシュ(標
高)
」
(国土地理院刊行)から 9 個の図幅(一
次メッシュ 4932, 4933, 4934, 5032, 5033, 5034,
5132, 5133, 5134 に対応)から DEM データを
抽出し,図幅ごとにシェープファイルへの変
換を済ませておく.
から 10 まで変化させながら,それぞれの処理時間
9個のエリア
に分割
を計測した結果を図4に示した.多重度=1 のケー
スでは処理時間は 174 秒,性能比は 1.1 となり,1
台の PC による直接実行時よりも性能が高い.グリ
9個のジョブ
(Project操作)
ッドの多重度を増すにつれて性能が向上し,多重度
=10 のケースでは 25 秒,性能比は 7.7 まで達してい
図5
実験2の概要
②
ArcGIS の Project 操作により,①の DEM を
図幅ごとに経緯度座標からメートル単位の
平面直角座標(第4系)に変換して,新たな
DEM として出力する.
1つの図幅に対する②の操作を1ジョブとして,
合計 9 個のジョブを用意した.各ジョブを 1 台の
PC で直接実行したときの処理時間は図6のとおり
である.1ジョブあたりの処理時間は「5033」の 520
秒から「4934」の 12 秒まで不均一であり,9 ジョブ
の合計処理時間は 2547 秒であった.実験2ではこ
の値(2547 秒)を,グリッドの性能を計測する際の
基準値とした.
次に,CyberGRIP 環境下でグリッドの多重度を 1
から 9 まで変化させながら,それぞれの処理時間を
計測した結果を図7に示した.多重度=1 のケース
では処理時間は 2493 秒,性能比は 1.02 となり,1
台の PC による直接実行時よりもやや性能が高い.
グリッドの多重度を増すにつれて性能が向上し,多
重度=9 のケースでは 677 秒,性能比は 3.8 となって
いるものの,理論上の性能比 4.9(2547÷520)より
も 22%低い.
5
考察と今後の課題
実験1では空間情報をレイヤに分割し,各レイヤ
に対して同じ GIS 操作を適用する垂直分散処理を
行い,実験2では空間情報をエリアに分割し,各レ
イヤに対して同じ GIS 操作を適用する水平分散処
理を行ったが,いずれの場合でもグリッド技術は有
効に機能し,全体の処理性能を向上させうることを
実証した.
分散処理の対象となる各ジョブの大きさ(処理時
間)に注目すると,実験1のようにほぼ均一である
ほうが,実験2のように不均一な場合よりも高い性
能比を得られることが確認できた.ところで,両実
験を通じて,多重度を最大にしたときの性能比が理
論値よりも 20%程度低くなることについては,アプ
リケーション側の処理時間が増加する傾向にある
ことまでを把握できた段階であり,詳細な原因の究
明と改善案の提示は今後の課題としたい.
グリッド技術を用いた空間情報の分散処理に関
する実用性は,現時点でも必要十分な水準にあると
いえる.今後さらに,CyberGRIP と ArcGIS の組合
せによる実験を重ね,性能比を理論値に近づけるた
めの最適チューニングを見出すことによって,複雑
[sec.]
600
なレイヤ構造や広大なエリアなど大規模な空間情
480
報処理への対応が可能となり,実用性が飛躍的に高
360
まるものと期待される.
240
120
0
4932 4933 4934 5032 5033 5034 5132 5133 5134
図6
【付記】
各エリアの処理時間
本研究は大阪経済大学・共同研究費(グリッドコン
ピューティング技術を用いた大規模地域統計情報の処
[sec.]
3000
理に関する研究)の交付を受けて行っており,本稿は
2400
その成果の一部として公表するものである.
1800
【参考文献】
1200
[1] 草薙信照・石原康秀「グリッド技術を用いた GIS 処理の
600
制御と効率化」
,情報処理学会・第 69 回全国大会,2007
年3月
0
0
図7
2
4
6
8
10
多重度
実験2における多重度と処理時間の関係
[2] 山野紘一「サービス・グリッドと動的コレオグラフィー
の提案」
,大阪経大論集・第 58 巻第 1 号,2007 年 7 月