Evaluation of the Parallel features of Rust for Space Systems

The rise in complexity of the algorithms run on space systems, largely attributable to higher resolution instruments which generate a large amount of the data to be processed, as well as to the need for increased autonomy which relies on Neural Network inference systems in future missions, demand th...

Descripción completa

Detalles Bibliográficos
Autor: Perugini, Alberto
Tipo de recurso: tesis de maestría
Fecha de publicación:2023
País:España
Institución:Universitat Politècnica de Catalunya (UPC)
Repositorio:UPCommons. Portal del coneixement obert de la UPC
Idioma:inglés
OAI Identifier:oai:upcommons.upc.edu:2117/404366
Acceso en línea:https://hdl.handle.net/2117/404366
Access Level:acceso abierto
Palabra clave:Computer algorithms
Astronautics
Rust (Computer program language)
Algorismes computacionals
Llenguatges de programació--Astronàutica
Astronàutica
Àrees temàtiques de la UPC::Informàtica::Llenguatges de programació
id ES_036b8bde77e6ea4cce8fd664854bfbaa
oai_identifier_str oai:upcommons.upc.edu:2117/404366
network_acronym_str ES
network_name_str España
repository_id_str
spelling Evaluation of the Parallel features of Rust for Space SystemsPerugini, AlbertoComputer algorithmsAstronauticsRust (Computer program language)Algorismes computacionalsLlenguatges de programació--AstronàuticaAstronàuticaÀrees temàtiques de la UPC::Informàtica::Llenguatges de programacióThe rise in complexity of the algorithms run on space systems, largely attributable to higher resolution instruments which generate a large amount of the data to be processed, as well as to the need for increased autonomy which relies on Neural Network inference systems in future missions, demand the adoption of more powerful on-board hardware, such as multicores. At the same time, the correctness and reliability of critical on-board software is of paramount importance for the success of the missions. However, developing such complex software in low-level languages can have a negative impact on these aspects. For this reason, this thesis evaluates the role that the Rust programming language can have in this change, given its memory safety and built in support for parallelism, which allows to better utilise more powerful hardware, in particular multicore cpus, without compromising programmability and safety of the code. To this end, the GPU4S benchmarking suite, part of the open source OBPMark benchmarking suite of the European Space Agency (ESA), is ported to Rust, with sequential and parallel implementations. The applications are ported both in a hosted as well as in bare metal environment for a RISC-V based platform for the space domain, developed within the METASAT Horizon Europe project. The performance of the ported benchmarks is compared to the existing sequential and parallel implementations in low-level languages to evaluate the trade-offs of the different solutions, and it is evaluated on several multicore platforms which are candidates for future on-board processing systems. A particular focus is put on parallel versions of the benchmarks, where Rust offers solid native support, as well as library support for fast parallelization similar to OpenMP. Finally, in terms of correctness, the Rust implementations are free of recently detected defects in the low-level implementations of the GPU4S benchmarks.Universitat Politècnica de CatalunyaKosmidis, Leonidas20232023-10-2020242024-03-13master thesishttp://purl.org/coar/resource_type/c_bdccNAhttp://purl.org/coar/version/c_be7fb7dd8ff6fe43info:eu-repo/semantics/masterThesisapplication/pdfhttps://hdl.handle.net/2117/404366reponame:UPCommons. Portal del coneixement obert de la UPCinstname:Universitat Politècnica de Catalunya (UPC)Inglésengopen accesshttp://purl.org/coar/access_right/c_abf2info:eu-repo/semantics/openAccessoai:upcommons.upc.edu:2117/4043662026-05-27T15:37:01Z
dc.title.none.fl_str_mv Evaluation of the Parallel features of Rust for Space Systems
title Evaluation of the Parallel features of Rust for Space Systems
spellingShingle Evaluation of the Parallel features of Rust for Space Systems
Perugini, Alberto
Computer algorithms
Astronautics
Rust (Computer program language)
Algorismes computacionals
Llenguatges de programació--Astronàutica
Astronàutica
Àrees temàtiques de la UPC::Informàtica::Llenguatges de programació
title_short Evaluation of the Parallel features of Rust for Space Systems
title_full Evaluation of the Parallel features of Rust for Space Systems
title_fullStr Evaluation of the Parallel features of Rust for Space Systems
title_full_unstemmed Evaluation of the Parallel features of Rust for Space Systems
title_sort Evaluation of the Parallel features of Rust for Space Systems
dc.creator.none.fl_str_mv Perugini, Alberto
author Perugini, Alberto
author_facet Perugini, Alberto
author_role author
dc.contributor.none.fl_str_mv Kosmidis, Leonidas
dc.subject.none.fl_str_mv Computer algorithms
Astronautics
Rust (Computer program language)
Algorismes computacionals
Llenguatges de programació--Astronàutica
Astronàutica
Àrees temàtiques de la UPC::Informàtica::Llenguatges de programació
topic Computer algorithms
Astronautics
Rust (Computer program language)
Algorismes computacionals
Llenguatges de programació--Astronàutica
Astronàutica
Àrees temàtiques de la UPC::Informàtica::Llenguatges de programació
description The rise in complexity of the algorithms run on space systems, largely attributable to higher resolution instruments which generate a large amount of the data to be processed, as well as to the need for increased autonomy which relies on Neural Network inference systems in future missions, demand the adoption of more powerful on-board hardware, such as multicores. At the same time, the correctness and reliability of critical on-board software is of paramount importance for the success of the missions. However, developing such complex software in low-level languages can have a negative impact on these aspects. For this reason, this thesis evaluates the role that the Rust programming language can have in this change, given its memory safety and built in support for parallelism, which allows to better utilise more powerful hardware, in particular multicore cpus, without compromising programmability and safety of the code. To this end, the GPU4S benchmarking suite, part of the open source OBPMark benchmarking suite of the European Space Agency (ESA), is ported to Rust, with sequential and parallel implementations. The applications are ported both in a hosted as well as in bare metal environment for a RISC-V based platform for the space domain, developed within the METASAT Horizon Europe project. The performance of the ported benchmarks is compared to the existing sequential and parallel implementations in low-level languages to evaluate the trade-offs of the different solutions, and it is evaluated on several multicore platforms which are candidates for future on-board processing systems. A particular focus is put on parallel versions of the benchmarks, where Rust offers solid native support, as well as library support for fast parallelization similar to OpenMP. Finally, in terms of correctness, the Rust implementations are free of recently detected defects in the low-level implementations of the GPU4S benchmarks.
publishDate 2023
dc.date.none.fl_str_mv 2023
2023-10-20
2024
2024-03-13
dc.type.none.fl_str_mv master thesis
http://purl.org/coar/resource_type/c_bdcc
NA
http://purl.org/coar/version/c_be7fb7dd8ff6fe43
dc.type.openaire.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
dc.identifier.none.fl_str_mv https://hdl.handle.net/2117/404366
url https://hdl.handle.net/2117/404366
dc.language.none.fl_str_mv Inglés
eng
language_invalid_str_mv Inglés
language eng
dc.rights.none.fl_str_mv open access
http://purl.org/coar/access_right/c_abf2
dc.rights.openaire.fl_str_mv info:eu-repo/semantics/openAccess
rights_invalid_str_mv open access
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universitat Politècnica de Catalunya
publisher.none.fl_str_mv Universitat Politècnica de Catalunya
dc.source.none.fl_str_mv reponame:UPCommons. Portal del coneixement obert de la UPC
instname:Universitat Politècnica de Catalunya (UPC)
instname_str Universitat Politècnica de Catalunya (UPC)
reponame_str UPCommons. Portal del coneixement obert de la UPC
collection UPCommons. Portal del coneixement obert de la UPC
repository.name.fl_str_mv
repository.mail.fl_str_mv
_version_ 1869402724775231488
score 15.301603