ロッキング処理においてレイテンシが発生すると多くのプロセスが待ち状態になり、どれほど強力なCPUでもスループットを向上できないのだ。多くのビジネスアプリケーションでは、CPUの処理性能よりも、データベースの更新性能がアプリケーションレベルの性能を決定する条件になる。
ゆえに、グリッドによってこれらのアプリケーションの処理性能を向上することは難しい。数百台のコンピュータを使用するよりも、1台のコンピュータで処理した方が速かったという結果になる可能性が高い。実際、先の例に挙げたSunGridも企業コンピューティングを変革するとの鳴り物入りで発表されたにもかかわらず、現実には蛋白質構造解析や音声合成などのCPU演算中心型の処理にフォーカスしている。
これは、グリッドに価値がないと言っているわけではない。CPU演算中心型の処理を安価かつ柔軟に行なえるとメリットは重要だ。また、たとえば、データマイニングや金融デリバティブの評価など、一般企業においてもCPU演算中心型アプリケーションの応用範囲は広がっている。
すなわち、グリッドは特定の研究プロジェクトだけに有効というわけではないのである。ただし、かつてよく言われたように、企業コンピューティングの全領域を変革するというのは、明らかに言いすぎであったと言えるだろう。
別の意味のグリッド
冒頭でグリッドという言葉の多様性について述べた。特に、2003年にオラクルが自社DBMSが提供するRAC(Real Application Clusters)をグリッドと呼び始めたことで、少なくともIT産業界におけるグリッドとクラスタの区別はきわめて不明確になった。
今日では多くのベンダーがグリッドとクラスタを同義語で使っているようにも思える。すなわち、特定組織内で閉じており、集中管理されているコンピュータ群もグリッドと呼んでしまうということだ。
この場合におけるグリッドには、コンピュータ間での負荷均衡機能、自動チューニング機能などにフォーカスが当たっていることが多い。すなわち、自律型(オートノミック)コンピューティングと同様の概念として、グリッドという言葉が流用されているように思える。
この意味のグリッドでは、数台のコンピュータまでのレベルであればビジネスアプリケーションにおいても処理能力の向上が可能である。オラクルのキャッシュフュージョンなどのテクノロジにより、複数コンピュータ間でキャッシュ情報をやり取りすることで、データベース更新時のレイテンシの影響を最小化可能だからだ。
それでも、数百台のコンピュータを使って巨大な仮想コンピュータを提供することはやはり非現実的だ。
このようなグリッドの価値は処理能力の向上というよりも、ワークロード管理の柔軟性に置かれているように思える。前述のように、自律型の管理が可能であり、また、各コンピュータへのワークロードの割り当てや移行等を集中管理できるからだ。
ここで、「集中管理」と書いた時点で、この意味のグリッドが元々アカデミアで始まった時のグリッドの定義とはまったく相反するものになっていることがわかる。この「グリッド」も将来有望な点は異論がないのだが、より適切な名称を付けるべきではと個人的には思う。