کد مقاله کد نشریه سال انتشار مقاله انگلیسی نسخه تمام متن
432639 689003 2016 10 صفحه PDF دانلود رایگان
عنوان انگلیسی مقاله ISI
Fair synchronization
ترجمه فارسی عنوان
هماهنگی منصفانه
کلمات کلیدی
هماهنگ سازی، عادلانه، ساختار داده های همزمان، غیر مسدود کردن منتظر آزادی قفل طرد متقابل
موضوعات مرتبط
مهندسی و علوم پایه مهندسی کامپیوتر نظریه محاسباتی و ریاضیات
چکیده انگلیسی


• We define a new important synchronization problem–called fair synchronization–for concurrent programming.
• We present the first fair synchronization algorithm for nn processes.
• We define the notion of a fair data structure and show how to implement such data structures.
• We prove that by composing a fair synchronization algorithm and an unfair lock, it is possible to construct a fair lock.
• We show that n−1n−1 registers and conditional objects are necessary for solving the fair synchronization problem for nn processes.

Most published concurrent data structures which avoid locking do not provide any fairness guarantees. That is, they allow processes to access a data structure and complete their operations arbitrarily many times before some other trying process can complete a single operation. Such a behavior can be prevented by enforcing fairness. However, fairness requires waiting or helping. Helping techniques are often complex and memory consuming. Furthermore, it is known that it is not possible to automatically transform every data structure, which has a non-blocking implementation, into the corresponding data structure which in addition satisfies a very weak fairness requirement. Does it mean that for enforcing fairness it is best to use locks? The answer is negative.We show that it is possible to automatically transfer any non-blocking or wait-free data structure into a similar data structure which satisfies a strong fairness requirement, without using locks and with limited waiting. The fairness we require is that no process can initiate and complete two operations on a given resource while some other process is kept waiting on the same resource. Our approach allows as many processes as possible to access a shared resource at the same time as long as fairness is preserved. To achieve this goal, we introduce and solve a new synchronization problem, called fair synchronization. Solving the new problem enables us to add fairness to existing implementations of concurrent data structures, and to transform any solution to the mutual exclusion problem into a fair solution.

ناشر
Database: Elsevier - ScienceDirect (ساینس دایرکت)
Journal: Journal of Parallel and Distributed Computing - Volume 97, November 2016, Pages 1–10
نویسندگان
,