Hoy nos centraremos en ver como diseñar un stack libre de lock o tambien conocido como stack lock-free. Espero les sea de utilidad y tengan un buen finde!
seen from Japan
seen from South Korea
seen from Japan

seen from Malaysia
seen from China
seen from China

seen from China
seen from United States
seen from China
seen from Australia
seen from China
seen from Russia
seen from China

seen from United States

seen from United States
seen from Germany

seen from United States
seen from China
seen from United States
seen from United States
Hoy nos centraremos en ver como diseñar un stack libre de lock o tambien conocido como stack lock-free. Espero les sea de utilidad y tengan un buen finde!
Awesome Lock-Free - A collection of resources on wait-free and lock-free programming.
liburcu is a library that implements RCU synchronization in user space. RCU is a synchronization technique very popular by being used at many places in the Linux kernel, where it provides a very simple API.
liburcu “provides read-side access which scales linearly with the number of cores. It does so by allowing multiples copies of a given data structure to live at the same time, and by monitoring the data structure accesses to detect grace periods after which memory reclamation is possible.”. liburcu also provides some lock-free data structures like queues, hash tables and double-linked lists...
Keir Fraser
University of Cambridge Technical Report 579
Mutual-exclusion locks are currently the most popular mechanism for interprocess synchronisation, largely due to their apparent simplicity and ease of implementation. In the parallel-computing environments that are increasingly commonplace in high-performance applications, this simplicity is deceptive: mutual exclusion does not scale well with large numbers of locks and many concurrent threads of execution. Highly-concurrent access to shared data demands a sophisticated ‘fine-grained’ locking strategy to avoid serialising non-conflicting operations. Such strategies are hard to design correctly and with good performance because they can harbour problems such as deadlock, priority inversion and convoying. Lock manipulations may also degrade the performance of cache-coherent multiprocessor systems by causing coherency conflicts and increased interconnect traffic, even when the lock protects read-only data.
In looking for solutions to these problems, interest has developed in lock-free data structures. By eschewing mutual exclusion it is hoped that more efficient and robust systems can be built. Unfortunately the current reality is that most lock-free algorithms are complex, slow and impractical. In this dissertation I address these concerns by introducing and evaluating practical abstractions and data structures that facilitate the development of large-scale lock-free systems.