Hello,
I have implemented a concurrent FIFO Queue that satifies
many requirements such us: it is FIFO fair, 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
wait on a portable manual event object, it is not as fast
as lockfree algorithms, cause if you want to satisfy the FIFO fairness
and to minimize efficiently the cache-coherence traffic and to be
energy efficient you have to pay a price: this will lower the speed
of the concurrent FIFO queue, but the speed of my concurrent FIFO Queue
is good i think , cause i have benchmarked on the Quad core processor
each running at 1.6 GHz, with 4 threads pushing and 4 threads poping and
it gives 1 million transaction(push and pop) per second, and that's also
good.
You can download my concurrent FIFO Queue from:
http://pages.videotron.com/aminer/
Thank you,
Amine Moulay Ramdane.