Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.programming.threads > #2190

A concurrent FIFO Queue version 2.0

From aminer <aminer@toto.net>
Newsgroups comp.programming.threads, comp.programming
Subject A concurrent FIFO Queue version 2.0
Date 2014-04-18 22:21 -0700
Organization albasani.net
Message-ID <lismi0$er3$7@news.albasani.net> (permalink)

Cross-posted to 2 groups.

Show all headers | View raw


Hello...


A concurrent FIFO Queue version 2.0


Authors: Amine Moulay Ramdane.


Description:

A concurrent FIFO queue that satisfies many requirements: it is FIFO 
fair on the push() side and lockfree on the pop() side, it uses only an 
atomic increment on the push() side and a proportional backoff on the 
push() to optimize it more on the push() side and it uses a CAS on the 
pop() side , and it minimizes efficiently the cache-coherence traffic 
and it is energy efficient on the pop() side: when there is no items in 
the queue it will not spin-wait , but it will block and wait on my 
SemaMonitor, this concurrent FIFO queue is limited to 1000 threads on 
the push() side, if you want to higher that , just modify the "margin" 
constant in the source code. This concurrent FIFO queue  gives a 
throughput of 3.2 millions of transactions  on my 2.4 GHz Quadcore, 
that's cool and that's  a decent throughtput .

Please look more information here: Concurrent FIFO queue.

Please take a look a the test.pas Object Pascal demo inside the zipfile, 
compile and run it...


You can download my concurrent FIFO queue from:

http://pages.videotron.com/aminer/


Language: FPC Pascal v2.2.0+ / Delphi 7+: http://www.freepascal.org/

Operating Systems: Windows, Mac OSX , Linux , Unix...


Required FPC switches: -O3 -Sd -dFPC -dFreePascal

-Sd for delphi mode....

{$DEFINE CPU32} and {$DEFINE Windows32} for 32 bit systems

{$DEFINE CPU64} and {$DEFINE Windows64} for 64 bit systems



Thank you,
Amine Moulay Ramdane.

Back to comp.programming.threads | Previous | Next | Find similar | Unroll thread


Thread

A concurrent FIFO Queue version 2.0 aminer <aminer@toto.net> - 2014-04-18 22:21 -0700

csiph-web