[논문 리뷰] SZx: an Ultra-fast Error-bounded Lossy Compressor for Scientific Datasets
이 논문은 과학적 데이터 세트를 위한 초고속 오차 제한 손실 압축기인 UFZ를 제안한다. UFZ는 비트단위 연산, 덧셈, 뺄셈과 같은 경량 연산만을 사용하여 CPU 및 GPU에서 극도로 빠른 압축 및 복원 속도를 달성한다. GPU에서 UFZ는 최대 264GB/s의 압축 속도와 446GB/s의 복원 속도를 기록했으며, SZ 및 ZFP보다 속도에서 2–16배 빠르게 성능을 뛰어넘으면서도 수용 가능한 압축 비율과 стрict한 오차 한계를 유지한다.
Today's scientific high performance computing (HPC) applications or advanced instruments are producing vast volumes of data across a wide range of domains, which introduces a serious burden on data transfer and storage. Error-bounded lossy compression has been developed and widely used in scientific community, because not only can it significantly reduce the data volumes but it can also strictly control the data distortion based on the use-specified error bound. Existing lossy compressors, however, cannot offer ultra-fast compression speed, which is highly demanded by quite a few applications or use-cases (such as in-memory compression and online instrument data compression). In this paper, we propose a novel ultra-fast error-bounded lossy compressor, which can obtain fairly high compression performance on both CPU and GPU, also with reasonably high compression ratios. The key contributions are three-fold: (1) We propose a novel, generic ultra-fast error-bounded lossy compression framework -- called UFZ, by confining our design to be composed of only super-lightweight operations such as bitwise and addition/subtraction operation, still keeping a certain high compression ratio. (2) We implement UFZ on both CPU and GPU and optimize the performance according to their architectures carefully. (3) We perform a comprehensive evaluation with 6 real-world production-level scientific datasets on both CPU and GPU. Experiments show that UFZ is 2~16X as fast as the second-fastest existing error-bounded lossy compressor (either SZ or ZFP) on CPU and GPU, with respect to both compression and decompression.
연구 동기 및 목표
- 메모리 내 및 실시간 장치 데이터 처리를 포함한 과학적 HPC 워크로드에서 초고속 손실 압축의 핵심적 필요성을 해결한다.
- 비용이 많이 드는 연산(예: 곱셈, 나눗셈)에 의존하는 기존의 오차 제한 압축기(SZ 및 ZFP)가 초래하는 성능 저하 문제를 해결한다.
- 비트단위, 덧셈, 뺄셈과 같은 초경량 연산만을 사용하면서도 엄격한 오차 한계와 합리적인 압축 비율을 유지하는 압축 프레임워크를 설계한다.
- CPU 및 GPU 아키텍처에 맞게 장치별 성능 최적화 및 메모리 접근 패턴을 적용하여 UFZ 프레임워크를 최적화한다.
- Summit 및 ThetaGPU와 같은 슈퍼컴퓨터에서 실제 과학적 데이터 세트를 사용하여 UFZ의 실용적 우수성을 초고성능 환경에서 입증한다.
제안 방법
- 비트단위 시프트, 덧셈, 뺄셈과 같은 경량 연산에만 의존하는 새로운 압축 프레임워크 UFZ를 설계한다. 이는 고비용 곱셈 및 나눗셈 연산을 피한다.
- CPU 및 GPU 모두에 UFZ를 구현하여, CPU에서는 SIMD 병렬 처리를, GPU에서는 스레드 수준의 병렬 처리를 활용해 고처리량을 달성한다.
- 정수 산술과 고정소수점 스케일링을 사용하여 예측 오차가 사용자 지정 한계 내에 머무르도록 하는 경량 오차 제어 메커니즘을 통합한다.
- 나눗셈 연산을 피하기 위해 각 포인트의 양자화에 복잡한 연산을 배제한 오차 기반 임계치 설정 및 반올림 기반의 단순화된 양자화 기법을 사용한다.
- GPU의 경우 메모리 접근 패턴과 커널 실행 최적화를 통해 지연을 최소화하고, 할당률과 메모리 대역폭 활용률을 극대화한다.
- 캐시 우수한 블록 단위로 데이터를 처리하는 계층적 압축 전략을 적용하여 데이터 국소성과 병렬 처리 효율성을 향상시킨다.
실험 결과
연구 질문
- RQ1비트단위 및 산술 연산과 같은 경량 연산에만 의존함으로써, 손실 압축 프레임워크가 CPU 및 GPU에서 초고속 처리를 달성할 수 있는가?
- RQ2다양한 하드웨어 플랫폼에서 UFZ의 압축 및 복원 속도가 최신 기술(SZ 및 ZFP)과 비교해 어떻게 성능을 냈는가?
- RQ3실제 과학적 데이터 세트에서 UFZ는 엄격한 오차 한계를 유지하면서도 수용 가능한 압축 비율을 유지할 수 있는가?
- RQ4대규모 HPC 시스템에서 데이터 덤프 및 로딩 파이프라인에 UFZ를 적용했을 때, 종단 간 I/O 성능에 어떤 영향을 미치는가?
- RQ5오차 제어나 압축 품질을 희생시키지 않고도, CPU 및 GPU와 같은 이종 아키텍처에 대해 UFZ를 효율적으로 최적화할 수 있는가?
주요 결과
- 단일 GPU(A100)에서 UFZ는 최대 264GB/s의 압축 처리량을 기록했으며, 이는 CPU 및 GPU에서 두 번째로 빠른 압축기(SZ 또는 ZFP)보다 2–16배 더 빠른 속도이다.
- GPU에서 UFZ는 최대 446GB/s의 복원 속도를 기록했으며, cuSZ 및 cuZFP가 기록한 9.7–67GB/s보다 뚜렷하게 빠르게 성능을 냈다.
- CPU에서는 UFZ가 ZFP보다 2.5–5배, SZ보다 5–7배 더 빠른 압축 속도를 기록했으며, 복원 속도는 각각 2–4배 더 빠르게 작동했다.
- ANL ThetaGPU에서 64–1024개의 코어를 사용한 종단 간 데이터 I/O 파이프라인에서, UFZ는 SZ 및 ZFP 대비 데이터 덤프 및 로딩 성능을 100–200% 향상시켰다.
- 복잡한 예측 및 변환 단계를 생략했음에도 불구하고, UFZ는 ZFP 대비 압축 비율이 0.3–3배 높고, SZ 대비 3–30배 높은 수준의 합리적인 압축 비율을 달성했다.
- 성능 향상의 원인은 고비용 연산의 제거와 CPU 및 GPU 양쪽에서 아키텍처에 맞는 최적화된 커널 사용에 기인한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.