研究課題/領域番号 |
21H03417
|
配分区分 | 補助金 |
研究機関 | 広島大学 |
研究代表者 |
中野 浩嗣 広島大学, 先進理工系科学研究科(工), 教授 (30281075)
|
研究分担者 |
高藤 大介 広島大学, 先進理工系科学研究科(工), 助教 (00314732)
伊藤 靖朗 広島大学, 先進理工系科学研究科(工), 教授 (40397964)
|
研究期間 (年度) |
2021-04-01 – 2025-03-31
|
キーワード | データ圧縮 / ビッグデータ処理 / 並列処理 |
研究実績の概要 |
現在幅広く利用されている可逆圧縮手法は,並列化による高速処理を前提に設計されておらず,本質的に逐次処理が必要なものが多い.そのため,GPUが身近にあるにもかかわらず,データの可逆圧縮の処理にその高い計算能力が活用されていない.本研究の目的は,GPUをターゲットに並列化による高速化が可能な効率良い可逆圧縮法を提案することである.本年度は,昨年度に開発したdeflateアルゴリズムの並列実行処理を,最新のGPU向けに最適化を行った. deflateアルゴリズムはgzip,zip等で幅広く用いられており,圧縮性能が高いため,もっともポピュラーな可逆のデータ圧縮方式である.deflate圧縮では,前方部分を辞書として用い,(オフセット,長さ)のペアの値に変換する.長さが長いほど,圧縮率が高くなる.さらに,オフセットと長さをハフマン符号により圧縮する.処理が逐次的なため,GPUによる並列化が困難であった.Deflateで用いる辞書をGPUにメモリ上に実装する際のデータ構造をGPUによる並列処理向けに改造した.また,理論的には,辞書のサイズを小さくしたり,ブロックサイズを小さくすると圧縮率が悪化するが,この悪化がほとんどおきないようにそれぞれのサイズを巧妙に設定する方法を開発した.また,CUDAブロックへのスレッドの分割サイズについてSKSS(Single Kernel Soft Synchronization)法が効率よく動作するよう最適化を行った.GPUの通常のプログラムは,バリア同期のために,複数のカーネルに分割し,このカーネルが逐次的に実行される.カーネル起動のオーバーヘッドは大きく,それが性能低下の大きな原因となる.SKSS法では,複数カーネルへの分割を避けて,1つのカーネルで切れ目なく並列処理を行うことができる.さらには,具体的なGPUによる並列処理への適用を試みた.
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
逐次化が困難であったdeflateアルゴリズムをGPUへの実装を継続し,圧縮性能と処理時間において,高い性能を得ることができた. deflateアルゴリズムはその高い圧縮性能と計算処理の高速性から,最もよく用いられている可逆圧縮手法である.我々が開発したdeflateアルゴリズムのGPU実装により,特に大量のデータをGPUで扱う際のデータのやり取りを転送オーバーヘッドを気にすることなく処理を行うことができる.
|
今後の研究の推進方策 |
開発した可逆圧縮のためのdeflateアルゴリズムのGPU実装を外部プログラムから呼び出すためのAPIを整備し,実際の処理に適用が容易に行えるようにすることを目指す.また,大量のデータを用いるようなGPUを用いたアプリケーションに適用し,実用的であることを示す.大量のデータをアーカイブする際には,長時間の計算処理を行っても,データを小さく圧縮することが望まれる.そこで, GPUの計算能力をフルに活用し,計算時間を犠牲にしても高い圧縮率の達成を目指す.
|