Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

My efficient Threadpool engine was updated to version 2.6

39 views
Skip to first unread message

Ramine

unread,
Dec 2, 2015, 3:52:35 PM12/2/15
to
Hello...

I have updated my efficient Threadpool engines with priorities
and without priorities to version 2.6, i was thinking more and
i have come with another more efficient and more scalable
concurrent FIFO Queue, please look at it inside the
zipfile, its name is FIFOQueue_mpmc.pas, i have also
corrected some logic inside my algorithm of my Threadpool engines
and now they are correct, i have tested them thoroughly and
you can be confident because i think they are stable and fast now,
so be happy with them.

One last note: if you look at the microsoft TPL library
it's using a Threadpool engine with many queues and i think
it's work stealing with a round robin mechanism , but i think
this is not good for critical systems if the number of queues
are higher and higher... i have avoided this problem in
my Threadpool engine.

You can download my Threadpool engines with priorities and
without priorities version 2.6 from:

https://sites.google.com/site/aminer68/threadpool-with-priorities

and from:

https://sites.google.com/site/aminer68/threadpool



Please feel freee to port them to the C++ programming language...

Thank you,
Amine Moulay Ramdane.

Ramine

unread,
Dec 2, 2015, 4:25:13 PM12/2/15
to

I wrote:
> One last note: if you look at the microsoft TPL library
> it's using a Threadpool engine with many queues and i think
> it's work stealing with a round robin mechanism , but i think
> this is not good for critical systems if the number of queues
> are higher and higher... i have avoided this problem in
> my Threadpool engine.


Please read this to understand more how works the Microsoft TPL

"...Each worker thread has its own local task queue of work to be done.
Each worker usually just pushes new tasks onto its own queue and pops
work whenever a task is done. When its local queue is empty, a worker
looks for work itself and tries to "steal" work from the queues of other
workers."

Read more here about Microsoft TPL:

http://msdev.developer-works.com/article/30095952/Performance+of+TPL+and+explanation%3F


Thank you,
Amine Moulay Ramdane.


0 new messages