Hello,
A new algorithm of an efficient Threadpool engine that scales well
I have implemented this new algrithm of a Threadpool engine that scales
well, i have enhanced it to support processor groups on windows, so that
it scales with more that 64 logical cores, and i have also
minimized at best the contention so that it scales well.
The following have been added to my efficient Threadpool engine:
- The worker threads enters in a wait state when there is no job in the
concurrent FIFO queues - for more efficiency -
- You can distribute your jobs to the worker threads and call any method
with the threadpool's execute() method.
- It uses work-stealing to be more efficient.
- You can configure it to use stacks or FIFO queues , when you use
stacks it will be cache efficient.
- Now it can use processor groups on windows, so that it can use more
than 64 logical processors and it scales well.
- Now it distributes the jobs on multiple FIFO queues or stacks so that
it scales well.
- You can wait for the jobs to finish with the wait() method.
- And it is portable to many operating systems.
You can download my efficient Threadpool engine version 3.0 that scales
well from:
https://sites.google.com/site/aminer68/an-efficient-threadpool-engine-that-scales-well
Thank you,
Amine Moulay Ramdane.