PCI-SIG Developer's Conference 2007レポート
|
会期:5月21日~22日(現地時間)
会場:米カリフォルニア州サンノゼ
San Jose Convention Center
毎年恒例となっているPCI-SIGによるDeveloper's Conference 2007(PCI-SIG DevCon)が今年もサンノゼのSJCC(San Jose Convention Center)で開催された。今回はスケジュールの都合で初日のみの参加となったが、簡単にレポートしておきたい。
●PCI Express一色のセッション
【写真2】これは初日のセッション。もっとも2日目も同じセッションになっており、初日と2日目で別トラックを選ぶことで、複数のセッションを受講できる仕組み |
従来であればPCIやPCI-Xのセッションも多少は残されていたPCI-SIG DevConだが、さすがに今年は完全にPCI Express一色。他のイベントと異なり、基調講演などは一切なく、4つのトラックに分かれて延々とテクニカルセッションが続くスケジュールだ(写真2)。ちなみにトラックの分類は、
Track 1:PCI Express 2.0
Track 2:I/O Virtualization
Track 3:Introductory PCI Technology
Track 4:Members Implementation
といった形になっており、すでにPCI Expressの基礎を理解しているエンジニアはTrack 1と2を、これからPCI Expressを扱うというエンジニアはTrack 3と4を受講すれば済む形になっている。
ちなみにTrack 4というのはPCI-SIGのメンバー企業により、PCI Express関連をどうインプリメントしたかの説明といえばわかりやすいだろうか? 筆者は初日のPCIe as Multiprocessor System Interconnectをちょっと受講したが、こちらはIDTによるセッションで、同社のスイッチを使っていかにMulti-Processor SystemをPCI Expressで構築するかについての説明が行なわれるといった具合だ。
今回、我々報道陣が参加できるのはTrack 3/4のみ。Track 1/2はまだ仕様として定まる前のドラフトベースの話が含まれる関係で、PCI-SIG参加企業のエンジニアに限られるNDAベースのものとなっている。興味ある話が多いだけにちょっと残念ではある。
その代わりに、PCI-SIGのChairメンバーによりプレス向けに現在の動向に関するブリーフィングが行なわれたので、こちらをベースに現状を簡単に紹介したい。
●IOVが目下最大の検討事項
まずPCI-SIG自体のアップデートとしては、BoD(Board of Director)にAgilentとSun Microsystemsが新たに加わった事、およびPCI-SIGへ加盟したメンバー企業が900を超えた事が挙げられる(写真3)。正確に言えば現時点では924社となり、過去12カ月で18%も増えたそうだ。
さて、昨年(2006年)からの中で一番大きなトピックは、なんと言ってもPCI Express 2.0の標準化が完了したこと(写真4)。ただしBackward Compatibilityが確保されるから、Transmitter/Receiver/Channelの全てが2.0準拠の5GHz駆動可能な場合のみ5GT/s、そうでなければ従来の2.5GT/sでの通信となる。また、プロトコルなどにもいくつか手が入ったが、これも互換性がちゃんと確保されている。
そのプロトコル層だが、複数の速度や環境をサポートするために、LTSSMがいろいろ拡張された(写真5)。また、これらをサポートする関係で、レジスタもいくつか拡張された(写真6、7)。これらの結果として、PCI Express 1.x→2.0では多少のデバイスドライバの手直しは必要になる。ただ、PCI Express 2.0のプラットフォーム(たとえばIntelのX38チップセット)に従来のPCI Expresss 1.0デバイスを載せるだけであれば、ドライバは従来のものがそのまま使えるように工夫されている。
目新しいところでは、いくつかの新機能が追加されている。まずはMulti-Function Deviceの扱い。複数の機能を持つ1つのEndpoint Deviceに対しての扱いが新たに加わった(写真8)ほか、通信リンクへのハンドリングにいくつかの機能追加もなされている。Timeoutにオプションが追加されたのも興味深い(写真9)。
次がCFM(Card ElectroMechanical)に関する規定だ。タイミングバジェットの絶対値は、2.5GHzの400psから5GHzでは200psに半減したが、その内訳の比率そのものは大きく変わっていない。ちなみに5GHzでは信号伝達に問題があるため、インピーダンスが85Ωになったほか、Two ConnectorのケースではMicroStripではなくStriplineを使うようになっている。当然ながら相互接続性を維持するために、電気的な部分への要求は厳しくなっているが、機械的構造は変更なしとなっている(写真11)。
次は今年2月に仕様がリリースされたCableに関してだが、主要な用途は拡張ボックスの接続や、シャーシ内の複数のシステムの接続といった事になる(写真12)。ちなみにeSATAと比較するとどうなる? といった質問も出たが、それは比べるものが違うと一蹴されていた。
さて、ここからは現在審議中の話題となる。グラフィックス向けの225W-300Wの仕様だ。昨年の時点では今年前半にSpec 1.0が出る見通しだったが、実際にはやや遅れていて今年後半までSpec 1.0が策定されない見込みだ(写真13)。もっとも、電気的な部分ではもうほとんど問題はない。PCI Expresss x16スロットが単体で75W、2×3のPower Connectorがやはり75Wを供給できるので、合計で150Wまでは現在規定されている。これに加えて新たに2×4コネクタが150Wまでを供給できるように規定された。この結果
・PCI Express x16スロット+2×3コネクタ+2×3コネクタ = 225W
・PCI Express x16スロット+2×3コネクタ+2×4コネクタ = 300W
という形になるわけだ。計算上はPCI Express x16スロット+2×3コネクタ+2×3コネクタ+2×3コネクタで300Wという事も可能になるが、「そういうことはしない」のだそうだ。現在審議中なのは、1.5kgまでの重量に耐えるためのリテンション、それと環境温度に関する仕様の策定に関する部分だそうだ(写真14)。
【写真13】といっても、実際にはすでにこの2.0の2×4コネクタを使ったAMD ATI Radeon HD 2900が出ている以上、1.0でなくてもあまり問題はないという気もしなくはないが | 【写真14】1.5kgといえば、猛烈な重さになる。1GB Memoryを積んだAMD ATI Radeon HD 2900でもここまでいくかどうか…… |
カード関係でもう1つ審議中なのが、Half-Mini Cardだ(写真15)。こちらはピン数(=帯域)を半分に減らし、従来のカード1枚分のところに2枚のカードを装着できるようにするのが狙いだとか。もっぱらモバイル向け、とのことだった。
さて、ここからが本題だ。IntelのVTやAMDのAMD-Vのように、CPUの側は仮想化が進みつつある。ところが現在はI/Oの側は仮想化されていない。結果、今はデバイスを完全に仮想化した上で、SuperVisorがI/Oリクエストを1本化し、まとめてI/Oを行ない、結果を各仮想OSに返すという仕組みになっている(写真16)。しかし、この仕組みでは全てのI/OにCPUが介在する結果になるから、どうしてもオーバーヘッドが多い。
【写真15】帯域的にはx1レーンで十分というケースが多かったから、ピン数を減らすことそのものにはそれほど問題が無いとの事だった | 【写真16】従来はHyperVisor層の上に乗るVI(Virtualization Intermediaries)というI/O SuperVisorがI/O処理を1本化し、まとめてリクエストをだし、結果を各SIに返す仕組みになっていた。確実に動くが、遅いのは明白だ |
そこで、今年3月にまずATS(Address Translation Services)が策定された(写真17)。これは仮想OS毎に独自のI/O空間をマップし、これをデバイス側で認識できるようにする仕組みだ。今まではデバイスは1つのI/O空間しか認識できなかったから、たとえばDMA転送した結果はどの仮想OSからのリクエストであっても一緒のメモリエリアに入る形になっていた。ところがATSを使うことで、仮想OS毎に異なるメモリエリアにDMAの結果を格納できるようになり、これだけでも大幅な高速化が実現できるようになった。
ただ、これはまだ不十分だ。Port I/OまでATSを掛けるのは大変だし、そもそもデバイスそのものが仮想化されているわけではないからだ。結果、ATSを使っても相変わらずSuperVisorがハンドリングする必要がある。これを解決するためには、全てのデバイスが仮想化に対応して、各仮想マシンに対応したVirtual I/O Contextを用意する必要がある。これを行なうのがSR-IOV(Single Root I/O Virtualization)だ(写真18)。すでにDraft 0.7がリリースされており、現在評価が行なわれている。「通常、0.7になれば大分安定になるので、多分このまま大きな問題はないと思う」との事で、今年のQ3には仕様がリリースされる見込みだ。
この次に控えているのがMR-IOV(Multi-Root I/O Virtualization)だ。こちらは複数のマシン(複数のRoot Complex)が複数のEndpointをSwitch経由で共有するという、さらに面倒な話だ。実はこちらが揉めまくっており、半年前にはそもそも標準化の制定そのものを疑問視する声がかなり多かったのだが、それでもリクエストの募集はすでに終了しており、現在はこれをベースにDraft 0.7に向けての作業が行なわれている。「これがうまくいけば」来月にはDraft 0.7が出ることになり、年内には標準化まで進む見込みだそうだが……ちなみにうまくいくかどうかは“No one knows”だそうであった。
さて、今後の話だが、まずCompliance Testの内容を近く更新する予定だ。またCompliance Workshopをアメリカと台湾で開催する(写真20)。さらに未来の話として、まずはプロトコル全体の改良を予定するほか(写真21)、Gen 3となる次世代PCI Expressに関しても多少言及があった(写真22)。
【写真21】これを見て「あれ?」と思った人は鋭い。ヒントはこのあたり(というか、まんまか)。これについても、この後のインタビュー記事をお待ちいただきたい | 【写真22】もっとも、具体的な数字が何か出てきたわけではない。とにかく互換性を維持することが最大の要因だそうで、その上でどこまでいけるのかを現在模索中とか。こちらも詳細は別記事をお待ちいただきたい |
●ということで
主なアップデートは以上だ。ちなみに併設された展示会場は、いつものように開発ツールや測定ツールがメインで、ちょっと目を引いたのはNEC Electronics Americaが展示していた5GHzで動作するPHY程度(写真23、24)。実際のSwitchなどは、2.5GHz品はともかく5GHzに関しては最低でもSR-IOV、実際はMR-IOVに対応しないとビジネスとして難しいという判断からか、アナウンスすらしていないベンダーがほとんど。このあたりに動きが出るのは、MR-IOVのDraft 0.7が発表される(か、出ないことが確定した)後になりそうだ。
ところでこのプレスカンファレンスの後で、PCI-SIG ChairmanのAl Yanes氏とChairの一人であるRamin Neshati氏と話し合いをする時間を取ることができ、MR-IOVとGeneseo関係、およびPCI Express Gen3についてもう少し細かな情報を得ることができた。これについては後ほど別レポートの形でお届けしたい。
□PCI-SIG Developers Conference 2007のホームページ(英文)
http://www.pcisig.com/events/devcon07/
□関連記事
【2月8日】PCI Expressを外付けケーブル化する規格が策定
http://pc.watch.impress.co.jp/docs/2007/0208/pcie.htm
【2006年10月10日】帯域を2倍に拡張した「PCI Express 2.0」の候補版が完成
http://pc.watch.impress.co.jp/docs/2006/1010/pcie.htm
【2004年12月16日】PCI-SIG、PCI Expressの帯域を5GT/secに拡張
http://pc.watch.impress.co.jp/docs/2004/1216/pcisig.htm
(2007年5月24日)
[Reported by 大原雄介]