OATAO - Open Archive Toulouse Archive Ouverte Open Access Week

The lock holder and the lock waiter pre-emption problems: nip them in the bud using informed spinlocks (I-Spinlocks)

Djomgwe Teabe, Boris and Nitu, Vlad-Tiberiu and Tchana, Alain-Bouzaïde and Hagimont, Daniel The lock holder and the lock waiter pre-emption problems: nip them in the bud using informed spinlocks (I-Spinlocks). (2017) In: European Conference on Computer Systems (EuroSys 2017), 23 April 2017 - 26 April 2017 (Belgrade, Serbia).

(Document in English)

PDF (Author's version) - Requires a PDF viewer such as GSview, Xpdf or Adobe Acrobat Reader

Official URL: https://doi.org/10.1145/3064176.3064180


In native Linux systems, spinlock's implementation relies on the assumption that both the lock holder thread and lock waiter threads cannot be preempted. However, in a virtualized environment, these threads are scheduled on top of virtual CPUs (vCPU) that can be preempted by the hypervisor at any time, thus forcing lock waiter threads on other vCPUs to busy wait and to waste CPU cycles. This leads to the well-known Lock Holder Preemption (LHP) and Lock Waiter Preemption (LWP) issues. In this paper, we propose I-Spinlock (for Informed Spinlock), a new spinlock implementation for virtualized environments. Its main principle is to only allow a thread to acquire a lock if and only if the remaining time-slice of its vCPU is sufficient to enter and leave the critical section. This is possible if the spinlock primitive is aware (informed) of its time-to-preemption (by the hypervisor). We implemented I-Spinlock in the Xen virtualization system. We show that our solution is compliant with both para-virtual and hardware virtualization modes. We performed extensive performance evaluations with various reference benchmarks and compared our solution to previous solutions. The evaluations demonstrate that I-Spinlock outperforms other solutions, and more significantly when the number of core increases.

Item Type:Conference or Workshop Item (Paper)
Additional Information:Thanks to ACM, Association for Computing Machinery. The definitive version is available at http://dl.acm.org This papers appears in EuroSys '17: Proceedings of the Twelfth European Conference on Computer Systems ISBN: 978-1-4503-4938-3. The original PDF is available at: https://dl.acm.org/doi/10.1145/3064176.3064180
HAL Id:hal-02604135
Audience (conference):International conference proceedings
Uncontrolled Keywords:
Institution:Université de Toulouse > Institut National Polytechnique de Toulouse - Toulouse INP (FRANCE)
French research institutions > Centre National de la Recherche Scientifique - CNRS (FRANCE)
Université de Toulouse > Université Toulouse III - Paul Sabatier - UT3 (FRANCE)
Université de Toulouse > Université Toulouse - Jean Jaurès - UT2J (FRANCE)
Université de Toulouse > Université Toulouse 1 Capitole - UT1 (FRANCE)
Laboratory name:
Deposited On:24 Apr 2020 14:06

Repository Staff Only: item control page