• DocumentCode
    710173
  • 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
  • fYear
    2015
  • fDate
    13-17 April 2015
  • Firstpage
    1530
  • Lastpage
    1533
  • 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;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Data Engineering (ICDE), 2015 IEEE 31st International Conference on
  • Conference_Location
    Seoul
  • Type

    conf

  • DOI
    10.1109/ICDE.2015.7113419
  • Filename
    7113419