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:
Post a Comment