협동 병렬 X-Match 데이타 압축 알고리즘

The Cooperative Parallel X-Match Data Compression Algorithm

  • 윤상균 (연세대학교 문리대학 정보기술학부)
  • 발행 : 2003.10.01

초록

X-Match 알고리즘은 비교적 간단하여 하드웨어로 구현하는 데에 적합한 무손실 압축 알고리즘이다. X-Match 알고리즘은 사이클 당 32비트의 압축이 가능하므로 고속 압축에 적합하다. 그렇지만 버스 폭이 증가됨에 따라서 이에 맞추어서 압축 단위를 증가시킬 필요가 있게 되었다. 본 논문에서는 X-Match 알고리즘을 병렬로 수행하여 압축 속도를 2배 향상시키고 X-Match 알고리즘 거의 비슷한 압축률을 제공하는 협동 병렬 X-Match 알고리즘, 즉 X-MatchCP 알고리즘을 제안한다. 기존의 병렬 X-Match 알고리즘이 X-Match 알고리즘을 병렬로 수행할 매에 각자의 사전을 검색하는 데 비해서 X-MatchCP 알고리즘에서는 X-Match 알고리즘이 병렬로 수행되지만 전체 사전을 검색하여 매칭빈도를 높이도록 하였고 run-length 부호화도 두 워드에 대해서 한꺼번에 하는 방식으로 서로 협동하면서 동작한다 메모리 데이타와 파일 자료를 사용한 시뮬레이션 결과 X-MatchCP 알고리즘은 같은 사전 크기의 X-Match 알고리즘과 거의 비슷한 압축률을 보였다. 그리고 X-MatchCP 알고리즘의 하드웨어 구현을 위한 전체적인 구조 설계를 Verilog 언어를 사용하여 수행하였다.

X-Match algorithm is a lossless compression algorithm suitable for hardware implementation owing to its simplicity. It can compress 32 bits per clock cycle and is suitable for real time compression. However, as the bus width increases 64-bit, the compression unit also need to increase. This paper proposes the cooperative parallel X-Match (X-MatchCP) algorithm, which improves the compression speed by performing the two X-Match algorithms in parallel. It searches the all dictionary for two words, combines the compression codes of two words generated by parallel X-Match compression and outputs the combined code while the previous parallel X-Match algorithm searches an individual dictionary. The compression ratio in X-MatchCP is almost the same as in X-Match. X-MatchCP algorithm is described and simulated by Verilog hardware description language.

키워드

참고문헌

  1. F. Douglis, 'The compression cache: using on-line compression to extend physical memory ,' Proc. Winter USENIX Conf., pp. 519-529, Jan. 1993
  2. R. Williams, 'An extremely fast ZIV-Lempel data compression algorithm,' Proc. Data Compression Conf., pp. 362-371, Apr. 1991 https://doi.org/10.1109/DCC.1991.213344
  3. P. Wilson, S. Kaplan, and Y. Smaragdakis, 'The case for compressed caching in virtual memory systems,' Proc. USENIX Annual Conf., pp, 101-116. June 1999
  4. S. Roy, R. Kumar, and M. Prvulovic, 'Improving system performance with compressed memory,' Proc. 15th Parallel and Distr. Processing Symp., pp. 630-636, Apr. 2001 https://doi.org/10.1109/IPDPS.2001.925011
  5. R. Tremaine, T. Smith, M. Wazlowski, D. Har, K.-K. Mak, and S. Arramreddy, 'Pinnacle: IBM MXT in a Memory Controller Chip,' IEEE Micro, vol. 21, no. 2, pp. 56-68, Mar/Apr, 2001 https://doi.org/10.1109/40.918003
  6. P. Franaszek, J. Robinson, and J. Thomas, 'Parallel compression with cooperative dictionary construction,' Proc. Data Compression Conf., pp. 200-209, Apr. 1996 https://doi.org/10.1109/DCC.1996.488325
  7. M. Kjelso, M. Gooch, CH, and S. Jones, 'Design and performance of a main memory hardware data compressor,' Proc. 22nd EuroMicro Conf., pp. 423-430, Sep, 1996 https://doi.org/10.1109/EURMIC.1996.546466
  8. S. Jones, 'Partial-matching lossless data compression hardware,' lEE Proc. Computer Digital Tech, vol. 147, no. 5, pp, 329-334, Sep. 2000 https://doi.org/10.1049/ip-cdt:20000637
  9. S. Jones and J. Nunez, 'Data compression having improved compressed speed,' International patent application no. WO0156169, Aug. 2001
  10. J. Nunez, C. Feregrino, S. Bateman, and S. Jones, 'The X-MatchLITE FPGA-based data compressor,' Proc. 25th EUROMICRO Conf., pp. 126-132, Sep. 1999 https://doi.org/10.1109/EURMIC.1999.794458
  11. J. Nunez and S. Jones, 'The X-MatchPRO 100 ME/sec FPGA-based lossless data compressor,' Proc. Design, Automation and Test in Europe, pp. 139-142, Mar. 2000
  12. J. Nunez, C. Feregrino, S. Jones, and S. Bateman, 'X-MatchPRO: A ProASIC-based 200 Mbytes/s full-duplex lossless data compressor,' Proc. 11th Inter. Conf. FPL, Lecture Notes in Computer Science, Springer, pp. 613-617, Aug. 2001
  13. J. Nunez and S. Jones, 'Loseless data compression programmable hardware for high-speed data networks,' Proc. IEEE Inter. Conf. Field-Programmable Technology (FPT), Hong Kong, pp. 290-293, Dec. 2002
  14. P. Wilson, S. Kaplan, and Y. Samaragdakis, 'The case for compressed caching in virtual memory systems,' Proc. USENIX Conf. pp. 101-116, June 1999
  15. S. Kaplan, Compressed caching in virtual memory systems, http://www.cs.amherst.edu/~sfkaplan/research/compressed-caching
  16. R. Arnold and T. Bell, 'A corpus for the evaluation of lossless compression algorithms,' Proc. Data Compression Conf., pp. 201-210, 1997 https://doi.org/10.1109/DCC.1997.582019
  17. The canterbury corpus, http://corpus.canterbury.ac.nz/