Loading
|
@IT > Itanium Solutions Alliance Developer Days Japanレポート |
|
Itanium® Solutions Alliance主催 インテル® Itanium®(アイテニアム)プラットフォームに最適化されたプログラム開発を支援するセミナー、「Developer Days Japan」が2005年12月14日に東京で開催された。このセミナーは、Itanium® 2プロセッサ・ベースのソリューションの普及促進を目的に発足したグローバル規模のアライアンス「Itanium® Solutions Alliance」が主催する、日本初のDeveloper Daysで、ミッションクリティカル分野への進出が著しいLinuxのソフトウェア開発者を対象としたものとなった。 インテル® Itanium® 2 プロセッサは大規模でミッション・クリティカルな環境や大量の演算処理を行うシステム向けに設計されている。このプロセッサを採用したサーバは、世界中の主要プラットフォーム・ベンダからリリースされている。データベース管理システムやERP、CRMなどのパッケージ・ソフトウェアも、主要製品のほとんどがItanium® 2 プロセッサをサポートしており、世界中の基幹システムで採用が相次いでいる。科学技術分野でも、世界最高峰のグリッド・システムの多くがItanium® 2ベースのサーバで構成されているなど、非常に高い評価を受けている。 インテル® Itanium® 2プロセッサは、10以上のOS、そして既に5,000を超えるソリューションに対応し、多数の選択肢が提供され、Itanium®の価値は飛躍的に高まっている。この価値をさらに高めることを目的として設立されたのがItanium® Solutions Alliance。ハードウェア、OS、アプリケーションのベンダ各社で構成された真にグローバルなコミュニティだ。日本にも地域委員会が設立されていて、国内で活動する富士通、日立製作所、ヒューレット・パッカード、インテル、NEC、SGI、ユニシスが中核となり活動を進めている。日本には強力な独立系ソフトウェアベンダやカスタムプログラマーが存在するが、まだItanium®ベースのアーキテクチャに最適化したソフトウェアを開発するに至っていない人々も多い。地域委員会では、日本発のできるだけ多くのソリューションがItanium®ベースのエコシステムに加わることで、お互いの価値を高めていくことができるよう、さまざまな開発者支援活動を展開している。
Developer Daysは、Itanium® Solutions Allianceが世界中で開催している開発者のためのテクニカルセミナー。並列処理を意識したプログラミングでItanium® 2プロセッサの力を引き出してもらうためのコツを、直接伝授するというユニークな取り組みだ。12月14日のセミナーでは、今後エンタープライズ分野でますますその可能性を現実のものにしていくことが確実なLinuxプラットフォームに焦点を当て、Itanium® 2プロセッサの説明やインテル・ソフトウェア開発製品の紹介、LinuxにおけるItanium®対応の開発に関する実践的な解説などがレッドハット社の協力を得て提供された。 以下では、このセミナーのハイライトをピックアップしてお届けする。
まず、Itanium® Solutions Alliance日本地域委員会のリーダーであるNECの泓(ふち)宏優氏が、主催者を代表して「Itanium® Solutions Allianceのご紹介」と題し、アライアンスの活動を説明した。
Itanium®ソリューションは、世界のサーバ市場1300億円の約2割に当たる250億円規模に達している。 しかし、エンタープライズ市場はソフトウェアが要であり、このプロセッサの能力を生かしたアプリケーションがもっと必要だと泓氏は訴える。「アライアンスを通じて、さらに多くの開発者に対応をお願いしたい」。 アライアンスの活動は、「ホップ」(Itanium®対応ソフトウェア開発の方法の紹介)、「ステップ」(ソフトウェアの動作確認の場の提供)、「ジャンプ」(対応ソフトウェアの告知活動)で進めていく。 「今回のDeveloper Daysは『ホップ』に当たるもの。今回はLinuxがテーマだが、今後他のプラットフォームも対象に、四半期に1回は開催していきたい」(泓氏)。「ステップ」については、ネットワーク経由でソフトウェアの動作確認ができる「Solutions Center Network」を拡大していく。当初はNEC、富士通、インテル、日立の施設を無償で提供する。「ジャンプ」に当たるWeb上の「Solutions Catalog」は、年内に公開を目指す。 「対応ソフトウェアについては、アライアンスがワールドワイドでプロモーションを支援することもできる。ぜひアライアンスに参加し、事業拡大に生かしてほしい」と泓氏は語った。 次に、インテルItanium®推進部の徳永貴士氏が、「インテルのエンタープライズ向け製品戦略」について語った。
Itanium®シリーズは、インテルのサーバ向け製品のなかでもフラッグシップとして位置づけられている。64ビットと並列化が、ゼロから設計されているのが最大の特徴だ。「同じ64ビットでも、Xeonのような64ビット拡張とは思想が異なる。RISCやメインフレームに匹敵する信頼性とパフォーマンスの実現が目的だ」と徳永氏は話した。 インテルにとって、2005年は転換点になるという。今年は64ビットがキーワードの1つになったが、12月時点でインテルが現在生産しているサーバ用プロセッサのほとんどすべてが64ビット対応になった。 「来年以降のキーワードはマルチコアによる並列化だ。今後のパフォーマンス向上はシングルコアの性能向上だけでなく、マルチコア化で処理効率を高めることにある」(徳永氏)。 2007年にはすべてのサーバ向け製品がマルチコア化される。Itanium®ではMontecitoというコード名で開発を進めているが、「今後すべてのサーバ用プロセッサで、マルチコアによる並列化が基本になることは間違いない」と徳永氏は断言した。 つまり、Itanium®は、「サーバ用プロセッサの未来をいち早く現実のものにしたプロセッサ」ということになる。 「インテル® Itanium® 2プロセッサ・アーキテクチャ」について解説したのはインテルのシニア・アプリケーション・エンジニア、清水良直氏。
清水氏は、Itanium®シリーズの最新製品、Itanium® 2が、高度な並列性、分岐性能の向上、メモリアクセス遅延軽減、関数呼び出し支援の4点で、プロセッサのパフォーマンス向上を図っていると説明した。「これらの性能向上には、コンパイラも重要な役割を果たす。最新のItanium® 2プロセッサ用インテルコンパイラで、ぜひItanium® 2の可能性を引き出してほしい」と語る。 Itanium®では並列性について、最大6命令を1クロックで実行可能だ。Itanium®からItanium® 2への進化で、非常に多くの命令の組み合わせをクロックごとに6命令実行できるようになった。 さらに、Itanium® 2のアーキテクチャであるEPIC(明示的並列インストラクション・コンピューティング)では、「プレディケーション」(述部命令を使用した条件付き実行で分岐を回避し、分岐ミスによる遅延を減少)「コントロール/データスペキュレーション」(メモリアクセスの遅延を隠ぺい)「ソフトウェアパイプライン」(ループにおける繰り返しを同時実行)で処理性能を向上できる。 Itanium® 2に最適化されたコードの開発は、C言語などを使ってインテル性能ライブラリを組み込む方法から、アセンブラを使う方法までいろいろある。しかし、「インテルでは簡単にできるところから始めてもらいたいと考えている。インテルコンパイラによる自動並列化とOpenMPの併用がお勧めだ。コンパイルのときにForループを自動的に並列化してくれるが、さらにOpenMP宣言子で補完することができる」(清水氏)。こうした開発に関するマニュアルは、近い将来、インテルが日本語化して提供の予定だという。 これに続き、インテル ソフトウェア製品部の菅原清文氏は、「インテルソフトウェア開発製品の概要」について話した。
菅原氏は、「ハードウェアを生かすのはソフトウェア。ハードウェアの能力を引き出すために必要なソフトウェア開発ツールを、インテルはすべて揃えている」と語った。これらの開発ツールは、クロスプラットフォームが特徴で、Itanium® 2用にも全部が利用できる。コンパイラでは、Microsoft Visual StudioやGCCなど既存の開発環境との互換性も確保されている。 デバッガやチューニングのツールは、開発作業を効率化してくれる。 「インテル®Vtune™パフォーマンス・アナライザ」はアプリケーションやシステム全体のパフォーマンスを解析し、ボトルネック箇所を発見できるツール。「インテル®スレッドチェッカー」は、同じ場所とタイミングで起こるとは限らないスレッドのバグを、発生前に検知できる。また、「インテルスレッド・プロファイラ」では、スレッドを視覚的に表示し、最適化の余地を知ることができる。 菅原氏は続いて、「インテル®コンパイラLinux版」のGCC、G++との互換性を解説。さらに、コンパイラの最適化スイッチについて、基本スイッチとプロセッサ固有の最適化、プロシージャ間の最適化、プロファイルに基づく最適化に分けて説明した。
レッドハットの代表取締役社長である藤田祐治氏は、「レッドハットのご紹介」と題して同社の活動の概要を紹介した。
「レッドハットは完全にオープンソースをベースとする企業だ」と藤田氏は強調した。レッドハットが出資しているFedoraプロジェクトでオープンソース・コミュニティに貢献しながら、ともに先駆的なディストリビューションをつくっている。このなかで安定的な商用に適した技術を「Red Hat Enterprise Linux」(RHEL)として提供している。リリース間隔は約18カ月で、7年間にわたるサポートを提供している。サーバのRHEL ASおよびES、さらにクライアントではRHEL WSがItanium® 2に対応するなど、多様なアーキテクチャをサポートしているという。 2006年末にリリース予定のRHEL 5では、サーバとストレージの仮想化やクライアントでの「ステートレスLinux」を実現し、企業におけるTCO削減をさらに推進する。ステートレスLinuxでは、クライアントの構成情報、アプリケーション、ユーザーデータなどをすべてサーバ側で管理する。クライアントマシン1台ごとにOSやアプリケーションのイメージをコピーする作業は不要になるため、組織において多数のクライアントマシンを迅速に導入することができる。クライアント側のシステム障害が発生しても、設定やデータは全てサーバ側にあるため、実質上の損害は発生しない。 藤田氏は参加者に対し、「レッドハットの行うすべてのことはオープンソースで、協業による開発モデルにコミットしている。開発者の皆さんとの協業を進めていきたいと考えている」とアピールした。 続いてレッドハット・カナダのディエゴ・ノヴィロ(Diego Novillo)氏は「Development Tools and Applications in Red Hat Enterprise Linux」をテーマに、RHELで利用されている開発ツール群を解説した。
GCCコンパイラは、現在GCC 4.0がFedora Core 4のシステムコンパイラとして使われている。リリースのために分岐したGCC 4.1は、2006年の早い時期にリリースの予定だとノヴィロ氏は話した。 GCC 4.0は前バージョンから大きく進化した画期的なコンパイラ。GCC 4.1には、「FORTIFY_SOURCE」オプションや「Stack Guard」を通じ、バッファオーバーフローの脆弱性防止が強化されているという。並列プログラミングのためのOpenMPについては実装が終了しており、GCC 4.1におけるテクノロジープレビューとしての提供に続き、GCC 4.2でリリースされる。 開発対象のプログラムの振る舞いを見るためのツールとしては、「OProfile」「SystemTap」「Frysk」が説明された。 「OProfile」はカーネルとユーザーコードの双方に適用できるサンプルベースのプロファイラ。どのコードの実行に時間がかかるかが分かる。SMPカーネルが必要だが、現在利用できる。「SystemTap」はレッドハットとIBM、インテル、日立が協力して開発している、システム全体のデバッグや分析のためのツール。RHEL 4 Update 2に同梱のものはx86、x86-64に対応している。2006年にリリースのRHEL 4 Update 3に同梱されるものはItanium®をサポートの予定。 「Frysk」は実行中のプロセスを分析できるハイレベルのデバッガ。あるスレッドの検査中に他のスレッドが止まることはない。RHEL 4 Update 3でx86のみサポートしたテクノロジープレビューがリリースされる。次にJavaがサポートされ、続いてx86-64、Itanium®、PPC-64がサポートされる予定。これまでのGDBデバッガと異なり、ノンストップで稼動でき、デバッグ情報はインクリメンタルにディスク上に蓄積できる。強力なGUIが備わっており、プロセスのモニタリング画面から即座に該当ソースコードの表示が行えるなどの機能を持つ。 また、EclipseをベースとしたJavaアプリケーション開発者のための統合開発環境として、「Red Hat Developer Suite」が提供されている。ノヴィロ氏は「Eclipseは幅広いプラットフォームで共通の開発環境を提供しているため、開発者は容易に自分のスキルをRHELに移行できる」と利点を語った。 最後に、レッドハットのコンサルタント、大和正武氏が、「Itanium®-Red Hat-Linuxでプログラムはどう動くか」と題するプレゼンテーションを行った。
大和氏は冒頭で、「アプリケーションを移植する際には、移植先のプラットフォームをよく理解している必要がある。大まかな移植は問題がなくとも、最後には1バイト、1ビットが重要になってくる。移植先のプラットフォームに対しての正しい理解が、勝ち抜く切り札になる」と宣言。 このため、Itanium®上のRed Hat Linuxにおける、簡単なプログラムの動きをソースコードレベルで追跡して解説するというユニークな試みを行った。 具体的には、元日本Linux協会会長の鵜飼文敏氏が書いた「プログラムはどう動くのか? 〜 ELFの黒魔術をかいまみる」に示されたx86のGNU Linux上の追跡作業を、大和氏自身がItanium®のRHEL上で再現した成果を披露した。 初級プログラミング講座には必ず登場すると言っていい「Hello World」プログラムだが、実際にこのプログラムがシェルで実行されるとき、コンピュータ上では何が起こるか。このプログラムへの実行命令は、システムコールからカーネル内のどのような処理につながり、最終的な「hello, world」という表示に至るのだろうか。 大和氏は、特にアーキテクチャ(この場合はItanium®)に依存する部分に着目し、ldd、maps、objdump、gdbといったツールを用いて、実行ファイルが共有ライブラリのどのファイルを必要としているか、仮想アドレス空間のどこにどのライブラリがマップされるか、プログラムコンパイル時に組み込まれたインタプリタが、どのようにその実行を助けるか、などを紹介した。 提供:Itanium® Solutions Alliance
企画:アイティメディア 営業局 制作:@IT編集部 掲載内容有効期限:2006年1月31日 |
|