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

About my threadpool engine [...]

17 views
Skip to first unread message

aminer

unread,
Oct 3, 2012, 8:33:33 PM10/3/12
to
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.





aminer

unread,
Oct 3, 2012, 8:59:10 PM10/3/12
to

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" <ami...@videotron.ca> wrote in message
news:k4ii0j$4n0$1...@dont-email.me...

aminer

unread,
Oct 3, 2012, 9:30:52 PM10/3/12
to
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" <ami...@videotron.ca> wrote in message
news:k4ii0j$4n0$1...@dont-email.me...
0 new messages