842(압축 알고리즘)

842 (compression algorithm)

842, 8-4-2 또는 EFT데이터 압축 알고리즘입니다.사전 길이가 제한된 Lempel-Ziv 압축 알고리즘의 변형입니다.일반적인 데이터의 경우 842는 LZ77의 80~90%의 압축률을 제공하며 throughput이 훨씬 빠르고 메모리 사용량이 [1]적습니다.또, 하드웨어의 실장에서는, 소비 전력을 최소한으로 억제해, 칩 면적을 최소한으로 억제할 수 있습니다.

842 압축은 가상 메모리 압축, 데이터베이스(특히 열 중심 저장소) 및 스트리밍 입출력(백업 또는 로그 파일에 쓰기 등)에 사용할 수 있습니다.

알고리즘.

알고리즘은 서브 프레이즈가 8, 4, 2바이트인 8바이트 블록으로 동작합니다.각 구문의 해시는 과거 부호화 데이터의 슬라이딩 윈도 버퍼에 오프셋이 있는 해시 테이블을 검색하기 위해 사용된다.일치는 오프셋으로 대체할 수 있으므로 각 블록의 결과는 일치 데이터와 새 리터럴 [2][1][3]데이터가 혼합될 수 있습니다.

실장

IBM은 POWER7+ [4]이후 Power 프로세서에 842 압축에 대한 하드웨어 가속기와 지침을 추가했습니다.

POWER 프로세서의 하드웨어 지원 842 압축용 디바이스 드라이버가 [5]2011년Linux 커널에 추가되었습니다.최근에는 Linux가 소프트웨어 구현에 폴백할 수 있습니다.물론 속도가 훨씬 [6]느립니다.zram압축 RAM 드라이브용 Linux 커널 모듈로 842를 사용하도록 구성할 수 있습니다.

연구진은 그래픽 처리 장치를 사용하여 842를 구현했으며 전용 GPU를 [7]사용하여 압축 해제 속도를 약 30배 향상시켰습니다.오픈 소스 라이브러리는 CUDAOpenCL용으로 [8]842를 제공합니다.

레퍼런스

  1. ^ a b Plauth, Max; Polze, Andreas. "Towards Improving Data Transfer Efficiencyfor Accelerators using Hardware Compression".
  2. ^ Franaszek, Peter A; Lastras-Montaño, Luis A; Peng, Song; Robinson, John T. "Data Compression with Restricted Parsings". IBM Research. IBM. Retrieved 2021-07-13.
  3. ^ Blaner, B.; Abali, B.; Bass, B. M.; Chari, S.; Kalla, R.; Kunkel, S.; Lauricella, K.; Leavens, R.; Reilly, J. J.; Sandon, P. A. (November 2013). "IBM POWER7+ processor on-chip accelerators for cryptography and active memory expansion". IBM Journal of Research and Development. 57 (6): 3:1–3:16. doi:10.1147/JRD.2013.2280090. Retrieved 2021-07-13.
  4. ^ "POWER NX842 Compression for Db2" (PDF). IBM. Retrieved 2021-07-13.
  5. ^ "Torvalds/Linux". GitHub. 12 February 2022.
  6. ^ "Torvalds/Linux". GitHub. 12 February 2022.
  7. ^ Plauth, Max; Polze, Andreas (2019). "GPU-Based Decompression for the 842 Algorithm". 2019 Seventh International Symposium on Computing and Networking Workshops (CANDARW). pp. 97–102. doi:10.1109/CANDARW.2019.00025. ISBN 978-1-7281-5268-4. S2CID 210694935.
  8. ^ "Lib842". GitHub. 3 November 2020.