Performance, scalability, and semantics of concurrent FIFO queues

  • Authors:
  • Christoph M. Kirsch;Hannes Payer;Harald Röck;Ana Sokolova

  • Affiliations:
  • Department of Computer Sciences, University of Salzburg, Austria;Department of Computer Sciences, University of Salzburg, Austria;Department of Computer Sciences, University of Salzburg, Austria;Department of Computer Sciences, University of Salzburg, Austria

  • Venue:
  • ICA3PP'12 Proceedings of the 12th international conference on Algorithms and Architectures for Parallel Processing - Volume Part I
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

We introduce the notion of a k-FIFO queue which may dequeue elements out of FIFO order up to a constant k≥0. Retrieving the oldest element from the queue may require up to k+1 dequeue operations (bounded lateness), which may return elements not younger than the k+1 oldest elements in the queue (bounded age) or nothing even if there are elements in the queue. A k-FIFO queue is starvation-free for finite k where k+1 is what we call the worst-case semantical deviation (WCSD) of the queue from a regular FIFO queue. The WCSD bounds the actual semantical deviation (ASD) of a k-FIFO queue from a regular FIFO queue when applied to a given workload. Intuitively, the ASD keeps track of the number of dequeue operations necessary to return oldest elements and the age of dequeued elements. We show that a number of existing concurrent algorithms implement k-FIFO queues whose WCSD are determined by configurable constants independent from any workload. We then introduce so-called Scal queues, which implement k-FIFO queues with generally larger, workload-dependent as well as unbounded WCSD. Since ASD cannot be obtained without prohibitive overhead we have developed a tool that computes lower bounds on ASD from time-stamped runs. Our micro- and macrobenchmarks on a state-of-the-art 40-core multiprocessor machine show that Scal queues, as an immediate consequence of their weaker WCSD, outperform and outscale existing implementations at the expense of moderately increased lower bounds on ASD.