| | |
Summary: The Cost of Privatization
Hagit Attiya1,2
and Eshcar Hillel1
1
Department of Computer Science, Technion
2
Ecole Polytechnique Federale de Lausanne (EPFL)
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 support-
ing privatization. Privatization should be provided without sacrificing the paral-
lelism 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 privatiz-
ing 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 loca-
tions must be accessed by a privatizing transaction, where k is the minimum
between the number of privatized items and the number of concurrent transac-
|