PR

Part3では,サーバーのコア部分の構成に沿って,主要なコンポーネントの特徴と選択のポイントを示す。

 Part3では,サーバー・ハードウエアのコア部分の構成に沿って,主要コンポーネントの特徴と選択のポイントを示す。CPU,メモリー,キャッシュ・メモリーについて順に解説する。

 サーバー用途に使うCPUは,おおまかに4種類に分類できる。(1)デスクトップ機でも使われるPentium 4やCeleronなど,(2)IA(インテル・アーキテクチャ)サーバー系のXeon,やAMD Opteronの他64ビット拡張されたIA-32,(3)IA-64 ltanium系の64ビットCPU,(4)RISC系のSPARCやPA-RISC,Alpha,PowerPCなどである。

 Windows系のOSはバージョンアップするごとに高いCPU能力を求めるため,OSのバージョンアップを見越したCPU選びをする必要がある。

 メモリーの使い方は,大きく2つある。1つはディスク・キャッシュやデータベース・キャッシュなどキャッシュとしての利用であり,もう1つはアプリケーションが稼働するために必要なメモリーである。24時間365日稼働させる用途では,メモリー・リークを見越して,なるべく多くのメモリーを積んだ方がよい。

メモリー速度が性能に影響

 CPUを高速化していくと,それに応じて,メイン・メモリーへのアクセス速度が重要になる。仮にメモリー・キャッシュのヒット率が90%あったとしても,残りの10%は直接メイン・メモリーにアクセスしなければならないからだ。

 仮に,動作クロックが2GHzのCPUと,128ビット(32Gバイト/秒)でCPUと接続されたオンチップ・キャッシュ・メモリーがあるとする。メモリーの読み書き速度は,800MHzクロックに同期した64ビット・アクセスで6.4Gバイト/秒と仮定する。キャッシュ・ヒット率が100%なら,毎秒32Gバイトの処理が可能である。

 ここで,ヒット率が90%なら,32Gバイトの処理に1.4秒かかってしまう。ヒット率90%に相当する28.8Gバイトの処理が0.9秒で完了し,残りの10%に相当する3.2Gバイトの処理は,6.4Gバイト/秒の性能のメモリーを使うと0.5秒かかってしまうからだ。換算すると,結果的に22.8Gバイト/秒の性能に落ちる。

 キャッシュ・ミスによる性能ダウンは大きい。ハードウエア割り込みやアプリケーションのプログラミングによっても,キャッシュのヒット率は大きく下がる。