| Dissertation |
Thesis (M.A.) --NUI, 2012 at Department of Computer Science, UCC. |
| Summary |
The aim of the thesis is to extend the scope of MOQA and to find practical applications of its theory. MOQA is a novel static average case analysis method developed by Michel Schellekens and CEOL in University College Cork. MOQA is a special purpose high level “language” which operates in accordance with MOQA principles. These principles are based upon the novel notion of random bags and their preservation. MOQA can be seen as an add-on which has been specified and implemented in Java. It incorporates traditional data structuring operations, replacing non-compositional standard data structuring operations whenever needed by compositional ones. A major area of interest in this thesis is Parallelism. With the advancement of multi-core processors, parallel algorithms especially multithreaded algorithms, are of increasing importance to developers. Most of today's algorithms are sequential so to truly harness the available computational power a greater understanding of parallelism is required. We present a new way to analyze fork-join multithreaded algorithms. The fork-join framework represents a style of parallel programming in which problems are solved by (recursively) splitting them into subtasks that are solved in parallel, waiting for them to complete, and then composing results. We create methods based upon MOQA theory to predict the bounds for different sorting algorithms. The application of our methods to other platforms is investigated. CUDA represents a significant approach to parallelism. It harnesses the potential of GPUs for general-purpose computing. Unlike multicore CPU architectures, which currently ship with two or four cores, GPU architectures contain hundreds. By testing on this platform it demonstrates that our methods are autonomous and not platform specific. The testing simulator Avrora is also utilised to find the average-case power consumption of different parallel sorting algorithms. This works as a bridge between the analytical analysis of average case execution time and power consumption. |
| Subject |
Computer science.
|
| Collection |
Theses Masters
|
|
Theses Computer Science Department
|
| Description |
76 p. : ill. ; 30 cm. |
|