Intel Developer Forum Japan (1日目)



4月9日から11日まで舞浜 ヒルトン東京ベイ (ディズニーランドの
真横)で開催されたインテル ディベロッパ・フォーラムに参加して
きました.かなり遅くなってしまいましたが,そのときのレポート
です.
    http://www.intel.co.jp/jp/developer/idf-j/index.htm

昨年,米国で行われた IDF の様子をニュースサイトで見た方も多
いと思いますが,そのときのテーマが convergence でした.手元
の辞書には「一点への集中,集合」という意味で出ていますが,セッ
ションでは「コンピューティングと通信の融合で新しい価値を作り
出す」という文脈で使われることが多かったように思います.

では,各セッションの内容を順に報告していきます.

1. 「インテルのエンタープライズ戦略とその製品群」 廣田洋一

インテルではサーバのタイプを,「データベース」「アプリケーショ
ン」「ストレージ」「プレゼンテーション」「コミュニケーション」
に分け,それぞれのセグメントに対して適切な製品を提供していく.
システムの規模では,最初のものから順に大規模サーバ〜省スペー
スサーバとなっている.そして,それぞれのセグメントに対するプ
ロセッサのラインナップとしては,大規模のものから順に,IA64,
Xeon プロセッサMP(マルチプロセッサ),Xeon プロセッサDP(デュ
アルプロセッサ),Pentium 4プロセッサ,低消費電力 Pentium III
プロセッサを用意する.Xeon プロセッサは,周波数とキャッシュ
サイズの向上により性能向上を果たしていく.

I/Oまわりでは,パラレル接続では電気的限界により性能が向上し
ない.現在のバスによる PCI 及びAGPグラフィックスを,シリアル
接続による PCI Express に置き換えていく.2004年以降,インテ
ルから出るチップセットには,全て PCI Express が装備される.

メモリでは 2003 年以降 DDR-II を使用することになる.消費電力,
性能及びボード上の実装に関して,DDR400/DDR333より有利である.

プロセッサのFSB は,Pentium 4 で 800MHz (コアは Northwood or
Prescott),Xeon DP で 667MHz (コアは Nocona 3.6GHz+),Xeon
MP で現状と同じ 400MHz (コアはGallatin 2.8GHz+),Itanium で
も400MHz (コアはMadison-R 1.5GHz) まで実現する.プロセッサ数
が多くなるほどFSBの実装が難しくなるので,このような計画にな
る.また,2004年出荷予定のXeon MP (Ptomac)及び Itanium2
(Montecito) はデュアルコア構成になる.

Xeon MP は2003年下期まで Gallatin コアで構成しているが,その
あとは Potomac コアになる.これは新しいプラットフォームが必
要となる.この点に関して質問したところ,FSBの実装が変わると
のことであった.前述の通り,Xeon MP の FSB は現在 400MHz ま
でしか予定していないが,たとえばチップセットレベルで FSB を
分割することにより,更なる向上を図る.

プロセッサのマルチ・コア化に関して他社(Sun,IBM)との差別化を
聞いたところ,他のメーカはプロセッサベンダがサーバベンダも兼
ねていて,その範疇でしか製品を出せないが,インテルはチップメー
カでありXeonを搭載したサーバを他の様々な会社が出荷することに
より,顧客の多様な要望(性能及びコスト)に応えることができる,
性能に関しては期待していてくれ,とのことであった.(うろ覚え
です)

2. 「デジタルホーム・ビジョンを可能にするソフトウェア技術─
     高品質ソフトウェア MPEG2 ビデオ・エンコーディング」 Andy Hung

Inter Video 社による放送品質の実時間 MPEG-2 ソフトウェアエン
コーディング (Real-time, MPEG-2 software encoding of
broadcust quality) に関するセッション.

まず,ハードウェアによるエンコーディングとソフトウェアによる
エンコーディングを比較した場合,前者では「安定性」「信頼性」
「性能保証」「高品質」が,また後者では「柔軟性」「汎用CPUは
最終的には専用ハードウェアの性能を越える」「(アルゴリズムの
変更による)最高の品質」「安価」がそれぞれ挙げられる.

ソフトウェアで処理する場合,実際の処理を測定した結果,CPU時
間は「Motion Estimation」(45%),「Quanamization/DCT」(16%),
「Motion Comparison」(14%),「Putbits」(13%),L2キャッシュミ
スの多さでは「Frame Processing」(45%),「Motion Estimation」
(24%),「Motion Comparison」(21%) となった.(L2キャッシュミ
スの分母が不明だが,プログラム全体のキャッシュミスに対する各
モジュールでのキャッシュミスの割合と思われる)

計算時間の短縮 (CPU optimization) に関しては,アルゴリズムの
最適化に加えてアセンブラレベルでの最適化も行った.また,メモ
リ最適化 (frame processing の最適化)に関しては,メモリのコピー
を最低限におさえ,またなるべくレジスタの値を使い回すようにし
た.そのため,メモリ最適化に関してもアセンブラレベルでの最適
化を行った.

このプログラムはマルチスレッド化されており,Pentium 4
3.06GHz で Hyper Threading を on にした場合は off にした場合
に比べて 16% 性能が向上した.

セッション後,講演者と話をしたところ(英語力不足で聞き漏らし
たところが多数あり),アセンブラレベルでの最適化とは,主にルー
プアンローリングとレジスタ割り当ての関係を調整したとのことで
あった.また,後に実際の技術担当者 (Ioannis Katsavounidis,
講演予定だったが SARS の影響で来日かなわず)にメールでスレッ
ドの分割について質問したところ,スレッドは「Data input and
audio encoding thread」,「Frame processing thread」,
「Video encoding thread」,「System multiplexing and data
output thread」,「Main application」の5つがあり,プログラム
実行時に Main application が残りのスレッドを起動する,各スレッ
ドはバッファを介して通信するが,通信には spin-loop もしくは
semaphore を使う,との回答をいただいた.

-- 
                                       keiji Kimura
                                       kimura@oscar.elec.waseda.ac.jp