【レポート】

Fall Processor Forum 2005 - 試行錯誤を求められそうなCellのプログラミング

1 Cellの構成

    大原雄介  [2005/11/05]

    今回のFPFの特徴は、ややソフトウェアの比重が高まった事だ。IBMは2日目の午後に"The Power Within the Cell Processor - and How to Unleash It"というセッションでCellについて取り上げたが、その内容はハードウェアというよりはかなりソフトウェア寄りのものだった。講演は二部構成になっており、まず"The Element Interconnect Bus of the Broadband Engine Processor"というテーマでInterconnectに関する説明があり、次いで"Unleashing the Power of Cell -A programming model approach-"というテーマでいかにCellを使うかという話が行われた。そこでこれらを順に解説したい。

    Interconnectに関する詳細

    Photo01:David J. Krolak氏(Senior Engineer, IBM Systems and Technology Group)。同氏はCellのElement Interconnect BusのLead Architectでもある。

    まず最初は、IBM Systems and Technology Group のSenior Engineer、David J. Krolak氏によるInterconnectに関する説明であった。Cellの構成を、EIB(Element Interconnect Bus)中心に描きなおすとPhoto02の様になる。PPE(Power Processor Element)と8つのSPE(Synergistic Processor Element)、更にメモリコントローラやI/Oまで繋がっているから、EIBを上手く使う事がシステム設計の際には重要になってくる。ちなみにそのEIB自体は16bytes×4構成のリング構造を取っており、速度はCPUの半分で動作する。アベレージでも200GB/secの帯域が確保できるとしているが、Cellの場合はこれを使いきりかねないほどのパワーを持っているのも事実だ(Photo03)。


    Photo02:EIB自体は96Bytes/Cycle(307.2GB/sec)というとんでもなく大きな帯域を持っているが、SPEやPPEが各々16Bytes/Cycle(51.2GB/sec)だから、これが一斉に通信を行った場合それだけで144Bytes/Cycle(460.8GB/sec)に達するわけで、決して帯域は十分ではない。

    Photo03:16×4=64Bytesということになり、このままでは計算が合わないのだが、これに関しては後述。リング型といっても、トークンリングなどとはちょっと異なっており、同時に複数のトラフィックが同じリングの上を走るという、ちょっと複雑な構造になっている。

    さてそのEIBだが、コマンドバスとデータバスを分離しているのはいいとして、そのコマンドバスの接続はちょっと面白い。11個のユニット(SPE / PPE×8 / Flex IO / DRAM)をパラレルに繋ぐのは流石に無理だったようで、Photo04の様なディジーチェーン式の接続になっている。各々のAC(Address Concentrator)はRoundRobinで配分を行うから、特定のユニットのリクエストが遅くなるといった事はない反面、特定のユニットを優先的に処理させるといったことも、EIB的には無理である。

    Photo04:この構造だと、PPEやMIC(XDR DRAMコントローラ)からAC0までに3つもACを経由することになり、そのレイテンシがちょっと気になるところである。

    新着記事

    特設サイトの情報

      人気記事

      一覧

        イチオシ記事

        新着記事

        特別企画

        マイナビニュースマガジン