Ausgewählte Themen aus dem Bereich Datenbanken und Informationssysteme: Data Processing On Modern Hardware
Content
This course covers how to efficiently process data on modern hardware. It focuses on:
- SIMD processing (AVX-512)
- efficient synchronization of data structures (lock-free, optimistic locks, hardware transactional memory)
- parallelizing data-intensive tasks on multi-core CPUs
Organization
- 5 ECTS
- The lectures are held in English.
- Lecture + Exercises: Monday, 1pm-4pm
- First lecture: October 22
- Room: 02.11.018
- There will be an exam (E) and graded homeworks (H). The overall grade will be computed as follows: min(E, E*0.6 + H*0.4). In addition, you have to achieve a 4.0 in the exam to pass the course. The exam might be oral (depending on the number of participants).
Prerequisites
- systems programming experience in C/C++
Lecture Slides
- Introduction
- SIMD
- Data Blocks
- Synchronization
- Bw-tree (by Andy Pavlo)
- Parallelization
- Storage
- Guest Lecture: Leveraging Modern Hardware in SAP HANA
Homework
- SIMD 1
- SIMD 2
- synchronization 1: concurrent list-based set
- synchronization 2: memory reclamation
- synchronization 3: B-tree
- synchronization 4: HTM
Examples/Experiments
- vector classes
- ggplot example
- Intel Architecture Code Analyzer example
- cache line contention
- hazard pointers