Inner Circle Sun Microsystems

Webサービスのためのスループット・コンピューティング (1/3)

得意先や提携先とのWeb上でのトランザクションの必要性は増すばかりです。この状況に対処するため、多くの企業が多種多様の製品および技術を運用せざるを得ない状況になっています。しかし、製品は変わるものの、今日のWebサービスの大半は、クラスタ化された共通の多層アーキテクチャに依存しています。

代表的な三層アーキテクチャは、エッジ層に数十、数百、あるいは数千台ものWebサーバ、ミドル層に少数のアプリケーションサーバ、そして、バックエンド層に少数の強力なデータベースおよびトランザクション処理サーバという構成です。このアプローチによって企業は規模を拡大しながら、ますます増大する同時ユーザ数に応えることができますが、他方で、コストは高くつきます。

今日のエッジおよびミドル層のWebサービスは、増大する需要に対応するためにサーバをどんどん増設するという水平スケーリングを助長します。水平スケーリングにより、GoogleやAmazon、MLB.com、eBayなどのサイトは処理能力を増加できますが、問題点もいくつかあります。電力消費の増加、ケーブル接続やソフトウェアパッチ経費の増加、管理オーバーヘッドの増加です。規模を問わず、企業はどこも似たような難問に直面しつつあります。管理、セキュリティ、およびスケーラビリティを必要とするにも関わらず、多層Webサービスがばらばらに配備される状況が拡大しています。その上、データセンター管理者は、過度に資産を導入した場合の無駄の問題と、資産が不足した場合の顧客側の不便、犠牲の問題のバランスをとらなければなりません。

「Webサービスアーキテクチャは、非常にダイナミックでフレキシブルであることが求められます」と述べるのは、Sun MicrosystemsのWebサービスグリッド・イニシアティブの技術リーダである、Sreeram Duvurです。「企業は、一定レベルのレスポンス時間の維持とIT資産の最大活用、セットアップおよび運用コストの削減の一方で、トラフィックの急激な増加に対処しなければなりません。管理者は、サービス水準の低下を目にすると、サーバを増やす傾向にあります。」

しかしながら、Duvurは、「長い目で見ると、この傾向は、Webサービス基盤の運用および管理面のコストを増大させることになる」と言います。「Webサーバやアプリケーションサーバはバックエンドにあるセキュリティ保護されたデータにアクセするため、ネットワーク・トポロジやファイアウォール、暗号化によっても運用および管理コストは増大します。また、大企業では、Webサービスの配備場所が数十個所にのぼることがあり、この問題は何度も何度も繰り返されがちです。」

Webアプリケーションの主な性能測定基準の1つに、一定の時間に処理できるトランザクション数があります。サーバの性能を徐々に高める場合、従来、チップ設計者はプロセッサの高速化に重点を置いてきました。しかし、プロセッサのパイプライン速度と同じ割合でメモリが高速化されるわけではないため、クロック速度を上げていっても、トランザクションのスループットはわずかに増えていくだけです。プロセッサ設計者は、この現象を「メモリの壁に達する」と言っています。

つまり、サーバのクロック速度を上げても相対的に性能の向上はわずかであるため、企業が調達し、Webサービス・アーキテクチャのエッジに配備するサーバの数は増える一方ということになります。こうしたサーバは表向き安価です。しかし、プロセッサは大量の電力を消費し、大量に放熱します。びっしりとプロセッサを隣り合わせることはできません。クロック速度がもたらすはずのメリットは失われることになります。つまり、設置スペースの増加と空調コストで帳消しされます。

「現在のマイクロプロセッサの設計を観察すると、2G〜3GHzを超えるプロセッサ速度の向上は不可能であることが分かります。加えて、今日、チップ1個当たりのコア数はせいぜい2つであり、一般に コア1つ当たりのハードウェアスレッド数は1ないし2つ」と、Duvurは解説します。「同時にJavaおよびWeb技術によってスレッド化は拡大しています。アプリケーションサーバやWebサーバが多数のスレッドを抱えているのに、ハードウェアの側にスレッドを並列処理する能力がありません。」

つまり、ハードウェアのスレッド化がないことは、スケーラビリティの妨げになります。「数千件の同時利用ユーザのニーズを満たすためにアプリケーションサーバあるいはWebサーバの規模を拡大する場合、そのプロセッサ・アーキテクチャは、いくつかのソフトウェア・スレッドの同時進行を可能にするものである必要があります。」と、Duvurは続けます。「理想的には、1つのスレッドがメモリに向かっている場合に、残りのすべてのスレッドの実行が継続されることです。実際には、高いスレッドレベル並行性とメモリアクセス並行性が、"メモリの壁" という性能上のバリアを打ち破る唯一の方法です。サンでは、この種の処理をチップのマルチスレッド化と呼んでおり、これは、Webサービスアプリケーションでの高スループットの実現に最適です。」

Webサービスアーキテクチャを規模拡大する安価な手段として、コモディティティサーバは歓迎されてきましたが、時間の経過と共に、そのコストは大きくなります。サーバは放熱しますから、空調費用がかかります。データセンターのかなりの設置スペースを占有します。大規模な異機種サーバ環境の管理は容易ではありません。数多くの部品およびベンダーを調整し、統合する必要があります。最終的に、需要の急増によって、エネルギーコストは上がって、必要な設置スペースが増え、複雑さが増して、利便性が低下します。

サンは、「Webサービスのためのダイナミックインフラストラクチャ」計画の下、安全で機敏なWebサービス環境の構築を全面的に支援する技術およびサービス群を提供します。その計画およびその具体的なテクノロジ、サービス群を詳しく紹介しています。

≫ 詳細 (英語)

ページ先頭へ

  データセンターにおける「ナイアガラの滝」
  Webサービスのためのスループット・コンピューティング
  Eco-Responsibilityを担うCoolThreadsテクノロジ搭載Sun Fireサーバ