[an error occurred while processing the directive]

WinHEC2006レポート

Longhorn Serverとハードウェア

会期:5月23日~25日(現地時間)

会場:米国ワシントン州シアトル市
    Washington State Convention & Trade Center



 今回のWinHECでは、Windows Server Code Name Longhorn(以下Longhorn Server)に関する話題が少なくない。というのも、Windows Vistaに関しては、これまでのWinHECやPDCである程度の情報が出ており、ハードウェアに関する要求事項などはすでに定まっているからだ。

 これに対して、Longhorn Serverは、2005年のPDCでようやく具体的な話が出始めた状態でもあり、そういう意味では今後も情報公開が進むことになるはずだ。

サーバーOSは64bitへ

 初日のビル・ゲイツ氏の基調講演にもあったように、サーバー系では、64bit対応が急速に進んでいく。その先頭にあるのがLonghorn Serverなのである。このため、サーバー系のハードウェアは、64bit版のみとなる2009年のWindows Server Code Name Longhorn R2が登場するまでに64bitに対応していなければならない。

 ここでは、こうした情報を含め、WinHECのセッションを元にLonghorn Serverやハードウェアに関連する情報をレポートする。



●最後の32bitサーバーOS

 Longhorn Serverは、最後の32bit Windows Serverになる予定だ。Longhorn ServerのアップグレードであるLonghorn Server R2は、x64(EM64TおよびAMD64)とIA-64のみに対応する予定になっている。これは、企業向けサーバーでは、メモリの問題などで、IA-32が限界にきており、Windows Server上のアプリケーション(Exchangeやデータベースなど)の性能が制限されてしまうからである。あるいは仮想化などの技術を取り入れるためにも広大なメモリ空間が必要になる。

 Intelは、急速にEM64Tの実装を進めたため、少なくともサーバー向けのプロセッサは、ごく一部(Sossamanなど)を除けば、64bit対応が完了しつつある。先行するAMDは64bit化を完了している。これを受け、Microsoftは、オペレーティングシステムやサーバーアプリケーションをすべて64bit対応にする。サーバー向けであれば、限定されたハードウェアしか使われないため、ドライバの問題(64bitのWindowsでは、64bitコードのドライバが必要)も大きく影響しないと考えられるからだ。

 もう1つのトレンドであるマルチコアに関しても急速に対応が進む。Windows Server Lognhronが登場する2007年までにはクワッドコアが登場し普及していると予想している。このため、Windows Server Longhronは、マルチコアに最適化されるようだ。

Windows Serverの具体的なロードマップ。Longhorn Serverは2007年に登場し、その後2年以内ぐらいにLonghorn Server R2が登場する予定 Microsoftでは、Windows Serverのリリースをメジャーリリースとアップデートに分けて4年周期で行なう予定

●よりサーバーOSらしく

2007年の後半に登場する最初のLonghorn Serverのリリースでは、Server Coreと呼ばれるGUIシェルを含まない部分と、WinFXやGUIシェルなどの部分に分離される

 Longhorn Serverでは、Server Coreと呼ばれる最小のインストールオプションが提供される。これは、GUIシェルを含まない最小限の実行環境である。これまでのWindows Serverは、GUIシェルが動作することが前提になっており、そのオーバーヘッドがあった。これに対してUnix系OSでは、GUI部分は、たとえばX-Window Systemとして分離されているため、GUIのないインストールが可能だった。Server Coreでは、コマンドラインのインターフェイスのみが提供される。また、WinFXなども含まれない。しかし、ネットワークやファイルシステムへのアクセスといった基本機能は含まれている。

 このServer Core上では、アクティブディレクトリやDNS、ファイル共有といった基本的なサーバーサービスのみが実行できる。

 GUIシェルが必須ではないということは、ある意味、よりサーバーOSらしくなったわけである。これは、Windows NT 3.1が登場して以来の大きな転換でもある。



●64bit化

 まず、64bit化では、2008~9年に登場予定のLonghorn Server R2で32bit版が提供されなくなる。同時にExchangeなどのサーバーサービス製品も64bit版のみの提供となる。このために、数年以内にサーバーはほとんどが64bitプロセッサ、64bitオペレーティングシステムに移行することになるだろう。

 なお、x64版のLonghorn Serverでは、EFIからの起動をサポートする。EFIを採用したシステムでは、より柔軟なシステム構成やセキュリティの向上といったメリットがある。たとえば、EFIを使うとVGAを持たないシステムも構成可能だという。前述のServer Coreインストールと組み合わせると、ブレードシステムなどで、個々のボードにVGA機能や同等の機能を搭載する必要がなくなる。

 EFIは、BIOSに代わる新しいファームウェアであり、現在では、Unified EFI Forumがその仕様策定を行なっている。2月に公開されたUEFI 2.0では、ようやくx64環境で利用できる状態になった。

 EFIは、起動時だけでなく、オペレーティングシステムが動作している状態でも一部サービスを提供する。1つには、OS側から起動環境を制御するため、もう1つは、ハードウェアの細かな違いをファームウェア側で吸収するためである。このため、EFIは、OS側から呼び出されるエントリを持つ。しかし、64bitオペレーティングシステムの64bitドライバ内部でEFIを呼び出すためには、EFI自体が64bitモードで呼び出し可能でなければならない。

 64bit対応のCPUのために作られ、64bitモードで動作するオペレーティングシステムからも呼び出し可能なEFIを64bit EFIと呼ぶ。同様に32bitモードから呼び出し可能なEFIを32bit EFIという。x64環境では、現状すべてのプロセッサが32bit、64bitのモードを持っているため、両者は非常に似たものになるが、x64版のLonghorn Serverを使うためには、64bit EFIが必要となる。

 UEFI 2.0は、この64bit EFIの仕様を含むものであり、これにより、ようやくIA-32プラットフォームで、64bitオペーレーティングシステムを利用できるような環境が整ったわけである。

 ただし、クライアントOSであるWindows VistaでのEFI対応は見送られた。今回配布されたβ2には、EFIからの起動コードが含まれているが、RC版、RTM版では削除される予定だという。将来的には、サポートされる予定にはなっているが、32bit環境でEFIに対応するメリットが少なく、当面クライアントマシンでは、BIOSが使われることになると思われる。

●マルチコア対応

図中WSLとなっているのがLonghorn Serverの登場時期。つまり、2007年後半までには、クワッドコアが普及し、ボリュームゾーンのサーバーの性能が底上げされるとMicrosoftでは見ている

 Longhorn Serverでは、ユニプロセッサ用のHAL(Hardware Abstruction Layer)は提供されない。つまり、最低でもデュアルプロセッサ構成(デュアルコアまたはHyperThreading)がハードウェアの最低条件となる。同時に、ACPIを持たないシステム用のHALも提供されなくなり、ACPIを持たない古いハードウェアでの実行が事実上不可能となる。

 なお、仕様としては、ハードウェアスレッドは、最大64までとなるようだ。つまり、トータル64コアが最大コア数となる。なお、Microsoftのプレゼンテーションでは、1つのプロセッサパッケージに含まれるコア数が多いほうが、性能的に向上するとのことだ(TPC-Cベンチマークの場合)。つまり、シングルコアの64プロセッサよりも、デュアルコアの32プロセッサ、さらにはクワッドコアの16プロセッサのほうが性能が高くなる。ユーザー側から見れば、これはマルチコアプロセッサを導入する動機になる。同等のプロセッサ数(つまりOSのライセンス料が同じ)で見たとき、マルチコアプロセッサを導入したほうが性能、スペースといった点で有利になるからである。



●仮想化

Hypervisorによる仮想化が実現したときのLonghorn Serverの構造。左側のParent Partition部分でLonghorn Serverカーネルが動作する

 仮想化機能は、Longhorn Serverの最初のリリースには間に合わないが後からアップデートとして提供される予定だ。この仮想化機構は、OSと深く結合され、OS側のHyperVisorと呼ばれる仮想マシンマネージャ上で実行される。現在のVirtual PCなどは、OSから見れば、1つのアプリケーションであり、たとえば、I/O処理などは、特定のハードウェアをエミュレーションし、OSのAPIを使ってこれを実現している。つまり低レベルのI/O処理などをAPIのやり方に変換して実行しているわけだ。

 これでは効率が悪いので、仮想環境内のOS実行イメージを一部書き換え、API呼び出しを横取りするといった手法を使う。たとえば、ゲストOS(仮想環境の中で動作するOS)がWindows XPなら、ゲストOS上で動くアプリケーションのAPIコールを横取りすれば、それをそのままホストOS(仮想環境を実現している側のOS)で実行可能できる(無条件にというわけではないが)。ただし、この方法は実行されるバイナリイメージに依存するため、たとえば、OS自体のバージョンアップなどで利用できなくなる可能性も出てくる。

 しかし、OSが仮想化機構をサポートすれば、I/OエミュレーションをAPI経由ではなく、ハードウェアに近いところで行なえるため、より高速に実行可能となる。この結果、同等のハードウェアであれば、より多くの仮想環境を実行可能になる、仮想環境でのスループットが向上するといったメリットが出る。

 具体的には、Longhorn Serverは、Hypervisorの上に乗った1つの仮想実行環境の中で動作する。ただし、ここでは、他の仮想環境からのI/O処理リクエストなどを受け付け、Hypervisorとの橋渡しなどを行なうため、HypervisorとLonghorn Serverは一体となって仮想化環境を実現していることになる。

 Longhorn Serverに関するセッションを聞いた感じでは、サーバーOSとして大きな転機を迎えたという感じだ。というのも、Windows XPが登場するまで、Microsoftは、NT系と95系の2つのOSカーネルの開発を続けてきた。このために、サーバーOSとクライアントOSを別系列とすることが困難だったのである。Windows XPで、ようやくNT系カーネルのみに統合したため、今度は、サーバー系とクライアント系を分離して開発することが可能になったのであろう。

□WinHEC 2006のホームページ(英文)
http://www.microsoft.com/whdc/winhec/
□関連記事
【5月25日】【WinHEC】64bit化を急速に進めるMicrosoft
http://pc.watch.impress.co.jp/docs/2006/0525/winhec02.htm
【5月25日】【元麻布】Bob Muglia副社長基調講演
http://pc.watch.impress.co.jp/docs/2006/0525/hot427.htm
【2005年9月17日】【PDC】PDC2005 ボブ・マグリア上級副社長基調講演
http://pc.watch.impress.co.jp/docs/2005/0917/pdc03.htm

(2006年5月26日)

[Reported by 塩田紳二]

【PC Watchホームページ】


PC Watch編集部 pc-watch-info@impress.co.jp
お問い合わせに対して、個別にご回答はいたしません。

Copyright (c)2006 Impress Watch Corporation, an Impress Group company. All rights reserved.