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

My efficient Threadpool engine with priorities that scales very well was updated to version 3.62

5 views
Skip to first unread message

Horizon68

unread,
Jan 17, 2019, 6:20:31 PM1/17/19
to
Hello..


My efficient Threadpool engine with priorities that scales very well was
updated to version 3.62

Now the priority parameter of the Execute() method is working correctly.

And now i think that my Threadpool with priorities is working correctly
and it scales very well and it is powerful and fast.

You can download it from:

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


And about Active Object Pattern..

Read about it here:

https://madhuraoakblog.wordpress.com/2014/05/10/active-object-pattern/


As you have noticed i have "invented" a really powerful Threadpool with
priorities that scales very well, and it implements ParallelFor() with
priorities that too scales very well, also you can "easily" emulate an
Active Object Pattern with it, so no need to implement the Active Object
Pattern.

More precision about my efficient Threadpool that scales very well, my
Threadpool is much more scalable than the one of Microsoft, in the
workers side i am using scalable counting networks to distribute on the
many queues or stacks, so it is scalable on the workers side, on the
consumers side i am also using lock striping to be able to scale very
well, so it is scalable on those parts, on the other part that is work
stealing, i am using scalable counting networks, so globally it scales
very well, and since work stealing is "rare" so i think that my
efficient Threadpool that scales very well is really powerful, and it is
much more optimized and the scalable counting networks eliminate false
sharing, and it works with Windows and Linux.

You can download it from my website here:

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

The Execute() method now supports passing a method or passing a procedure.

I have also implemented a ParallelFor() that scales well, here is the
method:

procedure ParallelFor(nMin, nMax:integer;aProc:
TParallelProc;Ptr:pointer=nil;pmode:TParallelMode=pmBlocking;Priority:TPriorities=NORMAL_PRIORITY);

You can pass a parameter in Ptr as a allocated memory, and you can set
pmode parameter to pmBlocking so that ParallelFor() is blocking or to
pmNonBlocking so that ParallelFor() is non-blocking, and Priority
parameter is the priority. Look inside the test.pas example to see how
to use it.

Also i have implemented a portable and efficient Future:

My portable and efficient implementation of a future in Delphi and
FreePascal was updated to version 1.05

I have just enhanced it, and now it is working correctly and efficiently.

You can download it from my website:

https://sites.google.com/site/scalable68/a-portable-and-efficient-implementation-of-a-future-in-delphi-and-freepascal


Thank you,
Amine Moulay Ramdane.



Horizon68

unread,
Jan 20, 2019, 2:03:16 PM1/20/19
to
0 new messages