Vectorized Query Execution with SIMD - Lecture 8
Offered By: CMU Database Group via YouTube
Course Description
Overview
Explore a comprehensive lecture on vectorized query execution using SIMD in advanced database systems. Delve into the fundamentals of vectorization, its importance, and the concept of Single Instruction Multiple Data (SIMD). Examine various types of vectorization, SIMD instructions, and their historical development. Analyze implementation strategies, including automatic and explicit vectorization, memory alignment, and specialized instructions. Investigate vectorized algorithms, performance considerations, and the materialization model. Learn about stage buffers, prefetching, and hash tables in the context of vectorized query execution.
Syllabus
Intro
Agenda
What is Vectorization
Why Vectorization Matters
Single Instruction Multiple Data
SIMD Example
Types of Vectorization
Types of Instructions
Streaming Instructions
Handling Exceptions
SIMD History
Tradeoffs
AVX 512
Wikipedia
Skylake 2017
Implementation
Automatic Vectorization
Automatic Vectorization Example
Driver Hints
C Restrictions
Explicit Vectorization
Memory Alignment
Permute
Out of Memory
Selective Store
Compress
Additional Values Span
Gather and Gather
Scatter
Vectorized Algorithms
MD Compare
Output Vector
Performance
Xeon Phi
Branchless
Vectorized
Memory Bandwidth
Invalid Tuples
Example
Materialization Model
Stage Buffer
Simple Pseudo Code
Prefetching
Results
Graph
Hash Tables
Taught by
CMU Database Group
Related Courses
Computer ArchitecturePrinceton University via Coursera Introduction to Computer Architecture
Carnegie Mellon University via Independent 计算机组成 Computer Organization
Peking University via Coursera Computation Structures 2: Computer Architecture
Massachusetts Institute of Technology via edX Embedded Systems
Georgia Institute of Technology via Udacity