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...