Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.programming.threads > #3891 > unrolled thread

ThreadpoolX that scales very well is here..

Started byIntelli2 <intelli2@mama.com>
First post2017-10-13 18:39 -0400
Last post2017-10-13 18:39 -0400
Articles 1 — 1 participant

Back to article view | Back to comp.programming.threads


Contents

  ThreadpoolX that scales very well is here.. Intelli2 <intelli2@mama.com> - 2017-10-13 18:39 -0400

#3891 — ThreadpoolX that scales very well is here..

FromIntelli2 <intelli2@mama.com>
Date2017-10-13 18:39 -0400
SubjectThreadpoolX that scales very well is here..
Message-ID<orr18c$lfp$2@dont-email.me>
Hello,


ThreadpoolX that scales very well is here..

I have ported the scalable counting network algorithm to Delphi and 
FreePascal, and i have used it inside my following ThreadpoolX engine, 
and now it scales very well, here is the papers of the scalable counting 
network algorithm:

http://people.csail.mit.edu/shanir/publications/AHS.pdf

and also read the following (the counting network is truly scalable, 
please look at the graph inside the paper):

http://people.csail.mit.edu/shanir/publications/HLS.pdf

you have to look at my following Threadpool engine that scales very well 
now, because it is very powerful now, here is what it supports:

- I have used scalable counting networks to make my Threadpool engine 
scale very well.

- The worker threads enter 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.

- It's NUMA-aware and NUMA efficient.

- And it is portable to many operating systems.

Please read the new HTML tutorial inside the zip.
You can download it from:

https://sites.google.com/site/aminer68/an-efficient-threadpool-engine-that-scales-very-well

and the one with priortities is here:

https://sites.google.com/site/aminer68/an-efficient-threadpool-engine-with-priorities-that-scales-very-well

And the Linux version is coming soon...


Thank you,
Amine Moulay Ramdane.

[toc] | [standalone]


Back to top | Article view | comp.programming.threads


csiph-web