Actors and higher order functions : A Comparative Study of Parallel Programming Language Support for Bioinformatics
Parallel programming can sometimes be a tedious task when dealing with problems like race conditions and synchronization. Functional programming can greatly reduce the complexity of parallelization by removing side effects and variables, eliminating the need for locks and synchronization. This thesi...
Main Author: | |
---|---|
Format: | Others |
Language: | English |
Published: |
Uppsala universitet, Institutionen för informationsteknologi
2014
|
Online Access: | http://urn.kb.se/resolve?urn=urn:nbn:se:uu:diva-242739 |
id |
ndltd-UPSALLA1-oai-DiVA.org-uu-242739 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-UPSALLA1-oai-DiVA.org-uu-2427392015-02-19T05:06:32ZActors and higher order functions : A Comparative Study of Parallel Programming Language Support for BioinformaticsengArvidsson, StaffanUppsala universitet, Institutionen för informationsteknologi2014Parallel programming can sometimes be a tedious task when dealing with problems like race conditions and synchronization. Functional programming can greatly reduce the complexity of parallelization by removing side effects and variables, eliminating the need for locks and synchronization. This thesis assesses the applicability of functional programming and the actor model using the field of bioinformatics as a case study, focusing on genome assembly. Functional programming is found to provide parallelization at a high abstraction level in some cases, but in most of the program there is no way to provide parallelization without adding synchronization and non-pure functional code. The actor model facilitate parallelization of a greater part of the program but increases the program complexity due to communication and synchronization between actors. Neither of the approaches gave efficient speedup due to the characteristics of the algorithm that was implemented, which proved to be memory bound. A shared memory parallelization thus showed to be inefficient and that a need for distributed implementations are needed for achieving speedup for genome assemblers Student thesisinfo:eu-repo/semantics/bachelorThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:uu:diva-242739IT ; 14 073application/pdfinfo:eu-repo/semantics/openAccess |
collection |
NDLTD |
language |
English |
format |
Others
|
sources |
NDLTD |
description |
Parallel programming can sometimes be a tedious task when dealing with problems like race conditions and synchronization. Functional programming can greatly reduce the complexity of parallelization by removing side effects and variables, eliminating the need for locks and synchronization. This thesis assesses the applicability of functional programming and the actor model using the field of bioinformatics as a case study, focusing on genome assembly. Functional programming is found to provide parallelization at a high abstraction level in some cases, but in most of the program there is no way to provide parallelization without adding synchronization and non-pure functional code. The actor model facilitate parallelization of a greater part of the program but increases the program complexity due to communication and synchronization between actors. Neither of the approaches gave efficient speedup due to the characteristics of the algorithm that was implemented, which proved to be memory bound. A shared memory parallelization thus showed to be inefficient and that a need for distributed implementations are needed for achieving speedup for genome assemblers |
author |
Arvidsson, Staffan |
spellingShingle |
Arvidsson, Staffan Actors and higher order functions : A Comparative Study of Parallel Programming Language Support for Bioinformatics |
author_facet |
Arvidsson, Staffan |
author_sort |
Arvidsson, Staffan |
title |
Actors and higher order functions : A Comparative Study of Parallel Programming Language Support for Bioinformatics |
title_short |
Actors and higher order functions : A Comparative Study of Parallel Programming Language Support for Bioinformatics |
title_full |
Actors and higher order functions : A Comparative Study of Parallel Programming Language Support for Bioinformatics |
title_fullStr |
Actors and higher order functions : A Comparative Study of Parallel Programming Language Support for Bioinformatics |
title_full_unstemmed |
Actors and higher order functions : A Comparative Study of Parallel Programming Language Support for Bioinformatics |
title_sort |
actors and higher order functions : a comparative study of parallel programming language support for bioinformatics |
publisher |
Uppsala universitet, Institutionen för informationsteknologi |
publishDate |
2014 |
url |
http://urn.kb.se/resolve?urn=urn:nbn:se:uu:diva-242739 |
work_keys_str_mv |
AT arvidssonstaffan actorsandhigherorderfunctionsacomparativestudyofparallelprogramminglanguagesupportforbioinformatics |
_version_ |
1716730772818231296 |