Improving parallel and concurrent programming in FreeST
| Main Author: | |
|---|---|
| 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 |