Saturday, December 5, 2015

Digest for comp.programming.threads@googlegroups.com - 8 updates in 3 topics

bleachbot <bleachbot@httrack.com>: Dec 04 06:55PM +0100

bleachbot <bleachbot@httrack.com>: Dec 04 07:50PM +0100

bleachbot <bleachbot@httrack.com>: Dec 04 07:55PM +0100

bleachbot <bleachbot@httrack.com>: Dec 04 08:00PM +0100

Ramine <ramine@1.1>: Dec 04 01:50PM -0800

Hello,
 
A fast concurrent FIFO queue and a fast concurrent priority FIFO queue
using the two locks algorithm version 1.2.
 
I have benchmarked those concurrent FIFO queues and they have given
2.2 millions of transactions(push and pop) per second.
 
You can download them from:
 
https://sites.google.com/site/aminer68/concurrent-fifo-queue-2
 
 
Authors: Amine Moulay Ramdane
 
Email: aminer@videotron.ca
 
Description:
 
A fast concurrent FIFO queue and a fast concurrent priority FIFO queue
that satisfy many requirements: They are FIFO fair, they minimize
efficiently the cache-coherence traffic and they are energy efficient on
the pop() side when you set the wait parameter to true in the
constructor: when there is no items in the queue they will not spin-wait
, but they will block wait on my SemaMonitor.
 
Language: FPC Pascal v2.2.0+ / Delphi 7+: http://www.freepascal.org/
Operating Systems: Windows, Mac OSX , Linux...
 
Required FPC switches: -O3 -Sd -dFPC -dFreePascal
 
-Sd for delphi mode....
 
Required Delphi switches: -$H+ -DDelphi
 
For Delphi XE-XE7 use the -DXE switch
 
{$DEFINE CPU32} and {$DEFINE Windows32} for 32 bit systems
 
{$DEFINE CPU64} and {$DEFINE Windows64} for 64 bit systems
 
 
Thank you,
Amine Moulay Ramdane.
Ramine <ramine@1.1>: Dec 04 01:56PM -0800

I wrote:
> I have benchmarked those concurrent FIFO queues and they have given
> 2.2 millions of transactions(push and pop) per second.
 
 
They haves given 2.2 millions of of transactions(push and pop) per
second using my blocking and FIFO fair SemaMonitor, that's also fast.
 
 
Thank you,
Amine Mopulay Ramdane.
 
 
On 12/4/2015 1:50 PM, Ramine wrote:
Ramine <ramine@1.1>: Dec 04 02:01PM -0800

On 12/4/2015 1:56 PM, Ramine wrote:
> > 2.2 millions of transactions(push and pop) per second.
 
> They haves given 2.2 millions of of transactions(push and pop) per
> second using my blocking and FIFO fair SemaMonitor, that's also fast.
 
 
That's on a x86 Quadcore at 2.6 GHz.
 
 
Ramine <ramine@1.1>: Dec 04 12:58PM -0800

Hello,
 
 
A fast concurrent FIFO Queue and a fast concurrent priority FIFO Queue
version 1.2
 
You can download it from:
 
https://sites.google.com/site/aminer68/concurrent-fifo-queue-1
 
 
Author: Based on Dmitry Vyukov concurrent FIFO queue
 
Email: aminer@videotron.ca
 
Description:
 
Description: A fast concurrent FIFO queue and a fast concurrent priority
FIFO queue that satisfy many requirements: they have more parallelism
than the two locks algorithm, they are waitfree and starvation-free and
FIFO fair on the push() side and they are FIFO fair on the pop(), and
they minimizes efficiently the cache-coherence traffic and they are
energy efficient on the pop() side when you set the wait parameter to
true in the construtor: when there is no items in the queue they will
not spin-wait , but they will block wait on my SemaMonitor, and when the
wait parameter of the constructor is set to false they uses only an
atomic increment on the push() side and a CAS and a lock on the pop()
side, so they are fast, those concurrent FIFO queues are more scalable.
 
You have 5 options for setting the kind of locks, just look inside
defines.inc , if you want to set it for the Mutex that is energy
efficient because it blocks the threads, uncomment the option Mutex,if
you want to set it for my scalable array based lock called AMLock just
uncomment the option AMLock inside defines.inc, if you want to set it
for my scalable lock called MLock just uncomment the option MLock inside
defines.inc, if you want to set it for Ticket Spinlock just uncomment
the option TicketSpinlock ,If you want to set it for Spinlock just
uncomment the option Spinlock.
 
 
 
Language: FPC Pascal v2.2.0+ / Delphi 7+: http://www.freepascal.org/
 
Operating Systems: Windows, Mac OSX , Linux...
 
Required FPC switches: -O3 -Sd -dFPC -dFreePascal
 
-Sd for delphi mode....
 
Required Delphi switches: -$H+ -DDelphi
 
For Delphi XE-XE7 use the -DXE switch
 
{$DEFINE CPU32} and {$DEFINE Windows32} for 32 bit systems
 
{$DEFINE CPU64} and {$DEFINE Windows64} for 64 bit systems
 
 
 
Thank you,
Amine Moulay Ramdane.
You received this digest because you're subscribed to updates for this group. You can change your settings on the group membership page.
To unsubscribe from this group and stop receiving emails from it send an email to comp.programming.threads+unsubscribe@googlegroups.com.

No comments: