IPFlex DAP/DNA

IPFlexは今年リリースしたDAP/DNA2のデモを行っていました。DAP/DNAは平面状にALU、メモリー、DAGといったユニットをばら撒いておき、動的に再配線して使う動的可構成論理回路です。今回説明を見て感じたのは、このシステムがデータフローにぴったりと当てはまるということです。オペアンプで組むアナログ・コンピュータやビットスライス・ロジックによる演算装置に近いイメージです。
ただしIPFlexがデータフロー・アーキテクチャーに限定しているわけではなく、今のところそれ以外の方法論まで手が回っていない様子でした。スタートアップ企業ですから仕方の無いところかもしれません。
プログラムはCライクなデータフロー記述言語を使う方式と、演算エレメントを直接ブロックで結合していく方法が用意されています。将来的にはMatlab/Simlinkにも対応したいようでした。
気持ちよく説明してくれた方にいろいろうかがって感じたのは以下のような点です。

  1. データフローに乗らない処理の場合、見通しが悪くなるように思える。
  2. 大容量メモリーにランダムアクセスする場合の性能見積もりが難しそう
  3. 多チャンネルのソフトウェア・ラジオのようにモードの分布に応じて処理種類ごとの負荷が替わるアプリケーションに対しては動的可構成論理回路は有効に感じられる。ただしDAP/DNA2は回路の部分書き換えは難しいとのこと。

3については説明が必要かもしれません。例えば処理Aと処理Bが混在するアプリがあるとします。その混在比が0:1から1:0まで変動する場合、ハードウェア実装ではAの処理装置とBの処理装置の両方を全負荷にあわせて用意する必要があります。しかしソフトウェアによる実装では、どちらか重いほうを処理できるようにしておけば、どのような比率で処理分布が変動しても対応できます。つまり、ハードウェア実装のような過大な冗長性は不要です。動的可構成論理回路では、このようなソフト的な発想でのコスト抑制が可能かもしれません。
ニッチ市場向け製品と謙遜されていましたが、最先端の画像処理や通信インフラで活躍しそうなアプローチです。
明日はStretch社について書きます。