• Aucun résultat trouvé

Massive parallel In-Memory Database with GPU-based Query Co-Processor

N/A
N/A
Protected

Academic year: 2022

Partager "Massive parallel In-Memory Database with GPU-based Query Co-Processor"

Copied!
1
0
0

Texte intégral

(1)

Massive parallel in-memory database with GPU based query co-

processor

Harald Frick

QuiLogic In-Memory DB Technology

ABSTRACT

This talk presents work on transforming SQL-IMDB, a commercial available in- memory database system, into a massive parallel, array structured data processor extending the “classic” query engine architecture with GPU based co-processing facilities. The chosen approach is not just a simple re-implementation of common database functionality like sorting, stream processing and joins on GPUs, instead we take a holistic view and extend the entire query engine to work as a genuine, in- memory, GPU supported database engine. We have partitioned the query engine so that both CPU and GPU are doing what they are best at. The new SQL-IMDBg query execution engine is a “Split-Work” engine which takes care to optimize, schedule and execute the query plan simultaneous and in the most efficient way on two (or more) different memory devices. The principal architecture of the engine, based on simultaneous managing multiple memory devices (local/shared/flash- memory ), was a natural fit to include the new GPU/video memory as just another (high speed) memory device. All internal core engine data structures are now based on simple array structures, for maximum parallel access support on multi- and many core hardware. Data tables located on GPU video memory can always queried together with CPU local- and shared-memory tables in “mixed” query statements.

Columns on GPU tables are also accessible through GPU based indexes. A special index structure was developed based on sorted containers supporting both CPU and GPU based index lookups. Table data can be manually and automatically split between CPU and GPU and is held in vertically partitioned columns, which ease the stream like processing for basic scan primitives and coalesced memory access mechanism on GPU devices. Based on our experience gained, we see the GPU/video memory as another important high speed memory device for in-memory database systems, but which do not yet fit well into the architecture of current database engines and therefore require a major effort in re-engineering the entire core database architecture.

1

Références

Documents relatifs

Figure 4 reports the execution time of the different systems to process a typical variant calling operation on a 30X human genome dataset.. The loading of the reference genome

These relate to a correspondence between modular allocations and integer lattices; a further correspon- dence between the validity of a modular allocation for a given program and

Le droit suisse impose en quelque sorte cette conscience collective au réseau primaire, plus précisément aux parents, notamment par le biais de l’article 276 alinéa 1

Within this framework, tasks are split into di↵erent phases: a memory phase in which the task pre-fetches the required instruction and data from memory and/or I/O devices (M-phase),

Dans une étude rétrospective incluant une cohorte de 100 patients confirmés par autopsie, Respondek et al (29) ont analysé les formes phénotypiques de la PSP

The obtained results demonstrate that besides the drawbacks regarding latency for writing, STT-MRAM can drastically reduce the power consumption of a cache set memory bank in

The most time-consuming oper- ator is the project (around 56%), followed by select (21%) and join (15%), these operators impact more than 90% in the execution time of TPC-H

For the given implementation and the value of parameters, the numbers of arithmetic operations and accesses to the global and shared memory were calculated and used in the PN model