ReConFig ’09

[Opening]
– 131 submitted papers
– 42 full papers
– 35 posters
– 4 from Japan (5位くらい)
[ Keynote 1 ]
Semiconductor in transition:
– 32nm scheduled to debut by 2010
– 22nm is deemed feasible
– fewer, new architectures on the latest processes
– programmability and concurrency are the new imperatives
Parallel processing becomes Chip-level Multi-core processing (CMP)
– Power dissipation is a dominant, cross-cutting concern
Xilinx vision: fabless & programmability.
よく考えるとああいう最先端のチップを fabless vendor が作るってすごい。
SPARTAN-6 では昔のように、Parallel I/O は外周に配置されているが、Virtex-6 では内側にある。かっこいい。
消費電力は最大で 65% 減っている。
Linux 2.6.30 included the MicroBlaze architecture for the first time in a mainstream kernel release! まじか!!
QEMU + PetaLinux で、実機がなくてもデバッグできる。

Embedded Software design cost already exceeds hardware design cost.
並列プログラミングが問題。
Concurrent software compiler: enables compilation and SW development in highly parallel processing SOCs. Productivity +200% in SW. Expected in 2013.
[ General Session 1: Arithmetics ]
– FPGA implementation of decimal floating-point accurate scalar product unit with a parallel fixed-point multiplier
10進です。
iEEE754-2008 の decimal64 data format. BCD使って計算する。
Virtex-II Pro での周波数は 70MHz+ で、悪くない。パイプライン段数は 11.
“It makes me nervous to fly on airplanes, since I know they are designed using floating-point arithmetic” Alston Scott Householder.
– Runtime memory allocation in a heterogeneous reconfigurable platform
TUDelft の人。
しかしわし、こういう話はわからんちゅうに。
– Hotspot Mitigation using Dynamic Partial Reconfiguration for Improved Performance
Temperature distribution is not uniform → Temperature controlled reconfiguration をしましょう、という話。温度は ring oscillator で測るのか!
それで、しんどいところを移動させることで、全体の発熱を抑えることができるらしい。結果として速い周波数のまま動かせてスループットが上がるのか。なるほどー。
– A systolic array based architecture for implementing multivariate polynomial interpolation tasks
なんかプログラムと違うぞ、と考えていて、Session 1 と 2 がfuse されている、ということにやっときづいた。
どういうことだ・・・
[ General Session 3: New FPGA Architectures ]
– A Novel High-Density Single-Event Upset Hardened Configurable SRAM Applied to FPGA.
Xilinx の QPro シリーズでは 4SEU/Day くらい。
TMR + Scrubbing が必要かな。
SEU-hardened CSRAM というのを提案。
PMOS トランジスタを入れて、8トランジスタ/Cell になるけど、これならそれほど大きくないよね、という話。
6-T SRAM だと 29um^2 くらいだけど、このやりかただと 32um^2 くらい、だと思った。数字間違ってたらごめんなさい。でも、オーバーヘッドは 10% くらい。
SEU が起きる threshold みたいなのは MeV で測るのかしらん?
勉強しないと…
– MRAM based eFPGAs: Programming and silicon flows, …
SRAM is fast, easy to reconfigure, but volatile.
Flash is nonvolatile, but slow.
MRAM is… wow.
shadow reconfiguration: update magnetic information independently from the latch configuration (change committed later).
SR とかは普通にできるっぽい。
[ Session HPC1: Track on High-Performance Reconfigurable Computing ]
– A Traversal Cache Framework for FPGA Acceleration of Pointer Data Structures: A Case Study on Barnes-Hut N-body Simulation
FPGA を使う場合にしんどいのはポインタを使った間接アクセスで、アクセスパターンが irregular になるので遅くなる。間に traversal cache を入れて、うまくバンド幅を稼げるようにしたい。
普通の traversal cache は同じアクセスパターンが繰り返される場合に効果があるが、それではたいていはうまくいかない。そこで、似たようなアクセスパターンでも効くように改善。
n体問題ではうまくアクセスレイテンシを隠蔽できたそうだ。
濱田さんの実装も参考にしたらどうよ、と平木先生。
– Triple line-based playout for Go
碁ってよくわかってなかったんですが、なんか理解した気がする。
ひとつ石を置いたときにがらっと場がかわることがあるので、実装はけっこう難しい。
碁盤を3段ずつにわけてスキャンするのは、19×19だとでかすぎるから。
ソフトウェアの倍くらい出ているが、こういう問題では性能でなさそうなので、すごいのかも。
– Scalability Studies of the BLASTn Scan and Ungapped Extention Functions
Univ. of North Carolina at Charlotte
かなり速い。ベンチマークには env_nt とか env_nr database を使っているので、scalability issue は問題なさそうだ。処理は NCBI BLAST に準じているとのこと。データセットも現実的だし、価格対性能比なんかも示しており、非常に好感が持てる。
TimeLogic Decypher Machine というのを比較に使っているけど、これなんだろ。Quad-core Xeon と FPGA が載っているらしい。これ か。
配列関係はバンド幅が手強いのでやらずにきたんだが、最近は PCIe とかあるし、やってみるかなー。
– Low power, reconfigurable computing platform for spacecraft
High throughput, radiation tolerant and low power. Streaming 処理とかしたい。
FPPA: Field programmable processor array
NASA と組んでいる。
[ Poster 1 ]
– Prevention of hot spot development on coarse-grained DR architectures
– Floating point hardware for embedded processors in FPGAs: Design space exploration for performance and area
– A 10Gbps OTN framer implementation targeting FPGA devices
– FPGA implementations of BCD multipliers
– Matrix multiplication based on scalable macro-pipelined FPGA accelerator
– PCIREX: a fast prototyping platform for TMR DR systems
– Speeding up fault injection for asynchronous logic by FPGA-based emulation
– Base-calling in DNA pyrosequencing with reconfigurable bayesian network
最後のやつに興味があったのですが、cancel っぽい。

メキシコ雑感

United のフライト (Washington DC-Cancun) は、
いちおう国際線なのだが、ごはんでなかった。
帰りはなんか買って乗らないと死ぬな。朝7時発だし。
アメリカを出るときに空港の人にきいたら、すぐ US に戻るなら、
例の緑色の紙はそのまま持っていていいそうです。帰りの分の ESTA もいちおう申請しておいたんだが、いらなかったかな。でも US に戻るときは immigration 通るのよね。よくわからん。
Cancun の空港では、入国審査のお姉さんが携帯で電話してた。いいのかよ。
税関でも荷物をスキャンされるので、すごい列。
僕は、カバンを2度スキャンされて、「何が入ってる??」といわれて結局あけてみせた。なんでだろ。東大の人が、note PC を何台か持っていて、関税を 63 ドルとられたそうな。
Cancun はメキシコでは例外的に水道水が飲めるそうだが、
ホテルの水は浄化装置が独自についているとのことで、
「絶対に蛇口を開けっ放しにしないで!」と書いてあった。
でも、消毒薬のにおいがするので、うがいにしか使えません。
テレビはけっこう英語のチャンネルが多い。スペイン語字幕付き。
メキシコ中央銀行の CM で、「透かしのないのは偽札です」的なのをやっている。
Cancun のホテル街、治安はかなりいい。
昨日は夜中に歩いてスーパー行ってきた。でも、そのまま食べられるものはあんまりなくて、結局パンとジュースだけ。
海は、めちゃめちゃきれい。発表終わったらすこし遊びたい…

接着剤

EOS kiss 買ったんですよ。6800 円で、28-105/3.5-4.5 がついてる。
ボディはアレですが、レンズはけっこういいもんね。
ところが、前の持ち主が激しくぶつけたらしくて、鏡筒にヒビ。
まあ、構造上、何の問題もないところなんだけど、そこからクラックが拡がったりすると嫌なので、一応直すことにした。
分解して鏡筒を取り出して、エポキシ接着剤で一晩放置。完璧に治りました。うひひ。
しかし、ファインダーは暗いし、微妙。
AF はワイドエリアで、スナップに限って言えば、悪くない。
ま、レンズだけ買えば何万かするもんね。いい買い物です。

iPod nano

明日は国際線のお客様。
成田から Washington D.C. へ飛んで、そこから Cancun.
Flight time は 12:30 と 3:40 くらいかな。すげえ遠い。そして仕事山積み。
当然エコノミークラスで電源なんかないので、MacBook のバッテリをふたつ装備ですよ (来年導入される 777-300ER の新しい機体では、全席に電源がつくらしい)。
iPod nano は、公称で24時間もつらしい。その前にヘッドフォン (ノイズキャンセラがついているやつ) のほうが電池切れだな。

実名と匿名

高知で研究会やってたのだけれど、僕の Blog を見てか、大学の同期が会場に遊びにきてくれた。びっくりしたけど、元気そうで嬉しかった。
最近 blog への投稿数が減っているのだけれど、わりとマジメなことで書くべきだと思ったことはちゃんと書いているつもり (特に、日本における我々研究者のあり方、みたいなことはね)。そして、それなりに読まれているらしい (笑)。今回の懇親会とかでも、僕の記事を読んでくださっている先生方からちょこちょことコメントをいただいたり。
なんか、日本では、ネット社会とそれ以外を分けて考える人が多くて、オンラインな世界では匿名だったり筆名だったりするのが当然、みたいな雰囲気なのだけれど、それって違うでしょ。
ネットワーク、というのは社会インフラなのだし、日本は自由主義社会なのだから、(よほど深刻な内部告発とかそういうのでない限り) 匿名じゃなければ言えない、というような覚悟では、そもそも発言する意味なんかない、と思う。

デザインガイア2009: Dec.04, 2009

[ FLOPS2D の設計コンセプト ]
JAXA における数値シミュレーション:
– 1980 年に M380 で二次元翼
– NS-I (1987): 1GFLOPS
– NS-II (1995): 数値風洞 : ベクトル計算機 280GFLOPS
– NS-III (2000): スカラ型 9.7TFLOPS
– JSS (2009): 140TFLOPS
二次元翼→三次元翼→オイラー全機→反応流→タービン全周解析→NS全機解析→…
三次元非定常計算の例: 液噴流コアの直接数値計算 (気液二相解析):
– 格子点: 60億
– 格子幅: 0.6um
– 5760コア、60TFLOPSで1ヶ月
– 出力総量: 153TB
100倍の計算をしようと思ったらどうするか…?
いろいろなCFDのコードがあって、メモリアクセスが主だったりディスクアクセスが主だったりする。ということは、固定されたアーキテクチャではしんどい。
リコンフィギャラブルで、「運用可能な程度にコンパクト」なシステム方式。
さきほどの乱流噴霧のだと、実行効率は4%くらいなので、もうちょっと効率よくしたい…
非定常計算が増えているのでファイル処理が問題。
柴田先生: 計算に合わせて構造を変える、というのは、つなぎかたを変えることを考えている? それともFPGAの中だけ? → 両方を考えています。現段階では機能を詰め込めるか、というところが問題。将来的にはバックプレーン的なもので専用の interconnect を作ることも考えている。
京先生: 4% くらいの実効、というボトルネックはどこにあるか解析されていますか? → 噴流の問題では通信が問題になってしまっている。実際のところスカラ型の並列計算機で 4% というのはそんなに悪くないと考えているが、ひと桁効率をあげたい。
山口先生: GPGPUでもGRAPEのような専用パイプラインでもなくFPGAなのはなぜでしょう? → GPUやCellのほうが性能は出しやすいのだが、センター運用という観点で reconfigurability に魅力を感じている。
泉先生: いまのソフトウェア実装は並列システムに適した実装 (データの空間的局所性) になっている? → はい。HPF 系の言語を使っているのでわりと楽にかけています。MPI を使う場合はデータの局所性を考えてやっている。マルチコアに関してはコンパイラに任せてスレッド並列化し、ユーザはチップ間の並列化をチューニングする感じ。
中條先生: ホストに接続できるカードの枚数は上限がある? → プロトコル的には 64 くらいまでだけど、まだ実装はしていない (し、ハードウェア的には制限がないはず)
京先生: どれくらい市場規模があるか、というのがメーカーの人間としては気になります → CFDの計算機の潜在的な需要は高いが、大規模なCFDとなるとあまり売れないと思う。それでも共通利用施設としての計算機センターとしてシステムを提供することは重要。
[ 各種暗号処理に適した2入力LUTプログラマブルロジックアーキテクチャの検討 ]
2入力LUTからなるePLXcryptと、sbox用のメモリMEMcrypt.
DES, AES, Camellia, などを実装することを考慮している。
ePLXcrypt は、配線と LUT の粒度を変えることでトランジスタ数を 40% くらい削減。
中原先生: LUTの入力サイズが2、というのが気になる。配線ふえないのはなぜ? → XOR とかが多いので。
山口先生: 結局はこれ、粗粒度アーキテクチャ的な方向なのでは? → ビットシフトとかがどれくらいうまくできるかがよくわからないので、検討していきたい。
京先生: 開発ツールは? → ePLX は専用のツールがある。ePLXcrypt はまだない。
[ マルチFPGAシステムFLOPS-2Dに向けたパイプライン構築手法の検討 ]
RER! RER!
中條先生: PCクラスタの限界というのは台数を増やしても性能が上がらないということ? →通信が飽和しちゃう。
回路を分割した場合の複数のFPGAの同期はどうしている? → そのうち…
柴田先生: 複数のFPGAに分割するときの問題にはまず通信量があるのでは? → 切り口にするところはなるべく細いところを手で探して、そこを候補点にしている。
山口先生: メモリボトルネックなのか、演算密度が高いのか、発表ではよくわからなかった →
名古屋先生: 分割したもののひとつだけが速くなっていても全体は速くなりませんよね → グローバル最適化が必要だと思います…
[ 3アドレスQDDマシン用コードの最適化アルゴリズムについて ]
Binary Decision Diagram: 論理関数を評価してシミュレーションを行う。
評価時間は平均ステップ数に依存。
MDD(k): BDDの2値変数をk個ずつグループ化した決定グラフ。
最大でBDDのk倍速くなるが、メモリ量が2^kに比例して必要。
で、QDD を評価するための専用マシンを作る。
ふんがさん: 命令長とかアドレス長は? → 命令が32bitで、アドレスが8bitくらいで3アドレッシング。ほんとはQDDだから4アドレス入れたいけど、そうするとアドレス幅が短くなりすぎて、大きな関数が評価できなくなってしまう。
柴田先生: どの変数とどの変数を合体させるのかとか評価順とかを含めて最適化している? →
[ 動的再構成型可変長複合回路の性能評価 ]
すみません、ちょっと席を外しておりました。
[ H264エンコーダのコア関数のSTPエンジンへの実装 ]
H264は動き予測が高度で、2倍以上の圧縮効率。だが、CPUでは大変。
NECの STP (Stream transpose) エンジン搭載の X-bridge に実装。
む、これって DRP か!!
泉先生: いまのチューニングは将来はコンパイラがやってくれそうか? → いまは手作業です。将来はやってくれると信じたい。
堀先生: オフロードしたのは全体のどれくらい? → 11% くらい。他の部分も同じくらいいけるかな、と思っている (が、関数を選ばないと難しい)
堀先生: 配列にアクセスできるのはふたつまで、というのは改善できる?→ DP RAM なので、たくさん使えば同時アクセス数は増やせます