Prev: changing interface language of a software
Next: Thread Pool Engine version 1.3 - stable version - is here ...
From: aminer on 26 Mar 2010 22:22 Hello, I am still writing the page at: http://pages.videotron.com/aminer/threadpool.htm And it starts with something like this: "On a multicore system, your goal is to spread the work efficiently among many cores so that it does executes simultaneously. And performance gain should be directly related to how many cores you have. So, a quad core system should be able to get the work done 4 times faster than a single core system. A 16-core platform should be 4-times faster than a quad-core system, and 16-times faster than a single core... That's where my Threadpool comes in hand, it spreads the work efficiently among many cores. The following have been added to Threadpool: Lock-free ParallelQueue for less contention and more efficiency or it can use lockfree_mpmc - flqueue that i have modified, enhanced and improved... - See lock-free ParallelQueue: http://pages.videotron.com/aminer/parallelqueue/parallelqueue.htm It uses many queues and work-stealing - for more efficiency - The worker threads enters in a wait state when there no job in the lock-free queues - for more efficiency - You can distribute your jobs to the worker threads and call any method with the threadpool's execute() method. [...] Work-Stealing scheduling algorithm offer many feature over the ordinary scheduling algorithm: Effective: Using local queues, this will minimize contention. Load Balancing: Every thread can steal work from the other threads, so Work-Stealing provides implicitly Load Balancing. My Threadpool allows load balancing, and also minimize contention...". Any Feedback ? Sincerely, Amine Moulay Ramdane. |