MSsort (Merge-Splitting-Sort)

MSsort gehört zur Gruppe der umhüllenden Sortieralgorithmen. Seine Laufzeit hängt maßgeblich von den beiden intern verwendeten echten Sortierverfahren (sort1, sort2) ab.

MSsort sollte immer dann bevorzugt werden, wenn die zu sortierenden Daten zu groß für den Arbeitsspeicher sind und mehrere Prozesse parallel verwendet werden können.

Der Name "MSsort" kommt von merge, split (eng. verschmelzen, trennen), da das Verfahren auf dem ersetzen der compare_exchange-Operationen durch eine merge_spit-Operation beruht.

Im Rahmen einer Hausaufgabe der Veranstaltung "Parallele Programmierung I" im 5. Fachsemester des Studienganges Diplom-Informatik an der Martin-Luther-Universität Halle/Wittenberg haben ich verschiedene parallele MSsort-Varianten in C/MPI realisiert. Der Quellcode kann hier kostenlos herutergeladen werden: mssort.c