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


Groups > comp.programming > #2286 > unrolled thread

About my threadpool engine [...]

Started by"aminer" <aminer@videotron.ca>
First post2012-10-03 19:33 -0500
Last post2012-10-03 20:30 -0500
Articles 3 — 1 participant

Back to article view | Back to comp.programming


Contents

  About my threadpool engine [...] "aminer" <aminer@videotron.ca> - 2012-10-03 19:33 -0500
    Re: About my threadpool engine [...] "aminer" <aminer@videotron.ca> - 2012-10-03 19:59 -0500
    Re: About my threadpool engine [...] "aminer" <aminer@videotron.ca> - 2012-10-03 20:30 -0500

#2286 — About my threadpool engine [...]

From"aminer" <aminer@videotron.ca>
Date2012-10-03 19:33 -0500
SubjectAbout my threadpool engine [...]
Message-ID<k4ii0j$4n0$1@dont-email.me>
Hello,

I have used my threadpool engine as a scalable FIFO
MPMC queue, and have done some benchmarks on a quad cores
using both the execute() method and my new Exec()  method and here
is the scalability numbers:

Using one global lockfree queue, it gave a negative scalability of  -2.7x

Using mutiple lockfree local queues with work-stealing
and using the execute() method , it can go up to 2.5x scalability

And using multiple lockfree local queues with work-stealing
and using my new Exec() method , it can go up to 3.8x scalability.


Those benchmarks were run under Delphi.

But on Freepascal my threadpool engine is not scaling cause there it's a 
problem with the freepacal compiler.

You can download my threadpool engine and all my parallel libraries from:

http://pages.videotron.com/aminer/



Thank you,
Amine Moulay Ramdane.




[toc] | [next] | [standalone]


#2287

From"aminer" <aminer@videotron.ca>
Date2012-10-03 19:59 -0500
Message-ID<k4ijgm$bmh$1@dont-email.me>
In reply to#2286
I correct:

Using one global lockfree queue, it gave a negative scalability of  -2.7x

Using mutiple lockfree local queues with work-stealing
and using the execute() method , it gave 2.5x scalability

And using multiple lockfree local queues with work-stealing
and using my new Exec() method , it can go up to 3.8x scalability.



Amine Moulay Ramdane.


"aminer" <aminer@videotron.ca> wrote in message 
news:k4ii0j$4n0$1@dont-email.me...
> Hello,
>
> I have used my threadpool engine as a scalable FIFO
> MPMC queue, and have done some benchmarks on a quad cores
> using both the execute() method and my new Exec()  method and here
> is the scalability numbers:
>
> Using one global lockfree queue, it gave a negative scalability of  -2.7x
>
> Using mutiple lockfree local queues with work-stealing
> and using the execute() method , it can go up to 2.5x scalability
>
> And using multiple lockfree local queues with work-stealing
> and using my new Exec() method , it can go up to 3.8x scalability.
>
>
> Those benchmarks were run under Delphi.
>
> But on Freepascal my threadpool engine is not scaling cause there it's a 
> problem with the freepacal compiler.
>
> You can download my threadpool engine and all my parallel libraries from:
>
> http://pages.videotron.com/aminer/
>
>
>
> Thank you,
> Amine Moulay Ramdane.
>
>
>
>
> 

[toc] | [prev] | [next] | [standalone]


#2288

From"aminer" <aminer@videotron.ca>
Date2012-10-03 20:30 -0500
Message-ID<k4ilc3$ksm$1@dont-email.me>
In reply to#2286
Hello,

I will compare the Exec() method of my threadpool engine to the bucketsort,
in the bucketsort algorithm, si if in the bucketsort the elements are 
uniformly
distributed over an interval [a, b]  and buckets have not significantly
different number of elements the scalability will be optimal.
It's the same with the Exec() method of my threadpool engine,
if the load is uniformly distributed over the local lockfree FIFO MPMC
queues the scalability will be optimal, so using multiple lockfree local
queues with work-stealing and using my new Exec() method , my threadpool 
engine
used as a scalable FIFO MPMC queue  can go up to 3.8x scalability on a 
quadcores..

Now when i have used only a glocal lockfree queue on my threadpool engine,
my threadpool engine used as a scalable FIFO MPMC queue gave a negative
scalability of -2.7x,


And using mutiple lockfree local queues with work-stealing
and using the execute() method , my threadpool engine used as
a scalable FIFO MPMC queue gave me 2.5x scalability.


Wha'ts important is that my threadpool engine is useful.

You can download my threadpool engine and all my parallel libraries from:

http://pages.videotron.com/aminer/



Thank you,
Amine Moulay Ramdane.






"aminer" <aminer@videotron.ca> wrote in message 
news:k4ii0j$4n0$1@dont-email.me...
> Hello,
>
> I have used my threadpool engine as a scalable FIFO
> MPMC queue, and have done some benchmarks on a quad cores
> using both the execute() method and my new Exec()  method and here
> is the scalability numbers:
>
> Using one global lockfree queue, it gave a negative scalability of  -2.7x
>
> Using mutiple lockfree local queues with work-stealing
> and using the execute() method , it can go up to 2.5x scalability
>
> And using multiple lockfree local queues with work-stealing
> and using my new Exec() method , it can go up to 3.8x scalability.
>
>
> Those benchmarks were run under Delphi.
>
> But on Freepascal my threadpool engine is not scaling cause there it's a 
> problem with the freepacal compiler.
>
> You can download my threadpool engine and all my parallel libraries from:
>
> http://pages.videotron.com/aminer/
>
>
>
> Thank you,
> Amine Moulay Ramdane.
>
>
>
>
> 

[toc] | [prev] | [standalone]


Back to top | Article view | comp.programming


csiph-web