【レポート】

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

1 Cellの構成

  • <<
  • <

1/5

今回の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を経由することになり、そのレイテンシがちょっと気になるところである。

  • <<
  • <

1/5

インデックス

目次
(1) Cellの構成
(2) Cellのデータ管理構造
(3) PPE・SPE"単体"でのプログラミングは意外と簡単
(4) チューニングの難度は高い
(5) 十分な性能を引き出すにはまだ時間がかかる?


人気記事

一覧

イチオシ記事

新着記事