最初はコンピュータシステム研究会。
[ Smith-Waterman アルゴリズムにおける GPU を用いた実装方法の位置提案 ]
土肥君@長崎大の発表。
既存の GPU 実装 (CUDASW++) とか Cell 版、Xeon 版に比べて健闘している。いいね。
通信バンド幅についてきいてみた。
時間的にはスコア計算のほうが支配的で、まだバンド幅には余裕がある模様。
でも、発表後にマイク付けたまま戻っちゃダメだよ。
[ 高性能かつ低消費電力を実現する可変レベルキャッシュのモード切替アルゴリズムの改良と評価 ]
最近のマイクロプロセッサはなんと言ってもキャッシュで性能を稼ぐわけだけど、キャッシュのリーク電流の割合というのは無視できない。
ノーマルモード (ふつうのキャッシュ) と低消費電力モードがある。
キャッシュの容量が小さくてもよさそうなら低消費電力モードで動かす。低消費電力ではキャッシュの半分をスリープモードにし、そこにあるデータを使いたいときだけ起こして、L2 の中身と入れ替える。
SimpleScalar にこのモード切替コントローラを実装。
除算を使って (わりとちゃんと) 計算する版と、そうでないのと作ったが、性能差は 1% くらいなので除算器なしのほうでもいいかな。
横田先生: キャッシュの容量は変えて評価はとってないの? → はい。
三木先生: スリープモードというのはどこをどう落としたモード? → バンクごとに電圧を変えるようにしておいて、スリープにするときはデータが死なない範囲でキャッシュメモリのそのバンクの電源電圧を丸ごと下げます。
柴田先生: 連想度はどうしてますか? → 4-way です。連想度は変えずにキャッシュラインの数だけが半分になったりします。
渡辺先生@岡山大: 256kB と 512kB で評価をとっているけど、256kB だけとか 512kB だけで走らせた評価があれば教えてください → ありません。
[ 可変パイプライン段数プロセッサのためのメモリアクセスに着目した細粒度なモード切替コントローラ ]
高速モードではパイプラインを D-FF で刻み、低速モードではそれを外す。
メモリアクセスと負荷の関係があることがわかったので、それを基準 (最近の32サイクル分のload,store命令の数) にして制御をする。
あまり細かく制御すると、パイプラインを flush する回数が増えてよろしくない。
– 共有のハードウェアとして作ると、それでオーバーヘッドがあってかえって電力消費が増えるのでは → D-FF のところにマルチプレクサをつけるだけなので、それほど大変ではない
– パイプライン段数を3段階とかにもできる? → 考えてはいる。基本的にパイプラインの各ステージの遅延は同じはずなので、段数は整数倍になっていたほうがいいよね。
[ パス限定投機実行を実現するマルチコアプロセッサPALSの提案 ]
薬袋さんの ISIS-SimpleScalar がベースです!
投機がパス単位なので、メモリ周りは大変ではないかしら? メモリバッファそのものはひとつの投機状態をずっと保持している? → そうです。パス (スレッド) の実行が終了したときにはじめて共有キャッシュに反映される。