きょうのじてんしゃ

午前の仕事が終わってから新宿駅へ直行、午後2時すぎに茅野駅到着。
杖突峠を安国寺交差点から展望台まで33分で登って自己ベスト。高遠、361を下る途中で自転車のメーターが9000kmになった。
伊那市街には出ずに竜東線を南下する途中で調子が悪くなった。火山峠はほんとにきつかったが、北からのほうが圧倒的に楽で、よかった。
水分と食事が足りてなかったと反省しつつ、何度か脚を攣りながら日曽利橋を渡って飯島へ6時半到着。長かった。
1985kcal, 57km at 22.9km/h (2h29m07s), odo 9034.6km
メーターは途中、ずっと止めたままなのに気づいてなかったので、怪しいけど。

中央構造線ミニサイクリングのお知らせ

さて、そういうわけで、152号線分杭峠大鹿側の崩落により、中止になってしまったわけですが、
– 金曜を休みにしてしまったので引くに引けない
– 俺(たち)はこの大会を愛しているんだ!と叫びたい
– 本当になくなっちゃう再来年以降の自主開催への布石
として、勝手にやりたいと思います。
– 午前10時に例の駐車場に集合 & 出発
– 分杭峠まで上がる
– ちょっと戻って、中沢峠から県道49号線を西へ
– 県道210号線で折草峠を越えて小渋湖
– 大鹿村方面へ上りかえして、例の駐車場でゴール
というのを考えています。もちろん、給水・バナナ・昼食等のサポートはありません。
しかし、大雨の後で、特に210号あたりの道路状況がわかりませんし、個人で走るときと同じように何があっても自力で家まで無事に帰る!という覚悟のある方は是非、土曜朝10時にお会いしましょう (笑)。
初めて参加するつもりだった、という方でも、地理がわかっている or 地図読んで走れるなら、ぜひご連絡くださいませ 🙂
あと、僕は日曜はあきらめたので、地蔵も行くぜ!という方も募集中です。

中央構造線サイクリング大会中止!?

16日付けで中央構造線サイクリング大会中止のお知らせ が出たんだけど、大鹿村と飯田市内で152号線が崩れた模様。
国道管理事務所のサイトにはなんのお知らせも出てないのだけれど、大鹿村役場の災害情報によると、分杭峠の大鹿側が崩落のため通行止めだそうだ。まあ、前にも崩れたしね…
飯田のほうは、飯田市の災害情報 によれば 152 も 418 も通行可能になっている。
土曜は (というか金曜の午後から) 予定通り信州いこうかと思ってるのだけれど、どなたか走りませんかー。

if_bridge + ipfw + dummynet

パケットロスを意図的に発生させた実験をすることになったので、if_bridge + ipfw + dummynet をちょっとやってみた。OS は、FreeBSD 8.0 で、em0 と em1 を if_bridge で結ぶ感じ。fxp0 が、このマシンそのものが生きていくためのネットワークインタフェイスで、こっちは既に up & running.

まず、em0 と em1 を up にして、bridge でつなぐ。

ifconfig em0 up
ifconfig em1 up
ifconfig bridge0 create up addm em0 addm em1

NIS とか NFS 使ってないマシンなのを幸いに、ipfw と dummynet は kldload で入れる。NIS/NFS 使ってても、気をつければいけると思う。

kldload ipfw
kldload dummynet
ipfw add 100 allow ip from any to any via lo0
ipfw add 110 allow ip from any to any via fxp0

bridge まわりの sysctl はこんな感じでいいのかな。pfil_bridge は 0 にするのがいいみたい?

sysctl net.link.bridge.ipfw=1
sysctl net.link.bridge.pfil_member=0
sysctl net.link.bridge.pfil_bridge=0

それで、pipe へのルールと、pipe の定義。

ipfw add 200 pipe 1 all from any to any recv em0 xmit em1
ipfw add 210 pipe 2 all from any to any recv em1 xmit em0
ipfw pipe 1 config delay 10ms
ipfw pipe 2 config delay 50ms

これで、60ms で ping が帰ってくるようになる。pfil_bridge を 1 にして、pipe X all from any to any via bridge0 とかだと、delay を 0 でなくした場合に ping が帰ってこなくなったりしたので、recv em0 xmit em1 とかで、双方向についてそれぞれのパイプを作ってやるのがよいのではないか、と思う。

もうちょっと進めて、em1→em0 が、1/3 ずつの確率で違う遅延になるようにしてみた。

ipfw delete 210
ipfw add 210 prob 0.33 pipe 2 all from any to any recv em1 xmit em0
ipfw add 210 prob 0.5 pipe 3 all from any to any recv em1 xmit em1
ipfw add 210 pipe 4 all from any to any recv em1 xmit em0
ipfw pipe 2 config delay 500ms
ipfw pipe 3 config delay 1000ms
ipfw pipe 4 config delay 1500ms

これで、ping -i 0.3 x.x.x.x とかすると、順番がばらばらになるのがわかって、面白い。到達時間のジッタとかを模擬するのにいいですね。prob を使って、確率でパケットを落としたり、pipe の bandwidth (bw), packet loss rate (plr) みたいなパラメータを使うと、かなりいろんな性能検証ができる。

HEART 2010

accept ratio was 54%.
[[ Session 1: FPGA-based Applications ]]
[ Implementation and Evaluation of an Arithmetic Pipeline on FLOPS-2D: Multi-FPGA system ]
最初のひとがいなくていきなりわしら。
精度を変えることは考えた? → double precision が minimum requirement なので。
IFC と g95 で4倍速度が違うのはなぜ? → SSEとか使っているかも。dualcore?
発表おつかれさまでした。
[ Efficient Reconfigurable Design for Pricing Asian Options ]
Stochastic simulation (single precision) on XC5VLX330T @ 200MHz, 34W.
– 313x Xeon quad-core, 80W
– 2.2x Tesla C1060, 200W
[ An FPGA-based fast classifier with high generalization property ]
Cyclone vs Stratix vs Athlon. Power, cost, performance.
DSP unit は使った? → 使ってない。LUT で全部つくるのが natural だと思う。
Combinational circuit だけで、pipeline にはなっていない。
Scaling とかは? → future work です。
[[ Session 2: Frameworks ]]
[Dynamic Vectorization in the E2 Dynamic Multicore Architecture]
Microsoft はプロセッサアーキテクチャもやっているのか・・・
32cores per chip.
全部のコアが single precision FP を持っている。power gating とか。
[Binary acceleration using coarse-grained reconfigurable architecture]
How many bits for configuration → basically instruction. 20bits.
[Implementation of a Programming Environment with a Multithread Model for Reconfigurable Systems]
SRC-6. やっぱ僕も streaming DMA とか実装しないとダメかね。むー
レジスタへのアクセスはどうやって検出するの? → Carteでは基本的に変数がレジスタで、オンボードメモリへのアクセスには特別な記述が必要。
[Runtime Multitasking Support on Reconfigurable Accelerators]
profiler の結果に基づいてごりごり。dso (dlopen()) を使って実装している。かっこいー
[Programming Framework for Clusters with Heterogeneous Accelerators]
Luk先生直々にご発表。
(Phenom X4 + Tesla + V5LX330T) x 16
[[ Session 3: Accelerators ]]
[An efficient CELL library for Lattice Quantum Chromodynamics]
double precision が必要だといったけど double でやっているの? → yes. penaltyがあるよ。
[Software-based predication for AMD GPUs]
GPU では control flow とかのペナルティが大きいので、ALU packing したり分岐とかの予測(というか、control flow clause の統合) をやっといて性能を上げましょう的なお話。10% とか、すごいのだと 50% くらいの効果がある。
[Multipliers for Floating-Point Double Precision and Beyond on FPGAs]
多倍長な乗算で DSP block の使用量を抑えたい。DSP48E は 18x25bit の非対称構成。これを使って、部分積をうまく詰め込む: Automated tiling.
Logicore の FP multiplier より DSP block の数が減って、しかも速かったりする。これはかっこいい。
[Prototype Implementation of Array-Processor Extensible over Multiple FPGAs for Scalable Stencil Computation]
佐野先生のところの、GALS array の話。
jitter とかから必要な FIFO の深さは estimate できる? → 6段くらい。
[[ Invited talk 2: Custom Computing for Efficient Acceleration of HPC Kernels ]]
Bandwidth と arithmetic performance のバランスが大事!
– Custom computing で解決しましょう
Roofline: an insightful visual performance model for multicore architectures が紹介されてた。面白そう。あとで読もう。
– Real time data compression to get more bandwidth.
– cubic predictor を使って、CFD で 4x bandwidth とか出している。これはデータの中身によるからなんともいえないけど、頑張ってやってみる価値はあるな。
31bit の custom FP format を使っているのはどうして? → fraction を1ビット削ったIEEE754.