本記事で最後に紹介するのは、コア数の増加が著しい物理マシンへの対応についてである。一般的に、コア数が増えたからといってアプリケーションのパフォーマンスが向上するとは限らない。実際、処理をするプロセッサが複数に分かれてしまうのだから、複数の処理を並行して実行できるアプリケーション(マルチスレッド・アプリケーション)を開発していく必要がある。マイクロソフトは、次期開発ツール 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つを載せている。
これからは、OSそのものがNUMAに適した処理をサポートするようになる。これに合わせて、複数のコアを持つハードウェアを利用するアプリケーション、並列アプリケーションの開発を支えるツールとフレームワークが、マイクロソフト製品として勢ぞろいすることも付け加えておく。
さて、今回はWindows Server 2008 R2の全体像の把握と、ベースOSとしての進化を見てきた。新しいOSのコンセプトを理解していただけたところで、次回は概要記事の続きとして、システム要件の確認と、新機能を一覧として整理する。
Copyright© Digital Advantage Corp. All Rights Reserved.