Переосмысление SIMD-векторизации для баз данных в памяти

Rethinking SIMD Vectorization for In-Memory Databases
Orestis Polychroniou, Arun Raghavan, Kenneth A. Ross
2015-05-27

архитектура MIC (Xeon Phi)SIMD векторизацияинструкции gather и scatterин-мемори аналитические базы данныхвекторизованные операторы баз данных
Аналитические базы данных постоянно адаптируются к базовому аппаратному обеспечению, чтобы задействовать все источники параллелизма. В то же время аппаратное обеспечение развивается в разных направлениях в поисках компромиссов. Архитектура MIC, являющаяся одним из примеров, отклоняется от типичного дизайна CPU, объединяя на кристалле большее число более простых ядер и полагаясь на SIMD-инструкции для компенсации разницы в производительности. Базы данных стремятся использовать SIMD-возможности CPU. Однако в современных массовых CPU сравнительно недавно появились более широкие SIMD-регистры и более продвинутые инструкции, поскольку они не полагаются в первую очередь на SIMD для эффективности. В этой статье мы представляем новые векторизованные варианты проектирования и реализации операторов баз данных, основанные на продвинутых SIMD-операциях, таких как gathers и scatters. Мы изучаем операции выборки, хеш-таблицы и разбиение (partitioning) и комбинируем их для построения сортировки и соединений. Наша оценка на сопроцессоре Xeon Phi на базе MIC, а также на современных массовых CPU показывает, что предложенные схемы векторизации работают до одного порядка величины быстрее по сравнению с современными скалярными и векторными подходами. Кроме того, мы подчёркиваем влияние эффективной векторизации на алгоритмический дизайн операторов баз данных в памяти, а также на архитектурный дизайн и энергоэффективность аппаратуры, делая простые ядра сопоставимо быстрыми с сложными ядрами. Эта работа применима к CPU и сопроцессорам с продвинутыми SIMD-возможностями, использующим либо много простых ядер, либо меньшее число сложных ядер.
1
Продвинутые SIMD-возможности позволяют многим простым ядрам работать сопоставимо быстро с меньшим числом сложных ядер, делая подход применимым к CPU и сопроцессорам.
2
Комбинация этих векторизованных операторов позволяет реализовать векторизованную сортировку и соединения.
3
Эффективная SIMD-векторизация меняет алгоритмический дизайн операторов для баз данных в памяти и влияет на архитектурный дизайн аппаратуры и энергоэффективность.
4
Представлены новые векторизованные конструкции для операторов баз данных с использованием продвинутых SIMD (gather и scatter) для выборок, хеш-таблиц и разбиения.
5
На MIC-основанном Xeon Phi и современных мейнстримных CPU предложенные векторизационные решения в некоторых случаях до одного порядка величины быстрее современных скалярных и существующих векторных подходов.

Операторы баз данных в памяти (селекции, хеш-таблицы, разбиение, сортировка и соединения), реализованные с помощью векторизации SIMD

Проектирование и производительность (пропускная способность, алгоритмические последствия и энергетическая/архитектурная эффективность) новых SIMD-ориентированных векторизованных реализаций с использованием продвинутых операций (gather/scatter) на MIC (Xeon Phi) и современных CPU

Publication Details
Publication Date
2015-05-27
Journal
Publisher
ISSN
Access Type
Author Information
Authors
Orestis Polychroniou
Arun Raghavan
Kenneth A. Ross
Explore further
Open the scid.ai AI chat with a ready-made request: it will find papers on a similar topic and help build a literature review.
Find similar papers in the chat
Make a presentation
100%