DOI QR코드

DOI QR Code

비 압축 블록으로 구성된 제어 헤더 삽입을 통한 압축 해제 호환성 있는 병렬 처리 Deflate 알고리즘 제안

Proposal for Decoding-Compatible Parallel Deflate Algorithm by Inserting Control Header Composed of Non-Compressed Blocks

  • 투고 : 2022.12.02
  • 심사 : 2023.02.03
  • 발행 : 2023.05.31

초록

본 연구에서는 압축 해제 호환성을 갖춘 병렬 처리 Deflate 압축 알고리즘을 구현하기 위하여 병렬 압축 및 압축 해제에 필수적인 정보를 복수의 비 압축 블록(Non-Compression Block)내의 버려지는 영역(Disposed Bit Area)에 저장하는 방식으로 구성한 컨트롤 헤더를 삽입하는 새로운 방식을 제안하였다. 이를 통해 기존 압축 해제 프로그램과 완벽한 호환성을 유지하면서도 병렬 압축 및 병렬 압축 해제가 가능하도록 하였다. 또한 순차 처리방식 대비 압축 시간을 최대 71.2% 절감하였고 병렬 압축해제 시간을 65.7%까지 절감하였다. 특히 Deflate 알고리즘의 구조적 제약으로 인해 병렬 압축 해제는 불가능하다고 알려져 있으나, 제안하는 방식을 탑재한 디코더로 알고리즘 수준에서 고속의 병렬 압축 해제가 가능하고, 호환성을 유지하여 동일한 압축 데이터를 기존의 압축 해제 프로그램으로도 정상적 압축 해제가 가능함을 확인하였다.

For decoding-compatible parallel Deflate algorithm, this study proposed a new method of the control header being made in such a way that essential information for parallel compression and decompression are stored in the Disposed Bit Area (DBA) of the non-compression block and being inserted into the compressed blocks. Through this, parallel compression and decompression are possible while maintaining perfect compatibility with the existing decoder. After applying this method, the compression time was reduced by up to 71.2% compared to the sequential processing method, and the parallel decompression time was reduced by up to 65.7%. In particular, it is well known that parallel decompression is impossible due to the structural limitations of the Deflate algorithm. However, the decoder equipped with the proposed method enables high-speed parallel decompression at the algorithm level and maintains compatibility, so that parallelly compressed data can be decoded normally by existing decoder programs.

키워드

참고문헌

  1. D. Takafuji, K. Nakano, Y. Ito, and A. Kasagi, "Acceleration of deflate encoding and decoding with gpu implementations," 2021 Ninth International Symposium on Computing and Networking Workshops (CANDARW), pp.180-186, 2021.
  2. M. Kerbiriou and R. Chikhi, Parallel decompression of gzip-compressed files and random access to DNA sequences [Internet], https://doi.org/10.48550/arXiv.1905.07224.
  3. M. Adler, pigz: A parallel implementation of gzip for modern multi-processor multi-core machines [Internet], https://zlib.net/pigz.
  4. Bandisoft, Parallel extraction [Internet], https://kr.bandisoft.com/bandizip/help/parallel-extraction.
  5. J. H. Kim, "Malicious code injection vulnerability analysis in the deflate algorithm," Journal of The Korea Institute of Information Security and Cryptology, Vol.32, No.5, pp. 869-879, 2022.
  6. T. Ylonen, SSH Communications Security Corp,C. Lonvick, Ed., Cisco Systems, Inc.,"The Secure Shell (SSH) Transport Layer Protocol," RFC 4253, Jan. 2006.
  7. J. Gailly and M. Adler, Zlib 1.2.11 manual [Internet], https://www.zlib.net/manual.html.
  8. L. Peter Deutsch, "DEFLATE compressed data format specification version 1.3," RFC 1951, May 1996.
  9. E. Sitaridi, R. Mueller, T. Kaldewey, G. Lohman, and K. Ross, Massively-parallel lossless data decompression [Internet], http://arxiv.org/abs/1606.00519.
  10. J. Gilchrist and Y. Nikolov, Parallel BZIP2 [Internet], http://compression.ca/pbzip2.