Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.programming.threads > #2189 > unrolled thread
| Started by | aminer <aminer@toto.net> |
|---|---|
| First post | 2014-04-18 22:13 -0700 |
| Last post | 2014-04-18 22:13 -0700 |
| Articles | 1 — 1 participant |
Back to article view | Back to comp.programming.threads
Concurrent FIFO queue version 2.0 aminer <aminer@toto.net> - 2014-04-18 22:13 -0700
| From | aminer <aminer@toto.net> |
|---|---|
| Date | 2014-04-18 22:13 -0700 |
| Subject | Concurrent FIFO queue version 2.0 |
| Message-ID | <lism2s$er3$1@news.albasani.net> |
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 propotional 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 top | Article view | comp.programming.threads
csiph-web