FPL2006 (Aug.28 午後)

[ M3.B: NoC ]Applying Partial Reconfiguration to Networks-on-ChipsDyNoC みたいなやつで、スイッチの数や場所を変えられるようにする。 ターゲットアーキテクチャは FPGA 。

午後の。
文章が崩壊気味。


[ M3.B: NoC ]
Applying Partial Reconfiguration to Networks-on-Chips
DyNoC みたいなやつで、スイッチの数や場所を変えられるようにする。
ターゲットアーキテクチャは FPGA 。
スイッチは virtual cut-through (FDx) で、データリンク層、ネットワーク層、アプリケーション層のマルチレイヤな構成。ペイロードは 1036bytes まで。マルチチップな構成も視野に入れたアドレス空間の構成 (physical/logical) をしている。
ルーティングは off-line topology information に基づく。どこかでルーティングテーブルを作って、それを配る感じみたいだ。Livelock / deadlock の発生は、多少気を遣って設計(使用)することで防ぐのであり、スイッチの仕様としては頑張ってない。
ネットワーク全体を止めることをせずに動的にモジュールを入れ替えることができる。
実現のために必要なのは、ハードウェアの homogenity (配置配線されたモジュールが relocatable であること?) と reconfiguration on logic block level が可能なこと。Virtex-II とかなら、column 単位になっちゃうけど、まあ実現できる感じで、2VP100 でやってみている。スイッチのサイズは、8ビット幅で363~463スライス、32ビット幅で 410~493 スライス。 V4FX を使って、より進んだ部分再構成にチャレンジしている模様。
ふんが研 NoC な人は読んだ方がいいのかも、と思う。
worm-hole じゃなくて vct にしたのは? (ふんがさん)
再構成のときにパケットの再送が生じると思うが、どうやって同期するのか? → パケットが流れているリンクを再構成したり、パケットが流れているスイッチのルーティングテーブルは書き換えないんだよ! 
On-FPGA Communication Architectures and Design Factors
Imperial College のひと。サーベイです。
非常によくまとまっており、いい感じ。これも読まないとー。
P2P と NoC は本質的に違うとおもわないんだけど(ふ)→ トポロジで分けたので…
Energy Efficient Statistical On-Chip Communication Bus Synthesis for a Reconfigurable Architecture
バスの生成と電圧スケーリングを同時に行うのだ。通信タスクの依存関係を書いたグラフを ASAP と ALAP で評価して、slack time を計算する。Slack が充分あれば電圧を下げて、遅い通信をしたっていいんだもんね。
ベンチマークを自動生成して、それに適用した結果を出してた。あんまり電圧を下げすぎるとバス幅を広げなきゃいけなくなったりして、結局効率が悪くなる、とか。けっこう面白いぞ。
タイトルの “Reconfigurable” の話はどこいっちゃった? とか、
transaction ひとつごとに電圧をスケーリングしてたらやばいんじゃね? とか、
質問が出てましたが、本人じゃないのでわからない模様。
[ M4.C: Monte-Carlo ]
An FPGA Implementation of High Throughput Stochastic Simulator for Large-Scale Biochemical Systems
よしみくん。
NRM/SW と比べるとどうなのよ? → ソフトウェアが 1000 倍速いです。NRM も作るよ。
multithread だと、空いたところに他のスレッドが入る? → yes
5% の差はどこから? → 対数器だと思う
Non-Uniform Random Number Generation through Piecewise Linear Approximations
Imperial College の人。
どんな分布でも作れるんだぜ!高速で、medium-accuracy なアプリケーションに最適。
Distribution specific な方法はいろいろある。たとえば Gaussian だったら、Box-Muller とか Wallace とか。Distribution independent にやるには、テーブルや多項式を使って、分布関数の逆関数の近似をするとか、そんな感じ。
triangle distribution を PDF (Partial Distribution Function) 組み合わせて CDF (Cumulative Distribution Function) を作る。三角形の数を 512 とか 1024 とか、いっぱい使って誤差を小さくするのだ。CDF を三角の集合に分解する方法が問題だが、まあ、1秒もあれば終わる。んで、これさえできちゃえば、あとは三角形リストのテーブルを BlockRAM に載せて、uniform RN の出力をほげほげするだけだ!すげえ!
Box-Mullar なんかは、誤差が小さいが、面積的には圧倒的にこっちのほうが小さいのであり、しかも誤差の差は全然圧倒的ではない、というか、むしろかなりいい感じだ。
Future work としては、multivariable distribution (つまり、より高次元のサンカクどもを使うわけだ) にしたい、とか。

コメントを残す