A study about differences in performance with parallel and sequential sorting algorithms
2021 (English)Independent thesis Basic level (degree of Bachelor), 10 credits / 15 HE credits
Student thesis
Abstract [en]
Background: Sorting algorithms are an essential part of computer science. With the use of parallelism, these algorithms performance can improve.
Objectives: To assess parallel sorting algorithms performance compared with their sequential counterparts and see what contextual factors make a difference in performance.
Methods: An experiment was made with quicksort, merge sort, load-balanced parallel merge sort and hyperquicksort. These algorithms executed on Ubuntu 20.10 and Windows 10 Home with three data sets, small (106 integers), medium (5 106 integers) and large (107 integers). Each algorithm executed 1 000 times per data set within each operating system resulting in 6 000 executions per sorting algorithm.
Results: With the data from the executions, it was concluded that hyperquicksort had the fastest execution time. On average load-balanced parallel merge sort had the slowest execution time. The fastest operating system was Ubuntu 20.10, all but one algorithm executed faster on Ubuntu.
Conclusions: The results showed that the fastest algorithm was hyperquicksort, but other conclusions also arose. The data set size correlated with both the execution time and speedup for a given parallel sorting algorithm. When the data set size increased, both the execution time and the speedup increased.
Place, publisher, year, edition, pages
2021. , p. 46
Keywords [en]
Sorting algorithms, Operating systems, Parallelism, Performance
National Category
Computer Sciences
Identifiers
URN: urn:nbn:se:bth-21469OAI: oai:DiVA.org:bth-21469DiVA, id: diva2:1559456
Subject / course
PA1445 Kandidatkurs i Programvaruteknik
Educational program
PAGPT Software Engineering
Supervisors
Examiners
2021-06-112021-06-022021-06-11Bibliographically approved