The cost of privatization

  • Authors:
  • Hagit Attiya;Eshcar Hillel

  • Affiliations:
  • Department of Computer Science, Technion;Ecole Polytechnique Federale de Lausanne

  • Venue:
  • DISC'10 Proceedings of the 24th international conference on Distributed computing
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Software transactional memory (STM) guarantees that a transaction, consisting of a sequence of operations on the memory, appears to be executed atomically. In practice, it is important to be able to run transactions together with nontransactional legacy code accessing the same memory locations, by supporting privatization. Privatization should be provided without sacrificing the parallelism offered by today's multicore systems and multiprocessors. This paper proves an inherent cost for supporting privatization, which is linear in the number of privatized items. Specifically, we show that a transaction privatizing k items must have a data set of size at least k, in an STM with invisible reads, which is oblivious to different non-conflicting executions and guarantees progress in such executions. When reads are visible, it is shown that Ω(k) memory locations must be accessed by a privatizing transaction, where k is the minimum between the number of privatized items and the number of concurrent transactions guaranteed to make progresss, thus capturing the tradeoff between the cost of privatization and the parallelism offered by the STM.