Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.programming.threads > #2190
| 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.
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
A concurrent FIFO Queue version 2.0 aminer <aminer@toto.net> - 2014-04-18 22:21 -0700
csiph-web