Cache Hierarchy-Aware Query Mapping on Emerging Multicore Architectures
- 2 September 2016
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Computers
- Vol. 66 (3) , 403-415
Abstract
One of the important characteristics of emerging multicores/manycores is the existence of “shared on-chip caches,” through which different threads/processes can share data (help each other) or displace each other's data (hurt each other). Most of current commercial multicore systems on the market have on-chip cache hierarchies with multiple layers (typically, in the form of L1, L2 and L3, the last two being either fully or partially shared). In the context of database workloads, exploiting full potential of these caches can be critical. Motivated by this observation, our main contribution in this work is to present and experimentally evaluate a cache hierarchy-aware query mapping scheme targeting workloads that consist of batch queries to be executed on emerging multicores. Our proposed scheme distributes a given batch of queries across the cores of a target multicore architecture based on the affinity relations among the queries. The primary goal behind this scheme is to maximize the utilization of the underlying on-chip cache hierarchy while keeping the load nearly balanced across domain affinities. Each domain affinity in this context corresponds to a cache structure bounded by a particular level of the cache hierarchy. A graph partitioning-based method is employed to distribute queries across cores, and an integer linear programming (ILP) formulation is used to address locality and load balancing concerns. We evaluate our scheme using the TPC-H benchmarks on an Intel Xeon based multicore. Our solution achieves up to 25 percent improvement in individual query execution times and 15-19 percent improvement in throughput over the default Linux-based process scheduler.Keywords
Funding Information
- IEEE International Symposium on Workload Characterization (IISWC)
This publication has 20 references indexed in Scilit:
- A cache topology-aware multi-query scheduler for multicore architectures2014
- Scalability and Efficiency of Database Queries on Future Many-Core Systems2013
- Massively parallel sort-merge joins in main memory multi-core database systemsProceedings of the VLDB Endowment, 2012
- Optimizing read convoys in main-memory query processing2010
- Cache-conscious buffering for database operators with state2009
- Comparison of Coarsening Schemes for Multilevel Graph PartitioningLecture Notes in Computer Science, 2009
- Hash Join Optimization Based on Shared Cache Chip Multi-processorLecture Notes in Computer Science, 2009
- Coordinated management of multiple interacting resources in chip multiprocessors: A machine learning approach2008
- Main-memory scan sharing for multi-core CPUsProceedings of the VLDB Endowment, 2008
- Analysis of affinity based routing in multi-system data sharingPerformance Evaluation, 1987