Skip to main content
QUICK REVIEW

[論文レビュー] Generating High Quality Random Numbers: A High Throughput Parallel Bitsliced Approach

Saleh Khalaj Monfared, Omid Hajihassani|arXiv (Cornell University)|Sep 10, 2019
Chaos-based Image/Signal Encryption参考文献 33被引用数 4
ひとこと要約

本論文では、GPU上で並列かつビットスライス化された実装を用いた、高スループットで暗号的に安全な擬似乱数生成器(CSPRNG)を提示する。データを列優先形式に再編集し、LFSRに基づくMICKEY 2.0ストリーム暗号を活用することで、高価なビットシフトを効率的なレジスタ交換に置き換え、GTX 980 Tiで1.6 Tb/s、Tesla V100で2.9 Tb/sの性能を達成。NIST統計的ランダムネステストを全テスト通過し、cuRANDを上回る性能とコスト効率を実現。

ABSTRACT

In this work, by employing a bitsliced data representation as building blocks of algorithms, we showcase the capability and scalability of our proposed method in a variety of PRNG methods in the category of block and stream ciphers. While demonstrating the suitability of stream-ciphers for high throughput PRNG, as an example, we implement and investigate a bitsliced MICKEY 2.0 PRNG by altering the paradigm of internal functions and data structure. The LFSR-based (Linear Feedback Shift Register) nature of the PRNG in our implementation perfectly suits the GPU's many-core structure due to its register oriented architecture and allows the usage of bit slicing technique to further improve the performance. In our SIMD vectorized fully parallel GPU implementation, each GPU thread is capable of generating a remarkable number of 32 pseudo-random bits in each LFSR clock cycle. We then compare our implementation with some of the most significant PRNGs that display a satisfactory performance in both throughput and randomness criteria. The proposed implementation successfully passes the NIST test for statistical randomness and bit-wise correlation criteria. To the best of authors' best knowledge, our method outperforms the current best implementations in the literature for computer-based PRNG and the optical solutions in terms of performance and performance per cost, while maintaining an acceptable measure of randomness. Our highest performance among all of the implemented CPRNGs with the proposed method is achieved by the MICKEY 2.0 algorithm which shows 1.9x improvement over the state of the art NVIDIA's proprietary high-performance PRNG, cuRAND library, achieving 1.6 Tb/s of throughput on the affordable NVIDIA GTX 980 Ti.

研究の動機と目的

  • 一般用途の並列プラットフォーム(例:GPU)における、高スループットで暗号的に安全な乱数生成の性能ボトルネックを解消すること。
  • 従来のPRNGを改善し、スループットとコスト効率を向上させつつも、強力なランダムネス保証を維持すること。
  • 従来、DESなどの対称暗号で使用されてきたビットスライス技術を、特にLFSRベースのストリーム暗号に応用してCSPRNGに適用すること。
  • 列優先データ表現がGPUのSIMDデータパスをフルに活用できることを示し、高度に並列化された実行を可能にすること。
  • NIST SP 800-22ランダムネススイートを用いて統計的品質を検証し、cuRANDなどの最先端ソリューションと性能を比較すること。

提案手法

  • GPUのSIMDデータパスをフルに活用できるように、列優先データ表現を採用することで、行方向の演算を並列なビット単位の計算に変換する。
  • LFSRベースのストリーム暗号(例:MICKEY 2.0)にビットスライス技術を適用し、高価なビットシフトやマスク演算を効率的なレジスタ交換と論理演算(XOR、AND、OR)に置き換える。
  • スレッドブロックを固定(1ブロックあたり64スレッド、1グリッドあたり256スレッド)に設定したCUDAカーネルを用いて、スレッド割り当ての最適化とメモリアクセスのコalescingを最大化する。
  • 共有メモリを活用して、乱数生成中のグローバルメモリの遅延を低減し、帯域幅効率を向上させる。
  • AES や Grain などの他のPRNGに対しても、内部構造に合わせてビットスライス論理を適応することで、一般化を実現する。
  • 過去の研究と公平な比較が可能となるよう、処理能力単位あたりの性能を正規化する。特に、古くさかったりアクセス不可能なGPUプラットフォームに対しても有効である。

実験結果

リサーチクエスチョン

  • RQ1ビットスライス技術をCSPRNGに効果的に適用することで、GPUプラットフォームで高スループットを達成できるか?
  • RQ2従来の行優先レイアウトと比較して、列優先データ表現がGPUのリソース利用と性能に顕著な向上をもたらすか?
  • RQ3cuRAND や他の高性能PRNGと比較して、提案手法のスループットとランダムネス品質はどの程度か?
  • RQ4LFSRベースのストリーム暗号(例:MICKEY 2.0)の構造が、GPUの多数コアとレジスタ指向アーキテクチャに、ビットスライス実行においてどの程度適合するか?
  • RQ5提案手法は、NIST SP 800-22テストスイートによる検証を通じて、高パフォーマンスと強力な統計的ランダムネスの両方を達成できるか?

主な発見

  • 提案手法のGPU上でのビットスライス実装は、NVIDIA GTX 980 TiでMICKEY 2.0アルゴリズムを用いてピークスループット1.6 Tb/sを達成し、NVIDIAのcuRANDライブラリ比で1.9倍の向上を示した。
  • Tesla V100 GPUでは2.90 Tb/sを達成し、cuRANDを大きく上回りながらも、NIST SP 800-22統計的ランダムネステストの全テストに合格した。
  • 全15のNIST統計的テスト(周波数、ブロック周波数、累積和、線形複雑度など)のp値が0.01以上であり、生成されたビットストリームのランダムネスの高品質を裏付けた。
  • コストの高いビットレベル演算(シフトとマスク)を効率的なレジスタレベルの交換に置き換えることで、GPUスレッド間の完全な並列化が可能になった。
  • 一般用途のPRNGや光学的ソリューションと比較して、コストあたりの性能比が優れており、高スループットなコスト効率の良い代替手段であることが示された。
  • GTX 980 Ti、GTX 1050 Ti、GTX 1080 Ti、Tesla V100など複数のGPUプラットフォームにわたりスケーラビリティを示し、cuRANDを常に上回る一貫した性能向上を達成した。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。