Title :
How to stop under-utilization and love multicores
Author :
Ailamaki, Anastasia ; Liarou, Erietta ; Tozun, Pinar ; Porobic, Danica ; Psaroudakis, Iraklis
Author_Institution :
Ecole Polytech. Fed. de Lausanne, Lausanne, Switzerland
Abstract :
Hardware trends oblige software to overcome three major challenges against systems scalability: (1) taking advantage of the implicit/vertical parallelism within a core that is enabled through the aggressive micro-architectural features, (2) exploiting the explicit/horizontal parallelism provided by multicores, and (3) achieving predictively efficient execution despite the variability in communication latencies among cores on multisocket multicores. In this three hour tutorial, we shed light on the above three challenges and survey recent proposals to alleviate them. The first part of the tutorial describes the instruction- and data-level parallelism opportunities in a core coming from the hardware and software side. In addition, it examines the sources of under-utilization in a modern processor and presents insights and hardware/software techniques to better exploit the micro-architectural resources of a processor by improving cache locality at the right level of the memory hierarchy. The second part focuses on the scalability bottlenecks of database applications at the level of multicore and multisocket multicore architectures. It first presents a systematic way of eliminating such bottlenecks in online transaction processing workloads, which is based on minimizing unbounded communication, and shows several techniques that minimize bottlenecks in major components of database management systems. Then, it demonstrates the data and work sharing opportunities for analytical workloads, and reviews advanced scheduling mechanisms that are aware of non-uniform memory accesses and alleviate bandwidth saturation.
Keywords :
multiprocessing systems; parallel processing; communication latencies; data level parallelism; database applications; database management systems; explicit-horizontal parallelism; hardware-software techniques; implicit-vertical parallelism; instruction level parallelism; memory hierarchy; microarchitectural features; microarchitectural resources; multicores; multisocket multicore architectures; multisocket multicores; online transaction processing workloads; systems scalability; Database systems; Hardware; Multicore processing; Parallel processing; Scalability; Tutorials;
Conference_Titel :
Data Engineering (ICDE), 2015 IEEE 31st International Conference on
Conference_Location :
Seoul
DOI :
10.1109/ICDE.2015.7113419