Load Balancing for Parallel Query Execution on NUMA Multiprocessors

  • Authors:
  • Luc Bouganim;Daniela Florescu;Patrick Valduriez

  • Affiliations:
  • INRIA Rocquencourt, France. E-mail: luc.bouganim@inria.fr;INRIA Rocquencourt, France. E-mail: daniela.florescu@inria.fr;INRIA Rocquencourt, France. E-mail: patrick.valduriez@inria.fr

  • Venue:
  • Distributed and Parallel Databases
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

To scale up to high-end configurations,shared-memory multiprocessors are evolvingtowards Non Uniform Memory Access (NUMA) architectures. In this paper,we address the central problem of load balancing during parallelquery execution in NUMA multiprocessors. We first showthat an execution model for NUMA should not usedata partitioning (as shared-nothing systems do) but should strive to exploit efficient shared-memory strategies like SynchronousPipelining (SP). However, SP has problems in NUMA,especially with skewed data. Thus, we propose a newexecution strategy which solves theseproblems. The basic idea is to allowpartial materialization of intermediate results and to make them progressivlypublic, i.e., able to be processed by any processor, as needed to avoid processor idle times. Hence, we call thisstrategy Progressive Sharing (PS). We conducted a performance comparison using an implementation of SP and PSon a 72-processor KSR1 computer, with many queries and large relations. With no skew, SP and PS have both linear speed-up. However, theimpact of skew is very severe on SP performance while it isinsignificant on PS. Finally, we show that, in NUMA, PS canalso be beneficial in executing several pipelinechains concurrently.