Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.programming.threads > #1182
| From | "aminer" <aminer@toto.com> |
|---|---|
| Newsgroups | comp.programming.threads, comp.programming |
| Subject | ParallelSort version 3.0 |
| Date | 2012-10-24 10:07 -0500 |
| Organization | A noiseless patient Spider |
| Message-ID | <k68sg9$c66$1@dont-email.me> (permalink) |
Cross-posted to 2 groups.
Hello,
Parallel Sort Library was updated to version 3.0.
In this new version i have implemented a Parallel hybrid divide-and-conquer
merge algorithm that performs 0.9-5.8 times better than sequential merge, on
a quad-core processor, with larger arrays outperforming by over 5 times.
Parallel processing combined with a hybrid algorithm approach provides a
powerful high performance result.
Description:
Parallel Sort Library that supports Parallel Quicksort, Parallel HeapSort
and Parallel MergeSort on Multicores systems.
Parallel Sort Library uses my Thread Pool Engine and quicksort many array
parts - of your array - in parallel using Quicksort or HeapSort or
MergeSort and after that it finally merge them - with the merge()
procedure -
In the previous parallelsort version i have parallelized only the sort part,
but in this new parallelsort version i have parallelized also the merge
procedure part and it gives better performance.
I have implemented a Parallel hybrid divide-and-conquer merge algorithm that
performs 0.9-5.8 times better than sequential merge, on a quad-core
processor, with larger arrays outperforming by over 5 times. Parallel
processing combined with a hybrid algorithm approach provides a powerful
high performance result.
And as you know , Quicksort is a divide and conquer algorithm that have the
following best case performance:
T(n) = T(n/2) + T(n/2) + O(n)
= 2T(n/2) + (n)
And from case 2 of Master theorem, the recurrence equation gives:
T(n) = (n lg n)
Parallelizing the Sorts
One way to parallelize the sorts is:
Divide the data among the processors
Sort the data on the individual processors.
Merge the various data
Note that the merge operation is a reduction operation !
And please look at test.pas inside the zip, a parallel quicksort on many
cores, you have to compile and run gendata.pas before running test.pas, and
please set the number of threads to 8 times the number of cores to be more
optimal, i have giving you an exemple on how to do it , look inside
test.pas...
You can download ParallelSort library from:
http://pages.videotron.com/aminer/
Thank you,
Amine Moulay Ramdane.
Back to comp.programming.threads | Previous | Next — Next in thread | Find similar
ParallelSort version 3.0 "aminer" <aminer@toto.com> - 2012-10-24 10:07 -0500 Re: ParallelSort version 3.0 "aminer" <aminer@toto.com> - 2012-10-24 10:49 -0500 Re: ParallelSort version 3.0 "aminer" <aminer@toto.com> - 2012-10-24 10:57 -0500 Re: ParallelSort version 3.0 "aminer" <aminer@toto.com> - 2012-10-24 11:25 -0500
csiph-web