Full Text Available
Note: Clicking the button above will open the full text document at the original institutional repository in a new window.
Thesis (PhD)--University of Pretoria, 2017.
| Other Authors: | |
|---|---|
| Format: | Thesis |
| Language: | English |
| Published: |
University of Pretoria
2017
|
| Subjects: | |
| Tags: |
No Tags, Be the first to tag this record!
|
| _version_ | 1867613468222291968 |
|---|---|
| access_status_str | Open Access |
| author2 | Kourie, Derrick G. |
| author_browse | Kourie, Derrick G. |
| author_facet | Kourie, Derrick G. |
| collection | Thesis |
| dc_rights_str_mv | © 2017, University of Pretoria. All rights reserved. The copyright in this work vests in the University of Pretoria. No part of this work may be reproduced or transmitted in any form or by any means, without the prior written permission of the University of Pretoria. |
| description | Thesis (PhD)--University of Pretoria, 2017. |
| format | Thesis |
| id | oai:repository.up.ac.za:2263/61273 |
| institution | University of Pretoria (South Africa) |
| language | English |
| last_indexed | 2026-06-10T12:36:37.472Z |
| license_str | Other — see source repository |
| provenance_str_mv | Harvested via OAI-PMH from UPSpace — University of Pretoria Institutional Repository |
| publishDate | 2017 |
| publishDateRange | 2017 |
| publishDateSort | 2017 |
| publisher | University of Pretoria |
| publisherStr | University of Pretoria |
| record_format | dspace |
| source_str | UPSpace — University of Pretoria Institutional Repository |
| spelling | oai:repository.up.ac.za:2263/61273 Process-based decomposition and multicore performance : case studies from Stringology Kourie, Derrick G. tinus.strauss@gmail.com Watson, Bruce William Strauss, Marthinus David UCTD Regular expressions Finite automata Process based decomposition CSP Engineering, built environment and information technology theses SDG-04 Engineering, built environment and information technology theses SDG-09 Thesis (PhD)--University of Pretoria, 2017. Current computing hardware supports parallelism at various levels. Conventional programming techniques, however, do not utilise efficiently this growing resource. This thesis seeks a better fit between software and current hardware while following a hardware-agnostic software development approach. This allows the programmer to remain focussed on the problem domain. The thesis proposes process-based problem decomposition as a natural way to structure a concurrent implementation that may also improve multicore utilisation and, consequently, run-time performance. The thesis presents four algorithms as case studies from the domain of string pattern matching and finite automata. Each case study is conducted in the following manner. The particular sequential algorithm is decomposed into a number of communicating concurrent processes. This decomposition is described in the process algebra CSP. Hoare's CSP was chosen as one of the best known process algebras, for its expressive power, conciseness, and overall simplicity. Once the CSP-based process description has brought ideas to a certain level of maturity, the description is translated into a process-based implementation. The Go programming language was used for the implementation as its concurrency features were inspired by CSP. The performance of the process-based implementation is then compared against its conventional sequential version (also provided in Go). The goal is not to achieve maximal performance, but to compare the run-time performance of an ``ordinary'' programming effort that focussed on a process-based solution over a conventional sequential implementation. Although some implementations did not perform as well as others, some did significantly outperform their sequential counterparts. The thesis thus provides prima facie evidence that a process-based decomposition approach is promising for achieving a better fit between software and current multicore hardware. bs2026 Computer Science PhD Unrestricted SDG-04: Quality education SDG-09: Industry, innovation and infrastructure 2017-07-13T06:05:36Z 2017-07-13T06:05:36Z 2017-09-08 2017 Thesis Strauss, MD 2017, Process-based decomposition and multicore performance : case studies from Stringology, PhD Thesis, University of Pretoria, Pretoria, viewed yymmdd <http://hdl.handle.net/2263/61273> S2017 http://hdl.handle.net/2263/61273 en © 2017, University of Pretoria. All rights reserved. The copyright in this work vests in the University of Pretoria. No part of this work may be reproduced or transmitted in any form or by any means, without the prior written permission of the University of Pretoria. application/pdf University of Pretoria |
| spellingShingle | UCTD Regular expressions Finite automata Process based decomposition CSP Engineering, built environment and information technology theses SDG-04 Engineering, built environment and information technology theses SDG-09 Process-based decomposition and multicore performance : case studies from Stringology |
| title | Process-based decomposition and multicore performance : case studies from Stringology |
| title_full | Process-based decomposition and multicore performance : case studies from Stringology |
| title_fullStr | Process-based decomposition and multicore performance : case studies from Stringology |
| title_full_unstemmed | Process-based decomposition and multicore performance : case studies from Stringology |
| title_short | Process-based decomposition and multicore performance : case studies from Stringology |
| title_sort | process based decomposition and multicore performance case studies from stringology |
| topic | UCTD Regular expressions Finite automata Process based decomposition CSP Engineering, built environment and information technology theses SDG-04 Engineering, built environment and information technology theses SDG-09 |
| url | http://hdl.handle.net/2263/61273 |