The Goal: In-Memory Database Scalability
core core
ore core
core core
core core
core core
ore core
core core
core core
core core
ore core
core core
core core
core core
ore core
core core
core corecore
Multicores
(CMP) Multisocket
Multicores
 How can DBMS engine scale across
hardware islands ?
in-memory database on multicore
Two Approaches to In-Memory Database
Scalability on Multicore
 Employing a Symmetric Database Engine
 Example Systems: SILO and Hekaton
 Employing a Partitioned Database Engine
 Example Systems: DORA, PLP, ATraPos and H-Store
in-memory database on multicore
A Symmetric Database Engine Architecture
 Symmetric Database Engine using Shared Memory
 Database Process consists of
multiple transaction threads
each running on a separate core
 Transaction threads access the
entire shared memory with cache
coherency enabled
 Transaction Engine takes care
about Serializability
 Processor takes care about Cache
Coherency
in-memory database on multicore
A Partitioned Database Engine Architecture
 Partitioned Database as Primary Scalability Mechanism
 Database is divided into multiple partitions
each managed by a dedicated core
 A partition is owner of its data and indexes
 A centralized routing table is required
to route transactions to partitions
 Multi-partition transactions is executed
by migrating transactions between
cores
 Partitioning may be static or dynamic
 dynamic re-partitioning mechanism
enables to load balance partition
access
 All partitions must reside in shared
memory with Cache Coherency enabled
in-memory database on multicore
Problem: Cache Coherency Limits Scalability
 Cache Coherency Mechanism (CCM) limits processor
scalability
 Cache Coherency of thousand cores is not feasible
 Problem: How can a DBMS engine scale in the
presence of non-coherent hardware islands ?
Hardware Island with CCM Hardware Island with CCM
CCM
in-memory database on multicore
In-memory Database on Thousand cores
The paper: Staring Into The Abyss: An Evaluation Of
Concurrency Control With One Thousand Cores
concludes with the following observation
 Software-hardware co-design is the only solution to
address the performance issues resulting from high
core count. For certain functionalities, specialized
hardware can significantly improve performance while
reducing power consumption
 The next slides provides some design guidelines
in-memory database on multicore
System Design Principles
 Avoid many of the centralized critical sections present
in classic database engines (see next slide)
 Be sensitive to the cost of Cache Coherency (CC)
Do you really need CC enabled on all cores?
 Leveraging hardware message passing for efficient
thread synchronization (inter-core communication);
example the TILE-Gx processor family
in-memory database on multicore
Avoid Centralized Critical Sections
 Avoid centralized contention points and make all
synchronization scale with the data, allowing larger
databases to support more concurrency.
 Use lightweight locking mechanism and eliminate the
bottleneck of a centralized lock manager, by co-
locating locks with each DB record
 Use optimistic based concurrency control possibly
combined with multi-version mechanism
 Use transaction’s local memory - private workspace -
to cache its write-set and avoid installing writes until
commit time
in-memory database on multicore

More Related Content

PDF
virtual memory management in multi processor mach os
PPTX
Memory hierarchy (In Details)
PDF
Recent advancements in cache technology
PPTX
Computer Memory Hierarchy Computer Architecture
PPTX
Swap Administration in linux platform
PPT
Swap-space Management
PPTX
Managed disk-Azure Storage Evolution
PPTX
Storage Basics
virtual memory management in multi processor mach os
Memory hierarchy (In Details)
Recent advancements in cache technology
Computer Memory Hierarchy Computer Architecture
Swap Administration in linux platform
Swap-space Management
Managed disk-Azure Storage Evolution
Storage Basics

What's hot (20)

PPTX
Swap space management and protection in os
PPTX
MySQL Architecture and Engine
PPTX
ملٹی لیول کے شے۔
PPT
MySQL Replication Basics
PPSX
Bladeservertechnology 111018061151-phpapp02
PPT
Architecture Of Large Scale Websites
PPTX
IMC Summit 2016 Breakout - Pandurang Naik - Demystifying In-Memory Data Grid,...
PPTX
blade server
PPTX
Memory Hierarchy Design, Basics, Cache Optimization, Address Translation
PPT
MySQL and DB Engines
PDF
MySQL Storage Engines
PPTX
Database storage engines
PDF
A Comparison of IBM’s New Flex System Environment to Traditional Blade Archit...
PPTX
Understanding das-nas-san
PPTX
IBM Blade server
PPTX
Random Access memory.
PPTX
What'sNnew in 3.0 Webinar
PDF
[Altibase] 1-2 disk dbms
PDF
Gpfs introandsetup
Swap space management and protection in os
MySQL Architecture and Engine
ملٹی لیول کے شے۔
MySQL Replication Basics
Bladeservertechnology 111018061151-phpapp02
Architecture Of Large Scale Websites
IMC Summit 2016 Breakout - Pandurang Naik - Demystifying In-Memory Data Grid,...
blade server
Memory Hierarchy Design, Basics, Cache Optimization, Address Translation
MySQL and DB Engines
MySQL Storage Engines
Database storage engines
A Comparison of IBM’s New Flex System Environment to Traditional Blade Archit...
Understanding das-nas-san
IBM Blade server
Random Access memory.
What'sNnew in 3.0 Webinar
[Altibase] 1-2 disk dbms
Gpfs introandsetup
Ad

Viewers also liked (12)

ODP
Diapositiva
PDF
Exposision 1
DOC
Student 3 response (c grade)
PPTX
Updated 'my time at fulham fc'
DOCX
Herramientas informatica
PDF
Actividades
PDF
DURS poster
PDF
Apr ws viagens_lit_carapinheira16mar
PDF
Topic 7 and_8_modifier_placement_-
PDF
2016 jan-pugs-meetup-v9.5-features
PPTX
Adding comments in ms word
PPTX
Atividades de Natal nas Bibliotecas Martim de Freitas
Diapositiva
Exposision 1
Student 3 response (c grade)
Updated 'my time at fulham fc'
Herramientas informatica
Actividades
DURS poster
Apr ws viagens_lit_carapinheira16mar
Topic 7 and_8_modifier_placement_-
2016 jan-pugs-meetup-v9.5-features
Adding comments in ms word
Atividades de Natal nas Bibliotecas Martim de Freitas
Ad

Similar to IMDB_Scalability (20)

PPTX
IMDB_Scalability
PDF
Microsoft SQL Server 2014 in memory oltp tdm white paper
PPTX
Sql sever engine batch mode and cpu architectures
PPTX
PARALLEL DATABASE SYSTEM in Computer Science.pptx
PDF
Real-world consistency explained
PDF
MemSQL DB Class, Ankur Goyal
PDF
Performance Whack A Mole
PPTX
Geek Sync I Need for Speed: In-Memory Databases in Oracle and SQL Server
PDF
In memory big data management and processing a survey
PDF
Scaling data on public clouds
PDF
4. (mjk) extreme performance 2
PPT
Claremont Report on Database Research: Research Directions (Anastasia Ailamaki)
PPTX
Leveraging memory in sql server
PPT
14 scaleabilty wics
PDF
IRJET- Improving Performance of Data Analytical Queries using In-Memory D...
PDF
IMCSummit 2015 - Day 2 IT Business Track - 4 Myths about In-Memory Databases ...
PDF
Cassandra Day Chicago 2015: DataStax Enterprise & Apache Cassandra Hardware B...
PPTX
In memory grids IMDG
PPTX
Designing Information Structures For Performance And Reliability
PDF
In-Memory Databases, Trends and Technologies (2012)
IMDB_Scalability
Microsoft SQL Server 2014 in memory oltp tdm white paper
Sql sever engine batch mode and cpu architectures
PARALLEL DATABASE SYSTEM in Computer Science.pptx
Real-world consistency explained
MemSQL DB Class, Ankur Goyal
Performance Whack A Mole
Geek Sync I Need for Speed: In-Memory Databases in Oracle and SQL Server
In memory big data management and processing a survey
Scaling data on public clouds
4. (mjk) extreme performance 2
Claremont Report on Database Research: Research Directions (Anastasia Ailamaki)
Leveraging memory in sql server
14 scaleabilty wics
IRJET- Improving Performance of Data Analytical Queries using In-Memory D...
IMCSummit 2015 - Day 2 IT Business Track - 4 Myths about In-Memory Databases ...
Cassandra Day Chicago 2015: DataStax Enterprise & Apache Cassandra Hardware B...
In memory grids IMDG
Designing Information Structures For Performance And Reliability
In-Memory Databases, Trends and Technologies (2012)

IMDB_Scalability

  • 1. The Goal: In-Memory Database Scalability core core ore core core core core core core core ore core core core core core core core ore core core core core core core core ore core core core core corecore Multicores (CMP) Multisocket Multicores  How can DBMS engine scale across hardware islands ? in-memory database on multicore
  • 2. Two Approaches to In-Memory Database Scalability on Multicore  Employing a Symmetric Database Engine  Example Systems: SILO and Hekaton  Employing a Partitioned Database Engine  Example Systems: DORA, PLP, ATraPos and H-Store in-memory database on multicore
  • 3. A Symmetric Database Engine Architecture  Symmetric Database Engine using Shared Memory  Database Process consists of multiple transaction threads each running on a separate core  Transaction threads access the entire shared memory with cache coherency enabled  Transaction Engine takes care about Serializability  Processor takes care about Cache Coherency in-memory database on multicore
  • 4. A Partitioned Database Engine Architecture  Partitioned Database as Primary Scalability Mechanism  Database is divided into multiple partitions each managed by a dedicated core  A partition is owner of its data and indexes  A centralized routing table is required to route transactions to partitions  Multi-partition transactions is executed by migrating transactions between cores  Partitioning may be static or dynamic  dynamic re-partitioning mechanism enables to load balance partition access  All partitions must reside in shared memory with Cache Coherency enabled in-memory database on multicore
  • 5. Problem: Cache Coherency Limits Scalability  Cache Coherency Mechanism (CCM) limits processor scalability  Cache Coherency of thousand cores is not feasible  Problem: How can a DBMS engine scale in the presence of non-coherent hardware islands ? Hardware Island with CCM Hardware Island with CCM CCM in-memory database on multicore
  • 6. In-memory Database on Thousand cores The paper: Staring Into The Abyss: An Evaluation Of Concurrency Control With One Thousand Cores concludes with the following observation  Software-hardware co-design is the only solution to address the performance issues resulting from high core count. For certain functionalities, specialized hardware can significantly improve performance while reducing power consumption  The next slides provides some design guidelines in-memory database on multicore
  • 7. System Design Principles  Avoid many of the centralized critical sections present in classic database engines (see next slide)  Be sensitive to the cost of Cache Coherency (CC) Do you really need CC enabled on all cores?  Leveraging hardware message passing for efficient thread synchronization (inter-core communication); example the TILE-Gx processor family in-memory database on multicore
  • 8. Avoid Centralized Critical Sections  Avoid centralized contention points and make all synchronization scale with the data, allowing larger databases to support more concurrency.  Use lightweight locking mechanism and eliminate the bottleneck of a centralized lock manager, by co- locating locks with each DB record  Use optimistic based concurrency control possibly combined with multi-version mechanism  Use transaction’s local memory - private workspace - to cache its write-set and avoid installing writes until commit time in-memory database on multicore