Repository logo

Infoscience

  • English
  • French
Log In
Logo EPFL, École polytechnique fédérale de Lausanne

Infoscience

  • English
  • French
Log In
  1. Home
  2. Academic and Research Output
  3. EPFL thesis
  4. Improving Main-memory Database System Performance through Cooperative Multitasking
 
doctoral thesis

Improving Main-memory Database System Performance through Cooperative Multitasking

Psaropoulos, Georgios  
2019

Database systems access memory either sequentially or randomly. Contrary to sequential access and despite the extensive efforts of computer architects, compiler writers, and system builders, random access to data larger than the processor cache has been synonymous to inefficient execution. Especially in the big data era, data processing is memory bound, and accesses to DRAM and non-volatile memory each take several tens or hundreds of nanoseconds respectively, posing a great challenge to current processors. Due to the mismatch between the way humans write code and the way processors execute this code, workload execution stalls on main memory access, instead of executing the other parallel work that typically exists in big data workloads.

This thesis establishes cooperative multitasking as the principal way to hide memory latency in operations that consist of parallel tasks. We first systematize cooperative multitasking presenting an analogue of Amdahl's law for latency hiding. More importantly, we then introduce interleaving with coroutines, a general-purpose and practical technique to interleave the execution of parallel tasks within one thread interleaved execution and thereby hide memory access. This form of cooperative multitasking enables significant performance improvements for analytical and transactional use cases that suffer from unavoidable memory accesses, such as index joins and tuple reconstruction, as well as concurrent GET and PUT operations in key-value stores. Given enough parallel work, sufficient hardware support for concurrent memory accesses, and a low-overhead mechanism to switch between tasks, interleaved execution renders important database operations oblivious to memory latency and makes their execution behave as if all accessed data resides in the processor cache.

  • Files
  • Details
  • Metrics
Type
doctoral thesis
DOI
10.5075/epfl-thesis-9712
Author(s)
Psaropoulos, Georgios  
Advisors
Ailamaki, Anastasia  
Jury

Prof. Aikaterini Argyraki (présidente) ; professeure Anastasia Ailamaki (directeur de thèse) ; Prof. James Larus, Prof. Jens Teubner, Dr Thomas Willhalm (rapporteurs)

Date Issued

2019

Publisher

EPFL

Publisher place

Lausanne

Public defense year

2019-10-25

Thesis number

9712

Total of pages

96

Subjects

Main memory databases

•

random memory access

•

pointer chasing

•

memory latency

•

data cache miss

•

memory stalls

•

cooperative multitasking

•

interleaved execution

•

coroutines

•

C++ coroutines

EPFL units
DIAS  
Faculty
IC  
School
IINFCOM  
Doctoral School
EDIC  
Available on Infoscience
October 23, 2019
Use this identifier to reference this record
https://infoscience.epfl.ch/handle/20.500.14299/162252
Logo EPFL, École polytechnique fédérale de Lausanne
  • Contact
  • infoscience@epfl.ch

  • Follow us on Facebook
  • Follow us on Instagram
  • Follow us on LinkedIn
  • Follow us on X
  • Follow us on Youtube
AccessibilityLegal noticePrivacy policyCookie settingsEnd User AgreementGet helpFeedback

Infoscience is a service managed and provided by the Library and IT Services of EPFL. © EPFL, tous droits réservés