日本アイ・ビー・エム株式会社とマイクロソフト株式会社は,ブレードサーバーとMicrosoft(R) Windows(R) Compute Cluster Server 2003(以下Windows CCS)を組み合わせて,Microsoft Office Excel(以下Excel)の数値計算を高速化するワークショップを開催した。スーパーコンピュータの世界的なランキングを発表しているサイト(TOP500)において,IBMのブレードセンターとWindows CCSを組み合わせたシステムが5つエントリーし,そのうちの1つが日本アイ・ビー・エムによって構築されたシステムだった。そこで今回のワークショップでは,Excelの高速化のためにWindows CCSとIBM BladeCenter(R)をどのように構築するかが紹介された。
Windows CCS 2003最新情報とロードマップ
〜High Productivity Computingを目指すマイクロソフト〜

マイクロソフト株式会社
Windows Server 製品部
シニアプロダクトマネージャー
古賀正章氏
ワークショップの冒頭では,マイクロソフトのWindows Server製品部 シニアプロダクトマネージャーの古賀正章氏が登壇し,Windows CCS 2003の最新情報と今後のHPCに向けた取り組みについて語った。
同社では,2006年8月24日にWindows CCS製品を発表し,同年10月2日からボリュームライセンスの販売を開始してきた。Windows CCS 2003は,CCE(Windows Server 2003,Compute Cluster Edition)というDVD-ROMと,CCP(Compute Cluster Pack)というCD-ROMによって提供される。CCEは,Windows Server 2003,Standard x64 Edition をベースにしたHPC専用のWindows Serverで,高速インターコネクトによるRDMAをサポート。またCCPには,システムと統合化されたジョブスケジューラやリソース管理ツールが入っていて,業界標準のMPI(Message Passing Interface:メッセージ通信操作の仕様)2をサポート。同社では,180日間の使用が可能な評価版をインターネットで公開している。
将来的にWindows CCSは,2008年にWindows HPC Server 2008へとバージョンアップする計画がある。開発コード名Socratesと呼ばれるVersion2では,WindowsベースのHigh Performance Computingのメインストリームになる。日本での提供は2008年後半を予定しているという。さらにその先では,AristotleというVersion3の計画もある。
「アカデミックの分野では,HPCというと性能を追求するものになっています。しかしマイクロソフトでは,高い生産性につながるプロダクティビティを重視しています。私たちはHPCをHigh Productivity Computingと捉え直した各種取り組みを進めて参ります」と古賀氏は説明する。
マイクロソフトにおけるHPCのテーマは,高速演算によるビジネスの生産性向上にある。将来的にはスーパーコンピューティングとデスクトップという分離された環境を取り払い,使い慣れたWindowsと同じ操作性で科学技術計算などの特殊な分野だけでなく,金融や製造などの一般の業務でも数値計算やシミュレーションなどの用途で高速演算を利用できる市場を開拓していく考えだ。
▲ このページのトップへ戻る
大規模環境を支えるブレード技術とExcel高速化デモ
〜Excel-CCS連携による数値計算の高速化〜

日本アイ・ビー・エム株式会社
System x アドバンスド
テクニカルサポート
三田泰正氏
続いて日本アイ・ビー・エムのSystem x アドバンスドテクニカルサポートの三田泰正氏が,大規模環境を支えるブレード技術とExcel高速化デモと題するワークショップを行った。同社では,Windows CCSとIBM BladeCenterによる448ノード構成の金融シミュレーションシステムを構築した実績がある。その経験から,ExcelとWindows CCSを連携させることによってExcelの数値計算を高速化できるテクノロジーを開発した。
「ExcelのVBAのマクロは高機能で実用範囲も広いものですが,処理性能の低いクライアントPCで複雑な演算を行うと実行時間がかかってしまいます。複雑なシミュレーションなどの計算をマクロで行うと,場合によっては3時間とか4時間もかかってしまうケースもあります。このような場合,クライアントPCのリソースを100%利用してしまうため,そのPCも使えなくなってしまいます。こうした問題を解決するには,Excelの数値計算を高速化する2つの方法が有効です」と三田氏は話す。
三田氏が示す2つの解決方法とは,Excel 2007 + Windows CCSによるExcelクライアントと,Microsoft Office SharePoint(R) Server 2007(以下SharePoint Server 2007) + Windows CCSによるExcel Servicesである。まずExcelクライアントでは,Excel処理専用サーバーを用いた計算処理の並列化によって高速化を実現する。具体的には,大量の計算処理を複数の独立したタスクに分割し,複数のサーバーでそれぞれを計算させる。Excelクライアントの動作イメージは図のようになる。

VBAなどで開発したExcel内での繰り返し部分をVisual Studio上に取り出し,exe化して分散実行できるようにWindows CCS側の計算ノードに配置しておく。もしも,Excelを直接実行したい場合には,Excel.exeを引数付で実行するように配置しておく。次に,クライアントPC側のExcelからWindows CCSを呼び出し,Windows CCSジョブスケジューラによって各計算ノードに対して実行処理を自動的に振り分ける。命令を受け取ったWindows CCSジョブスケジューラは,余裕のある計算ノードへ自動的に計算処理を分散配置し,戻ってきた結果をクライアントPCに戻す。この一連の処理によって,時間のかかる繰り返し計算処理などがサーバー側に移行し,ユーザーの待ち時間が大幅に短縮される。また,複数サーバーへの処理の割り振りも自動的に行われるので,柔軟な資源の増強も可能になる。具体的な実装方法としては,VBAマクロでWindows CCSのAPIを利用して呼び出し処理を作成する。そして,VBAマクロのユーザー定義関数をDLL化する。既存のVBAマクロを再利用可能にしたら,各計算ノードに実行ファイルを配置する。計算結果はヘッドノードに蓄積されるので,クライアントから結果を取得する処理を作成して受け取る。
▲ このページのトップへ戻る
■ExcelをWeb化するメリット
Excelクライアントに対してもう1つの解決策が,SharePoint Server
2007 + Windows CCSによるExcel Servicesになる。Excel Servicesでは,Excelの処理をSharePoint Server 2007でWeb化することによって,Excelのクライアント環境もサーバー側で実行し,安定性を向上させるなど必要に応じて柔軟なリソースの拡張が可能になる。また,部門や社内での情報の共有も容易になり,容易なアクセス制限によってセキュリティも向上する。さらに,使い慣れた開発環境のままでの移行が可能になり,複数の開発者間での再利用も容易になる。
「SharePoint Server 2007を使うと,Webブラウザ経由でExcelのスプレッドシートにアクセスできるようになります。クライアントPCにExcelがインストールされていなくてもExcelを利用できるだけではなく,Excel 関数計算をすべてWindows CCS側で処理するので,クライアントPCの性能に依存しない高速処理が可能になります」と三田氏はExcelをWeb化する利点について語る。
Excel Servicesでは煩雑な管理作業が不要になり,複数の部門や数十名規模での利用にも対応できるメリットがあるという。一方のExcelクライアントでは,比較的小規模な運用であれば安価で手早く構築できる利点がある。
■大規模環境を支えるブレード技術
「Excelを高速化するシステム構築においては,ヘッドノードと呼ばれる計算処理を管理するサーバーと,実際に計算を行う複数のノードサーバーが必要になります。通常のシステム構成に比べて,高速化のためにはハードウェアの信頼性や拡張性,そして熱と電力に対する配慮が必要です。また,ネットワークにおいても冗長化や高速接続などが求められます」と,三田氏は高速化システム構築における配慮点について語る。
三田氏によれば,高速化のための大規模環境を構成するハードウェアには,十分な耐障害性とメンテナンス性に加え,障害発生時に容易にコンポーネントの交換が行えるような信頼性が求められるという。また,さまざまな演算要件に基づいて,柔軟に計算資源を追加していくために容易な拡張性も必要になる。こうした条件を満たすハードウェアとして日本アイ・ビー・エムでは,IBM BladeCenterを推奨している。
IBM BladeCenterは2007年11月現在でTOP500に132エントリーのランクインを果たしている。その多くは,Intel製の4コアプロセッサを採用したHS21を搭載した構成で,次いでLS20やLS21を搭載した構成もランクインしている。日本アイ・ビー・エムが国内で構築した大規模クラスタ事例では,448ノード構成による金融工学シミュレーションシステムがある。
IBM BladeCenterは,保守の容易性を追求したモジュラー構造を採用し,全モジュールを結ぶミッドプレーンに二重化されたモジュールを脱着できる設計になっている。またホットスワップにより,システムの稼動中でもモジュールの交換が可能で,優れた耐障害性も備えている。そして,用途に合わせて選べる豊富なシャーシー・ラインナップを取りそろえ,すべてのシャーシーで共通のブレードやスイッチ,管理機能が使えるようになっている。シャーシーに取り付けるブレードサーバーは,必要なコンポーネントを必要なだけ拡張できるビルディング・ブロック構造を採用し,ハイ・パフォーマンス・コンピューティングからビジネス・パフォーマンス・コンピューティングにビジネス・アプリケーションやインフラストランチャー・アプリケーションに至るまで幅広く対応する。
「ブレードサーバーは,ラック型サーバーに対して30%も省エネ設計になっています。大量のサーバーを利用する場合には環境に優しいサーバーです」と三田氏は補足する。
■高速化におけるネットワークの考慮点
高性能と高信頼性,そして柔軟な拡張と省エネを実現したIBM BladeCenterは,最新技術を採用した豊富なスイッチ群も取りそろえている。Windows CCSによるExcel高速化では,ネットワークの冗長性や高速インターコネクトも処理速度向上の重要なポイントになる。また,ビジネスの継続性やチーミングによる冗長化といった目的においては,高い可用性と十分なI/Oポート数が必要になる。こうした需要に対してもIBM BladeCenterは,余裕のある8ポート分のI/Oによって冗長化やPublicとPrivateなどの振り分けを可能にしている。また,10GbやFiberChannelなど高速/広帯域ネットワークにも対応しているほか,複数サーバーの同時管理やシングルコンソールによる快適なマネージメントを行い,容易な障害の監視を実現する管理モジュールも提供している。
日本アイ・ビー・エムでは,今後もBladeCenterによるWindows CCSシステム構築を通して,Excel-CCS連携による数値計算の高速化をはじめ,数多くのハイ・パフォーマンス・コンピューティング環境に応えていく。
▲ このページのトップへ戻る