Lockfree bounded LIFO stack and FIFO queue
Lockfree bounded LIFO stack and FIFO queue
Description:
A fast Lockfree FIFO queue and a fast Lockfree LIFO Stack, they are bounded, the Lockfree FIFO queue was corrected and enhanced by Amine Moulay Ramdane.
Read the following paper:
https://arxiv.org/pdf/1311.3200.pdf
This paper suggests a simple solution to this problem. We show that, for a large class of lock- free algorithms, under scheduling conditions which approximate those found in commercial hardware architectures, lock-free algorithms behave as if they are wait-free. In other words, programmers can keep on designing simple lock-free algorithms instead of complex wait-free ones, and in practice, they will get wait-free progress. It says on the Analysis of the Class SCU(q, s):
"Given an algorithm in SCU(q, s) on k correct processes under a uniform stochastic scheduler, the system latency is O(q + s*sqrt(k), and the individual latency is O(k(q + s*sqrt(k))."
So i think lockfree algorithms are very interesting to work with.
The size of the queue must be passed to the constructor and it must be the power of 2.
Language: FPC Pascal v2.2.0+ / Delphi 7+: http://www.freepascal.org/
Operating Systems: Windows, Mac OSX , Linux on (x86)...
Required FPC switches: -O3 -Sd
-Sd for delphi mode....
Required Delphi switches: -$H+
{$DEFINE CPU32} and {$DEFINE Windows32} for 32 bit systems
{$DEFINE CPU64} and {$DEFINE Windows64} for 64 bit systems
Please click on the small arrow on the right of the zip file bellow to download...