FastLanes 링크

개요

  • VLDB (Very Large Database) 2023 년도에 소개된 FastLanes 논문을 읽고 정리해 보자.

Abstract

  • 이 논문은 ParquetORC 등의 big data 혹은 columnar data 의 format 을 decompression 속도를 줄임으로서 개선하고자 하고 있다.
  • 이때의 핵심 아이디어는:
    1. Value interleaving 기술을 확장해 이것을 bit packing (+unpacking) 의 기본적인 operation 에서도 사용할 수 있게 하였다.
    2. Table 에서의 tuple 을 0-4-2-6-1-5-3-7 순서로 Reordering 해 independency 를 극대화 하여 parallel 하게 실행될 수 있도록 했다고 한다.
      • 저 순서는 논문 저술 시점에 가능한 모든 SIMD lane width 를 고려하여 나온 것이다.
  • 이를 위해 1024-bit 의 가상 instruction set (Virtual 1024-bits instruction set) 을 정의해 CPU architecture 와 무관하게 성능 향상이 있음을 보였다.
    • 즉, 정의한 instruction 들은 여러 CPU architecture 들이 공통적으로 제공하는 일반 instruction set + SIMD instruction set 들이다.
  • 그 결과 SIMD 를 사용하지 않은 (= scalar code) 상황에서도 성능 향상이 있었을 뿐 아니라, scalar version 또한 modern compiler 에 의해 자동으로 SIMD 가 적용될 수 있게 하여 특정 platform 이나 SIMD intrinsic 에 구애받지 않도록 구현했다.
    • 거진 40개 이상의 값들을 1 CPU cycle 로 decoding 이 가능하다.

목차