Improving parallel and concurrent programming in FreeST

Bibliographic Details
Main Author: Lopes, Guilherme João Correia
Publication Date: 2024
Format: Master thesis
Language: eng
Source: Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
Download full: http://hdl.handle.net/10400.5/95630
Summary: Tese de Mestrado, Engenharia Informática, 2024, Universidade de Lisboa, Faculdade de Ciências
id RCAP_289f9ae95cd6f6204483afb6b98be59a
oai_identifier_str oai:repositorio.ulisboa.pt:10400.5/95630
network_acronym_str RCAP
network_name_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository_id_str https://opendoar.ac.uk/repository/7160
spelling Improving parallel and concurrent programming in FreeSTTipos de sessãoConcorrênciaProblemas embaraçosamente paralelosFuturosStreamsTeses de mestrado - 2024Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaTese de Mestrado, Engenharia Informática, 2024, Universidade de Lisboa, Faculdade de CiênciasTechnological advancements led manufacturers to shift from single-processor to multi-core architectures, fostering the rise of parallel and concurrent computing. This transition has yielded substantial benefits, such as improved performance and enhanced interprocess communication in distributed systems. However, it has also introduced challenges requiring specialized tools and languages to handle parallelism and concurrency efficiently and make these tasks easier for developers. Languages like Erlang and Go were purpose-built to meet these demands, while others, such as Java, have evolved to incorporate features facilitating parallel and concurrent programming, providing accessible solutions for emerging paradigms. FreeST is a modern, message-passing concurrent functional language featuring context-free session types to ensure strict adherence to communication protocols. While session types were designed for concurrent programming, FreeST, despite its strengths, stumbles upon limitations stemming from its embryonic state and the lack of comprehensive tools for addressing various parallel and concurrent programming paradigms. Consequently, FreeST demands substantial domain knowledge and effort to develop parallel and concurrent systems effectively, posing a steep learning curve. Our goal in this work is to provide a set of tools that improve and ease parallel and concurrent programming in FreeST. This thesis proposes the development of three modules aimed at enhancing FreeST’s capability to handle diverse parallel and concurrent programming paradigms and concepts: data parallelism and embarrassingly parallel problems, futures and divide-and-conquer strategies, and stream programming. These modules are designed to leverage FreeST’s unique features and expand its practical utility in real-world applications, making it a more versatile and effective tool for addressing complex parallel and concurrent computing challenges. To validate our contributions, we employ surveys and a Lines of Code (LoC) comparison.Rodrigues, Andreia Filipa Torcato MordidoVasconcelos, Vasco Manuel Thudichum de SerpaRepositório da Universidade de LisboaLopes, Guilherme João Correia2024-11-25T18:20:41Z202420242024-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10400.5/95630TID:203741170enginfo:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2025-03-17T16:28:18Zoai:repositorio.ulisboa.pt:10400.5/95630Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-29T04:16:14.845539Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse
dc.title.none.fl_str_mv Improving parallel and concurrent programming in FreeST
title Improving parallel and concurrent programming in FreeST
spellingShingle Improving parallel and concurrent programming in FreeST
Lopes, Guilherme João Correia
Tipos de sessão
Concorrência
Problemas embaraçosamente paralelos
Futuros
Streams
Teses de mestrado - 2024
Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
title_short Improving parallel and concurrent programming in FreeST
title_full Improving parallel and concurrent programming in FreeST
title_fullStr Improving parallel and concurrent programming in FreeST
title_full_unstemmed Improving parallel and concurrent programming in FreeST
title_sort Improving parallel and concurrent programming in FreeST
author Lopes, Guilherme João Correia
author_facet Lopes, Guilherme João Correia
author_role author
dc.contributor.none.fl_str_mv Rodrigues, Andreia Filipa Torcato Mordido
Vasconcelos, Vasco Manuel Thudichum de Serpa
Repositório da Universidade de Lisboa
dc.contributor.author.fl_str_mv Lopes, Guilherme João Correia
dc.subject.por.fl_str_mv Tipos de sessão
Concorrência
Problemas embaraçosamente paralelos
Futuros
Streams
Teses de mestrado - 2024
Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
topic Tipos de sessão
Concorrência
Problemas embaraçosamente paralelos
Futuros
Streams
Teses de mestrado - 2024
Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
description Tese de Mestrado, Engenharia Informática, 2024, Universidade de Lisboa, Faculdade de Ciências
publishDate 2024
dc.date.none.fl_str_mv 2024-11-25T18:20:41Z
2024
2024
2024-01-01T00:00:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10400.5/95630
TID:203741170
url http://hdl.handle.net/10400.5/95630
identifier_str_mv TID:203741170
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron:RCAAP
instname_str FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron_str RCAAP
institution RCAAP
reponame_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
collection Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository.name.fl_str_mv Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
repository.mail.fl_str_mv info@rcaap.pt
_version_ 1833601999387492352