連載
» 2009年08月05日 00時00分 公開

Windows Server 2008 R2の真価:第1回 Windows Server 2008 R2の概要(1) − 製品のコンセプトとベース・システムの強化点 (4/4)

[高添修(エバンジェリスト),マイクロソフト株式会社]
前のページへ 1|2|3|4       

マルチコアの実力を引き出すNUMAの強化

 本記事で最後に紹介するのは、コア数の増加が著しい物理マシンへの対応についてである。一般的に、コア数が増えたからといってアプリケーションのパフォーマンスが向上するとは限らない。実際、処理をするプロセッサが複数に分かれてしまうのだから、複数の処理を並行して実行できるアプリケーション(マルチスレッド・アプリケーション)を開発していく必要がある。マイクロソフトは、次期開発ツール Visual Studio 2010とライブラリ兼実行環境でもある.NET Framework 4.0によって、敷居が高いといわれているマルチスレッド・アプリケーションの開発を支援していく予定である(Insider.NET「マイクロソフトの開発ツール戦略:次期Visual Studio 2010と.NET Framework 4.0の新機能」参照のこと)。

 しかし、IAサーバの規模が大きくなると、この一般論だけでは語れなくなる事実がある。NUMA(Non-Uniform Memory Access)という言葉を聞いたことがあるだろう。サーバ内部では、プロセッサやメモリをいくつかのグループ(ノード)に分けて処理の効率化を図っている。この場合、ノード内で処理が収まっている場合はよいのだが、ノード間にまたがった処理によって効率が突然落ちてしまう事態も起きかねない。

 そこで、Windows Server 2008 R2では、このNUMAノードを効率的に利用し、処理をできる限りノード内に収めるような調整を実施することになっている。いままでのOSもNUMAを認識していたわけだが、実際には大規模利用が想定されるSQL ServerなどのアプリケーションがNUMAに応じた処理を実現し、OSはそれをサポートしていたにすぎなかった。下図は、NUMAを意識していないアプリケーションの悪い例と、NUMAノードに閉じた良い処理例の2つを載せている。

Windows Server 2008 R2 によるNUMAを意識した動作の例
NUMAアーキテクチャでは、メモリやプロセッサ、ストレージなどをいくつかのグループ(ノード)に分け、それらを相互接続している(この図の例では、左と右の2つのノードに分かれている)。そのため、同じノード内にあるリソース(メモリやストレージ)をアクセスする場合は速いが、別のノードのリソースをアクセスする場合はペナルティがある。NUMAを意識したアプリケーションは、処理が同一ノード内で完結するように作られているが、下の「悪い例」の方は、ノードをまたがってアクセスしているので、パフォーマンスが悪化する。

 これからは、OSそのものがNUMAに適した処理をサポートするようになる。これに合わせて、複数のコアを持つハードウェアを利用するアプリケーション、並列アプリケーションの開発を支えるツールとフレームワークが、マイクロソフト製品として勢ぞろいすることも付け加えておく。


 さて、今回はWindows Server 2008 R2の全体像の把握と、ベースOSとしての進化を見てきた。新しいOSのコンセプトを理解していただけたところで、次回は概要記事の続きとして、システム要件の確認と、新機能を一覧として整理する。


「  Windows Server 2008 R2の真価 ―― 実質新世代サーバOSの真の実力を知る ―― 」のインデックス

  Windows Server 2008 R2の真価 ―― 実質新世代サーバOSの真の実力を知る ―― 

前のページへ 1|2|3|4       

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。