Hello,
I have taken a look on internet at some PhD papers about the scalable
FIFO priority queue from Nir Shavit, i don't think it is efficient,
because it uses a same technic as the elimination array, so the
consumers and the producers must meet to be scalable, and that's not as
efficient as my scalable FIFO queues, also about the scalable FIFO queue
with an elimination array from Nir Shavit, i think it has the same
problem and it uses an elimination array as a backoff after the CAS and
that's not so scalable.
This is why my new scalable FIFO queues are really powerful and really
useful.
I have just deleted my scalable FIFO queues zip files here:
https://sites.google.com/site/aminer68/scalable-fifo-queues-for-c
and here:
https://sites.google.com/site/aminer68/scalable-fifo-queues-for-delphi-and-freepascal
because they were not optimized and they contained a bug, my new
versions that work correctly are coming soon.
And about my new algorithm..
I took a look on internet at the thread-safe FIFO queue using two
condition variables , one for the empty condition and one for the full
condition, and i have noticed that there algorithm is not working, so i
have come up with a new algorithm of a thread-safe FIFO queue that is
starvation-free and that works, and that uses two condition variables,
one for the empty condition and one for the full condition, after that i
have enhanced it to be a new scalable aglorithm that is really powerful,
it is now scalable on multicore and NUMA systems. I have just finished
to implement it and it is really powerful.
So stay tuned !
Thank you,
Amine Moulay Ramdne.