Full Text Available

Note: Clicking the button above will open the full text document at the original institutional repository in a new window.

Process-based decomposition and multicore performance : case studies from Stringology

Thesis (PhD)--University of Pretoria, 2017.

Saved in:
Bibliographic Details
Other Authors: Kourie, Derrick G.
Format: Thesis
Language:English
Published: University of Pretoria 2017
Subjects:
Tags: Add Tag
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