グリッド・コンピューティング

**グリッド・コンピューティング**は、インターネットなどの広域のネットワーク上にある計算資源（CPUなどの計算能力や、ハードディスクなどの情報格納領域）を結びつけ、ひとつの複合したコンピュータシステムとしてサービスを提供する仕組みである。提供されるサービスは主に計算処理とデータの保存・利用に大別される。一箇所の計算センターや、一組のスーパーコンピュータでは足りないほどの大規模な計算処理や大量のデータを保存・利用するための手段として開発されている。

## 概要
グリッドコンピューティングは、どこにでも、必要な情報サービスを、必要なときに、必要なだけ提供するという、「情報資源」の「ユーティリティ化」を目指しており、インターネットをインフラとして実現される、インターネットの次の世代の情報インフラを目指している。名前は、21世紀初頭時点ですでにそのような系統が確立しているインフラである電力送電網（パワーグリッド）に由来する。「遊休パソコンの計算力をまとめて高性能計算を行うもの」といった説明は、ある一面だけしか捉えずに報道されたものである。

コンピュータの処理能力は年々向上して来たが、大規模な計算を出来るだけ短時間で処理するために、並列コンピューティング・分散コンピューティング等の手段が開発されてきた。こうした技術を利用して一台のコンピュータの処理能力を飛躍的に向上させたものはスーパーコンピュータと呼ばれ、複数のコンピュータを統合して全体として処理能力を上げたものはコンピュータ・クラスターと呼ばれる。また、パーソナルコンピュータをベースとした計算機でも100個前後のCPUと数100GBのメモリを搭載できるものが存在する。

グリッド・コンピューティングは、各地に散在するこれらの大規模計算のためのスーパーコンピュータやコンピュータ・クラスターを統一的に利用出来るようにし、更に全体の処理スループットの増加を目指すものである。各地の計算センターに置かれたスーパーコンピュータやコンピュータ・クラスター等の計算資源は、それぞれに仕様が異なるため、従来それらの複数を利用する場合には個々の仕様に合わせた計算処理をそれぞれに用意しなければならなかったが、グリッド・コンピューティングはその手間を省き統一的に扱える様にするものである。

初期のグリッドは、大規模な計算処理を複数の計算センターで行なうことを目指す「コンピューティング・グリッド（計算グリッド）」であったが、大規模なデータを扱う必要のある科学研究分野で「データ・グリッド」が提唱・開発され、現在は計算処理とデータ保存・利用の両方の機能を備えているものが多い。また、産業界向けに開発されているツールキットは単体の計算処理よりも複数処理のスループット改善を重視して開発されているものが多い（これは処理の並列化、分散化に対しアプリケーション自体が対応していないケースが考慮されていることも一因である）。

## グリッドの構成
グリッド・コンピューティングは計算資源とそれを利用するためのミドルウェアによって実現される。ミドルウェアとはアプリケーションソフトウェアとオペレーティングシステムの中間に位置するソフトウェアで、各計算資源の仕様の違いを吸収し、またそれらを利用するための情報を統一的に提供するものである。

グリッドに提供される資源の要素となるのは、家庭のコンピュータやプラグコンピュータ、スーパーコンピュータのクラスターの規模になったり、強大な記憶資源や、情報やデータ、または動的に発生する情報を共有するようなことまでが考えられている。

グリッドに対して資源を要求して処理を与えることで、必要な資源が提供されるような仕組みである。

* 利用する側
** 通常のコンピュータから利用することができる。
** グリッドのネットワークに繋がりプロトコルを実装していれば、利用することができる。
* 提供する側
** 単なる利用するコンピュータも、空いている資源をグリッド上に提供できる。
*** 計算力や、情報、データ、動的な情報（ビデオカメラの画像など）
** 高位の計算力
*** グリッド上に提供されている計算力を複数組み合わせて利用できる。必要な計算力をリクエストして、空いている計算力が知らされ、そこにデータと処理を送って処理をするなどが、自動的に行われる。利用者からは単に自分のデスクトップで処理をしているように見える。
*** コンピュータ・クラスターなどの計算資源の提供。
** 記憶資源の提供。
*** 二次記憶となるような、データのバックアップや、巨大な計算結果の保存など。
*** 二次記憶から、直接グリッド上の計算資源にデータの送受が行われたりする。

## ミドルウェア
グリッドの要素となるコンピュータは特定の仕様に限らないことが多く、また、手探りで作り上げていく要素が大きいため、オープンソースのフリーなオペレーティングシステムをベースに作り上げて行くことが模索されている。そうすることで、グリッド・コンピューティングは特定のCPUアーキテクチャや、オペレーティングシステムに限られない仕様を共有した、場合によってはソースコードを共有した仕様になって行くことが計画されている。

### Globusツールキット
Globusツールキットは、グリッドを構成するためのミドルウェアとして事実上の標準になりつつある。Globusが提供するサービスには以下のような物がある。
* 資源管理（グリッド資源管理プロトコル：GRAM、Grid Resource Management Service）。
* 情報サービス（監視と検知サービス：MDS - Monitoring and Discovery Service）。
* データ移動と管理（二次記憶への広域アクセス：GASS - Global Access to Secondary Storage）。
* GridFTP

### その他のツールキット
Globusツールキット以外にも次のようなミドルウェア系ツールキットが存在する。ただし、グリッドと銘打っていても厳密にはコンピュータ・クラスターのためのツールキットであり、グリッド・コンピューティングの概念に適合しないものもある。

; Sun Grid Engine
: サン・マイクロシステムズが主導で開発するツールキット。オープンソース。
; Xgrid
: Appleが開発するmacOS用ツールキット。
; SCore
: すでに解散した新情報処理開発機構によって開発されたLinuxまたはFreeBSD用のミドルウェア及びシステムツール群。現在はPCクラスタコンソーシアムがメンテナンスを行う。
; AD-POWERs
: 大日本印刷の開発したWindows用のミドルウェア製品。ローカルグリッドでの運用に適する。

## 脚注


## 参考文献
* Ian Foster "*What is the Grid? A Three Point Checklist*" http://www-fp.mcs.anl.gov/~foster/Articles/WhatIsTheGrid.pdfhttp://www.gridtoday.com/02/0722/100136.html （英文）
* 『グリッド――情報社会の未来を紡ぐ――』（ISBN 4-621-07430-X）
*合田憲人・関口智嗣『グリッド技術入門 インターネット上の新しい計算・データサービス』（コロナ社、ISBN 978-4-339-02426-5）

## 関連項目
* ユーティリティコンピューティング
* 分散コンピューティング
* サーバファーム
* コンピュータ・クラスター
* オープン標準
* Globusツールキット
* センサネットワーク

### グリッド・コンピューティング・プロジェクト
* United Devices Cancer Research Project - 既に終了
* World Community Grid
* cell computing - 既に終了

## 外部リンク
* globus
* Open Grid Forum
* Grid Computing Info Centre
* LCG - LHC Computing Grid project - CERNの粒子加速器LHCで行われる実験のデータを処理するためのグリッドを構築・運営するプロジェクト。
* OSG - Open Science Grid
* 国立情報学研究所 グリッド研究開発推進拠点