160 likes | 738 Views
疑似乱数生成器 Mersenne Twister の ハードウェア化. 情報工学科 阿部研究室 0111117 渡部信吾. 大量の乱数 が必要となる. また 乱数性 が重要となる. 研究背景. モンテカルロシミュレーション ストリーム暗号. 研究目的. 乱数性のよい 疑似乱数の 高速生成 必要用件 乱数性がよい 高速に動作する 回路規模がなるべく小さい. Mersenne Twister を採用. 関連研究. M 系列乱数 線形合同法による生成器 Mersenne Twister.
E N D
疑似乱数生成器Mersenne Twister の ハードウェア化 情報工学科 阿部研究室 0111117 渡部信吾
大量の乱数が必要となる また乱数性が重要となる 研究背景 • モンテカルロシミュレーション • ストリーム暗号
研究目的 • 乱数性のよい疑似乱数の高速生成 必要用件 • 乱数性がよい • 高速に動作する • 回路規模がなるべく小さい
Mersenne Twister を採用 関連研究 • M系列乱数 • 線形合同法による生成器 • Mersenne Twister M系列乱数 高速であるが乱数性が不十分 線形合同法 あまり速くなく乱数性にも劣る Mersenne Twister 高速であり乱数性もよいことが知られている
Mersenne Twister (MT) [1] • 松本眞・西村拓士らにより1997年開発された疑似乱数生成アルゴリズム 特徴 • 長周期、高次元均等分布 • 生成速度が速い • メモリ消費量が少ない
MT のコア部分(MT_core) の 並列化を含む実装を行った MT のハードウェア化 • 線形フィードバックシフトレジスタと構成がよく似ている • 処理単位が 32ビット(1ワード)単位 • ハードウェアで処理する場合は疑似乱数生成の並列化が可能
MT_core の概要 • 並列化を行わない場合
MT_core 並列化の概要 • 例えば並列度 3 の場合
実験環境と評価尺度 • 実験環境 • シミュレーション: Verilog-XL 3.0.p001 • 論理合成: Design Compiler 2003.03 • 評価尺度 • スループット • 回路面積 • 速度効率 (スループット/回路面積 で求まる)
評価結果 • スループットは並列度を増やすことによってほぼ直線的に増加した • 速度効率*は並列度 128 を超えたあたりから伸びが鈍った • 並列度が 128 の場合でも 300GByte/s と高速であった *スループット / 回路面積 にて計算される
まとめ • MT_core ハードウェアの設計、実装を行った • MT_core は 700MHz 程度で動作した • 並列度 208 の場合にはスループットは 550GByte/s を超えた • ソフトウェア実装と比較して 600倍以上高速化された • この速度はモンテカルロ法の高速化に寄与するがストリーム暗号の部品としても十分利用可能である
今後の課題 • 並列度が 128 を超えたあたりから回路の挙動が変わる原因の究明 • ストリーム暗号への応用の検討