Mutable Locks: Combining the Best of Spin and Sleep Locks

Romolo Marotta, Davide Tiriticco, Pierangelo Di Sanzo, Alessandro Pellegrini, Bruno Ciciani, and Francesco Quaglia



pdf Download PDF

Abstract:
In this article we present Mutable Locks, a synchronization construct with the same execution semantic of traditional locks (such as spin locks or sleep locks), but with a self-tuned optimized trade off between responsiveness—in the access to a just released critical section—and CPU-time usage during threads’ wait phases. It tackles the need for modern synchronization supports, in the era of multi-core machines, whose runtime behavior should be optimized along multiple dimensions (performance vs resource consumption) with no intervention by the application programmer. Our proposal is intended for exploitation in generic concurrent applications where scarce or none knowledge is available about the underlying software/hardware stack and the actual workload, an adverse scenario for static choices between spinning and sleeping faced by mutable locks just thanks to their hybrid waiting phases and self-tuning capabilities.

BibTeX Entry:

@techreport{Mar19b,
author = {Marotta, Romolo and Tiriticco, Davide and Di~Sanzo, Pierangelo and Pellegrini, Alessandro and Ciciani, Bruno and Quaglia, Francesco},
institution = {CoRR},
title = {Mutable Locks: Combining the Best of Spin and Sleep Locks},
year = {2019},
archiveprefix = {arXiv},
eprint = {1906.00490},
url = {http://arxiv.org/abs/1906.00490},
volume = {abs/1906.00490}
}