「サーバーOSのテクノロジとして見たときに,Windowsに最も不足している機能は何か?」という質問があったならば,筆者は“ワークロード管理”と答えるだろう(セキュリティという声もあるだろうが,これは機能の不足というよりも機能の実装が貧弱ととらえるべき問題だろう)。ワークロード管理機能とは,オンラインやバッチなどのタイプの違うアプリケーションを資源消費のバランスを取りながら同時並行的に稼働するための機能である。そして,これこそが自律型コンピューティングの要素である自己チューニング機能を実現するための基礎となる機能なのである。

◆ワークロード管理の重要性

 ワークロード管理の意義を知るためには,それがないとどのような不都合が起きるかを考えてみればよい。例えば,同じWindowsサーバー上で複数アプリケーションが稼働している時に,ヘビーなバッチ系のアプリケーションに影響されてオンライン系アプリケーションのレスポンス・タイムが極端に悪化してしまったことはないだろうか? このような場合,単純にバッチ系アプリケーションの優先順位を下げるだけでは,今度はいつまでたってもバッチが終わらないという状況になることが多い。

 このような問題を解決するためには,単にプロセスの優先順位を設定できるだけでは十分ではない。常にプロセスの実行状況を監視し,あらかじめ設定したパフォーマンス目標と照らし合わせて,資源の使用量を動的かつ自動的にチューニングしてくれる機能が必要なのである。これこそが,ワークロード管理機能の本質である。さまざまなタイプのアプリケーションを効率的に稼働しなければならないデータ・センター環境では,ワークロード管理はとりわけ重要となる。

 メインフレームはプロセサ単体の処理能力でみればそれほどでもないのに,実際に複数の業務アプリケーションを混在させて稼働させて見ると,意外なほど良好なパフォーマンスを提供してくれることが多い。これは,メインフレーム・ハードウエアのメモリーやI/O帯域幅の設計に余裕があるということもあるが,メインフレームのOSのワークロード管理能力の優秀性によるところも大きい。

 AIX,Solaris,HP-UXも今ではすべてワークロード管理を備えている。Windowsでは,SQL Serverなどで使えるプロセスが使用できるCPU数の上限を設定できる機能など,単純なワークロード管理機能が存在しているに過ぎなかった。当面の間は,ワークロード管理機能において,(IBM系)メインフレーム≫主流Unix>Windows>Linuxという関係は成り立つであろう。たとえば,メインフレームはI/Oの帯域幅もワークロード管理の対象にできる点などで一歩先を行っているのである。

◆パソコンOSの発想から抜けきらないMicrosoft社

 Windowsのワークロード管理機能の不足に対するMicrosoft社の過去における見解は「どうせIntelサーバーは安いのだから,アプリケーションごとに別のサーバーを使えば良い」というものであったように思える。このような見解は,Microsoft社が依然としてパソコンOSメーカーの発想を持っており,データ・センターの現場を正しく理解していなかったことの表れと思える。アプリケーションごとにサーバーを立てていたのでは,大規模なデータ・センターはすぐにサーバーの乱立状態で管理不能になってしまうからである。

 余談ではあるが(Windows XPでやっと解決されたが)互換性がないバージョンのDLLを同時稼働できないという“DLL hell”問題も,Microsoft社に1サーバー=1アプリケーションの発想から抜けきらないがための設計「ミス」(とあえて呼ぼう)の1つといえると思う。

◆Windowsのワークロード管理機能

 Windows Server 2003は,Windows 2000のマイナー・チェンジに過ぎないということはよく言われる(皮肉ってWindows 2000.1と呼ぶ人もいるくらいである)。しかし,新機能の中には地味ではあるが重要なものも多い。その1つがワークロード管理機能の強化である。

 Windows Server 2003では,Enterprise EditionとDatacenter Editionにおける新しいワークロード管理機能としてWSRM(Windows System Resource Manager)がサポートされるようになった。WSRMは,メインフレームや主流Unixには劣るものの本格的なワークロード管理機能を提供する。ワークロード管理機能は今後のWindowsサーバーの最重要機能強化項目の1つとなるだろう。

 ここで気になる点は,Windowsの次期メジャー・バージョンである「Longhorn」のサーバー版が出荷されないことがMicrosoft社から正式に発表されている点である。通常の企業ユーザーはサーバーOSをそう頻繁にはバージョンアップできないので,この決断自体は正しいと思うのだが,そうなると,さらにその次のバージョンである「Blackcomb」まで,つまり今後3年以上の間,サーバー版の機能強化が行われないことになってしまう。しかし,おそらくは,バージョンアップではなくサービス・パックなどの形式でワークロード管理機能の強化が行われることになるだろう。

 さて,次回は,自律型コンピューティングを実現する上で重要なもう1つの要素である「仮想化」におけるMicrosoft社の戦略について分析することとしよう。