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 a...
A priori, locking seems easy: To protect shared data from concurrent accesses, it is sufficient to l...
Blocking locks are commonly used in parallel programs to improve application performance and system...
Various approaches can be utilized upon resource locking for mutually exclusive resource access in m...
Link to published version: http://portal.acm.org/ft_gateway.cfm?id=379566&type=pdf&coll=portal&dl=AC...
Queue-based spinlocks allow programs with busy-wait synchronization to scale to very large multiproc...
Queue-based spin locks allow programs with busy-wait synchronization to scale to very large multipro...
Queue-based spin locks allow programs with busy-wait syn-chronization to scale to very large multipr...
Synchronization primitives for large scale multiprocessors need to provide low latency and low conte...
Spin locks are a synchronization mechanisms used to provide mutual exclusion to shared software reso...
Predictable interprocessor synchronization and fast interrupt response are important for real-time s...
Multi-core processors have long been available, yet harnessing their full computing potential remain...
Summary In this article, we present mutable locks, a synchronization construct with the same semanti...
Multi-core processors have long been available, yet harnessing their full computing potential remain...
International audienceWe present in this paper a new lock-based resource sharing protocol PWLP (Pree...
Busy-wait techniques are heavily used for mutual exclusion and barrier synchronization in shared-mem...
A priori, locking seems easy: To protect shared data from concurrent accesses, it is sufficient to l...
Blocking locks are commonly used in parallel programs to improve application performance and system...
Various approaches can be utilized upon resource locking for mutually exclusive resource access in m...
Link to published version: http://portal.acm.org/ft_gateway.cfm?id=379566&type=pdf&coll=portal&dl=AC...
Queue-based spinlocks allow programs with busy-wait synchronization to scale to very large multiproc...
Queue-based spin locks allow programs with busy-wait synchronization to scale to very large multipro...
Queue-based spin locks allow programs with busy-wait syn-chronization to scale to very large multipr...
Synchronization primitives for large scale multiprocessors need to provide low latency and low conte...
Spin locks are a synchronization mechanisms used to provide mutual exclusion to shared software reso...
Predictable interprocessor synchronization and fast interrupt response are important for real-time s...
Multi-core processors have long been available, yet harnessing their full computing potential remain...
Summary In this article, we present mutable locks, a synchronization construct with the same semanti...
Multi-core processors have long been available, yet harnessing their full computing potential remain...
International audienceWe present in this paper a new lock-based resource sharing protocol PWLP (Pree...
Busy-wait techniques are heavily used for mutual exclusion and barrier synchronization in shared-mem...
A priori, locking seems easy: To protect shared data from concurrent accesses, it is sufficient to l...
Blocking locks are commonly used in parallel programs to improve application performance and system...
Various approaches can be utilized upon resource locking for mutually exclusive resource access in m...