SlideShare a Scribd company logo
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

What's hot

Swap space management and protection in os
Swap space management and protection  in osSwap space management and protection  in os
Swap space management and protection in os
rajshreemuthiah
 
MySQL Architecture and Engine
MySQL Architecture and EngineMySQL Architecture and Engine
MySQL Architecture and EngineAbdul Manaf
 
ملٹی لیول کے شے۔
ملٹی لیول کے شے۔ملٹی لیول کے شے۔
ملٹی لیول کے شے۔
maamir farooq
 
Os
OsOs
MySQL Replication Basics
MySQL Replication BasicsMySQL Replication Basics
MySQL Replication BasicsAbdul Manaf
 
Bladeservertechnology 111018061151-phpapp02
Bladeservertechnology 111018061151-phpapp02Bladeservertechnology 111018061151-phpapp02
Bladeservertechnology 111018061151-phpapp02
gov1991
 
Architecture Of Large Scale Websites
Architecture Of Large Scale WebsitesArchitecture Of Large Scale Websites
Architecture Of Large Scale Websites
Feng Yu
 
IMC Summit 2016 Breakout - Pandurang Naik - Demystifying In-Memory Data Grid,...
IMC Summit 2016 Breakout - Pandurang Naik - Demystifying In-Memory Data Grid,...IMC Summit 2016 Breakout - Pandurang Naik - Demystifying In-Memory Data Grid,...
IMC Summit 2016 Breakout - Pandurang Naik - Demystifying In-Memory Data Grid,...
In-Memory Computing Summit
 
blade server
blade serverblade server
blade server
Ameena Aiman
 
Memory Hierarchy Design, Basics, Cache Optimization, Address Translation
Memory Hierarchy Design, Basics, Cache Optimization, Address TranslationMemory Hierarchy Design, Basics, Cache Optimization, Address Translation
Memory Hierarchy Design, Basics, Cache Optimization, Address Translation
Farwa Ansari
 
MySQL Storage Engines
MySQL Storage EnginesMySQL Storage Engines
MySQL Storage EnginesKarthik .P.R
 
Database storage engines
Database storage enginesDatabase storage engines
Database storage engines
University of Sindh, Jamshoro
 
A Comparison of IBM’s New Flex System Environment to Traditional Blade Archit...
A Comparison of IBM’s New Flex System Environment to Traditional Blade Archit...A Comparison of IBM’s New Flex System Environment to Traditional Blade Archit...
A Comparison of IBM’s New Flex System Environment to Traditional Blade Archit...
IBM India Smarter Computing
 
Understanding das-nas-san
Understanding das-nas-sanUnderstanding das-nas-san
Understanding das-nas-san
Ashwin Pawar
 
IBM Blade server
IBM Blade serverIBM Blade server
IBM Blade server
mansirajpara
 
Random Access memory.
Random Access memory.Random Access memory.
Random Access memory.
RafiulIslam58
 
What'sNnew in 3.0 Webinar
What'sNnew in 3.0 WebinarWhat'sNnew in 3.0 Webinar
What'sNnew in 3.0 Webinar
MongoDB
 
[Altibase] 1-2 disk dbms
[Altibase] 1-2 disk dbms[Altibase] 1-2 disk dbms
[Altibase] 1-2 disk dbms
altistory
 
Gpfs introandsetup
Gpfs introandsetupGpfs introandsetup
Gpfs introandsetup
asihan
 

What's hot (20)

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

Viewers also liked

Diapositiva
DiapositivaDiapositiva
Diapositiva
Sol Reboledo
 
Student 3 response (c grade)
Student 3 response (c grade)Student 3 response (c grade)
Student 3 response (c grade)Libby Mc Innes
 
Updated 'my time at fulham fc'
Updated 'my time at fulham fc'Updated 'my time at fulham fc'
Updated 'my time at fulham fc'Harry Hancock
 
Herramientas informatica
Herramientas informaticaHerramientas informatica
Herramientas informatica
Ana Araujo
 
Apr ws viagens_lit_carapinheira16mar
Apr ws viagens_lit_carapinheira16marApr ws viagens_lit_carapinheira16mar
Apr ws viagens_lit_carapinheira16mar
Teresa Pombo
 
Topic 7 and_8_modifier_placement_-
Topic 7 and_8_modifier_placement_-Topic 7 and_8_modifier_placement_-
Topic 7 and_8_modifier_placement_-
Estefania España
 
2016 jan-pugs-meetup-v9.5-features
2016 jan-pugs-meetup-v9.5-features2016 jan-pugs-meetup-v9.5-features
2016 jan-pugs-meetup-v9.5-features
Sameer Kumar
 
Adding comments in ms word
Adding comments in ms wordAdding comments in ms word
Adding comments in ms word
Harshal Gunwant
 
Atividades de Natal nas Bibliotecas Martim de Freitas
Atividades de Natal nas Bibliotecas Martim de FreitasAtividades de Natal nas Bibliotecas Martim de Freitas
Atividades de Natal nas Bibliotecas Martim de Freitas
Olga Francisco
 

Viewers also liked (12)

Diapositiva
DiapositivaDiapositiva
Diapositiva
 
Exposision 1
Exposision 1Exposision 1
Exposision 1
 
Student 3 response (c grade)
Student 3 response (c grade)Student 3 response (c grade)
Student 3 response (c grade)
 
Updated 'my time at fulham fc'
Updated 'my time at fulham fc'Updated 'my time at fulham fc'
Updated 'my time at fulham fc'
 
Herramientas informatica
Herramientas informaticaHerramientas informatica
Herramientas informatica
 
Actividades
ActividadesActividades
Actividades
 
DURS poster
DURS posterDURS poster
DURS poster
 
Apr ws viagens_lit_carapinheira16mar
Apr ws viagens_lit_carapinheira16marApr ws viagens_lit_carapinheira16mar
Apr ws viagens_lit_carapinheira16mar
 
Topic 7 and_8_modifier_placement_-
Topic 7 and_8_modifier_placement_-Topic 7 and_8_modifier_placement_-
Topic 7 and_8_modifier_placement_-
 
2016 jan-pugs-meetup-v9.5-features
2016 jan-pugs-meetup-v9.5-features2016 jan-pugs-meetup-v9.5-features
2016 jan-pugs-meetup-v9.5-features
 
Adding comments in ms word
Adding comments in ms wordAdding comments in ms word
Adding comments in ms word
 
Atividades de Natal nas Bibliotecas Martim de Freitas
Atividades de Natal nas Bibliotecas Martim de FreitasAtividades de Natal nas Bibliotecas Martim de Freitas
Atividades de Natal nas Bibliotecas Martim de Freitas
 

Similar to IMDB_Scalability

MonetDB :column-store approach in database
MonetDB :column-store approach in databaseMonetDB :column-store approach in database
MonetDB :column-store approach in database
Nikhil Patteri
 
Multicore Computers
Multicore ComputersMulticore Computers
Multicore Computers
A B Shinde
 
Mysql wp memcached
Mysql wp memcachedMysql wp memcached
Mysql wp memcachedkbour23
 
No sql presentation
No sql presentationNo sql presentation
No sql presentation
Saifuddin Kaijar
 
Big Data Glossary of terms
Big Data Glossary of termsBig Data Glossary of terms
Big Data Glossary of terms
Kognitio
 
Cache memory
Cache memoryCache memory
Cache memory
Eklavya Gupta
 
Study of various factors affecting performance of multi core processors
Study of various factors affecting performance of multi core processorsStudy of various factors affecting performance of multi core processors
Study of various factors affecting performance of multi core processors
ateeq ateeq
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentIJERD Editor
 
Multi-Core on Chip Architecture *doc - IK
Multi-Core on Chip Architecture *doc - IKMulti-Core on Chip Architecture *doc - IK
Multi-Core on Chip Architecture *doc - IK
Ilgın Kavaklıoğulları
 
Q1 Memory Fabric Forum: Intel Enabling Compute Express Link (CXL)
Q1 Memory Fabric Forum: Intel Enabling Compute Express Link (CXL)Q1 Memory Fabric Forum: Intel Enabling Compute Express Link (CXL)
Q1 Memory Fabric Forum: Intel Enabling Compute Express Link (CXL)
Memory Fabric Forum
 
Q1 Memory Fabric Forum: Memory expansion with CXL-Ready Systems and Devices
Q1 Memory Fabric Forum: Memory expansion with CXL-Ready Systems and DevicesQ1 Memory Fabric Forum: Memory expansion with CXL-Ready Systems and Devices
Q1 Memory Fabric Forum: Memory expansion with CXL-Ready Systems and Devices
Memory Fabric Forum
 
Multicore processor by Ankit Raj and Akash Prajapati
Multicore processor by Ankit Raj and Akash PrajapatiMulticore processor by Ankit Raj and Akash Prajapati
Multicore processor by Ankit Raj and Akash Prajapati
Ankit Raj
 
Cluster Computers
Cluster ComputersCluster Computers
Cluster Computers
shopnil786
 
Challenges in Managing IT Infrastructure
Challenges in Managing IT InfrastructureChallenges in Managing IT Infrastructure
How to choose a server for your data center's needs
How to choose a server for your data center's needsHow to choose a server for your data center's needs
How to choose a server for your data center's needs
IT Tech
 
in-memory database system and low latency
in-memory database system and low latencyin-memory database system and low latency
in-memory database system and low latency
hyeongchae lee
 
Persistence of memory: In-memory Is Not Often the Answer
Persistence of memory: In-memory Is Not Often the AnswerPersistence of memory: In-memory Is Not Often the Answer
Persistence of memory: In-memory Is Not Often the Answer
Neil Raden
 
Future prediction-ds
Future prediction-dsFuture prediction-ds
Future prediction-ds
Muhammad Umar Farooq
 
An efficient multi-level cache system for geometrically interconnected many-...
An efficient multi-level cache system for geometrically  interconnected many-...An efficient multi-level cache system for geometrically  interconnected many-...
An efficient multi-level cache system for geometrically interconnected many-...
International Journal of Reconfigurable and Embedded Systems
 

Similar to IMDB_Scalability (20)

MonetDB :column-store approach in database
MonetDB :column-store approach in databaseMonetDB :column-store approach in database
MonetDB :column-store approach in database
 
Multicore Computers
Multicore ComputersMulticore Computers
Multicore Computers
 
Mysql wp memcached
Mysql wp memcachedMysql wp memcached
Mysql wp memcached
 
No sql presentation
No sql presentationNo sql presentation
No sql presentation
 
Big Data Glossary of terms
Big Data Glossary of termsBig Data Glossary of terms
Big Data Glossary of terms
 
Cache memory
Cache memoryCache memory
Cache memory
 
Study of various factors affecting performance of multi core processors
Study of various factors affecting performance of multi core processorsStudy of various factors affecting performance of multi core processors
Study of various factors affecting performance of multi core processors
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and Development
 
Multi-Core on Chip Architecture *doc - IK
Multi-Core on Chip Architecture *doc - IKMulti-Core on Chip Architecture *doc - IK
Multi-Core on Chip Architecture *doc - IK
 
Q1 Memory Fabric Forum: Intel Enabling Compute Express Link (CXL)
Q1 Memory Fabric Forum: Intel Enabling Compute Express Link (CXL)Q1 Memory Fabric Forum: Intel Enabling Compute Express Link (CXL)
Q1 Memory Fabric Forum: Intel Enabling Compute Express Link (CXL)
 
Q1 Memory Fabric Forum: Memory expansion with CXL-Ready Systems and Devices
Q1 Memory Fabric Forum: Memory expansion with CXL-Ready Systems and DevicesQ1 Memory Fabric Forum: Memory expansion with CXL-Ready Systems and Devices
Q1 Memory Fabric Forum: Memory expansion with CXL-Ready Systems and Devices
 
Multicore processor by Ankit Raj and Akash Prajapati
Multicore processor by Ankit Raj and Akash PrajapatiMulticore processor by Ankit Raj and Akash Prajapati
Multicore processor by Ankit Raj and Akash Prajapati
 
Cluster Computers
Cluster ComputersCluster Computers
Cluster Computers
 
Mysql wp memcached
Mysql wp memcachedMysql wp memcached
Mysql wp memcached
 
Challenges in Managing IT Infrastructure
Challenges in Managing IT InfrastructureChallenges in Managing IT Infrastructure
Challenges in Managing IT Infrastructure
 
How to choose a server for your data center's needs
How to choose a server for your data center's needsHow to choose a server for your data center's needs
How to choose a server for your data center's needs
 
in-memory database system and low latency
in-memory database system and low latencyin-memory database system and low latency
in-memory database system and low latency
 
Persistence of memory: In-memory Is Not Often the Answer
Persistence of memory: In-memory Is Not Often the AnswerPersistence of memory: In-memory Is Not Often the Answer
Persistence of memory: In-memory Is Not Often the Answer
 
Future prediction-ds
Future prediction-dsFuture prediction-ds
Future prediction-ds
 
An efficient multi-level cache system for geometrically interconnected many-...
An efficient multi-level cache system for geometrically  interconnected many-...An efficient multi-level cache system for geometrically  interconnected many-...
An efficient multi-level cache system for geometrically interconnected many-...
 

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