Dissertation/ Thesis

Evaluation of the Parallel features of Rust for Space Systems

Λεπτομέρειες βιβλιογραφικής εγγραφής
Τίτλος: Evaluation of the Parallel features of Rust for Space Systems
Συγγραφείς: Perugini, Alberto
Συνεισφορές: Universitat Politècnica de Catalunya. Departament d'Arquitectura de Computadors, Kosmidis, Leonidas
Στοιχεία εκδότη: Universitat Politècnica de Catalunya
Έτος έκδοσης: 2023
Συλλογή: Universitat Politècnica de Catalunya, BarcelonaTech: UPCommons - Global access to UPC knowledge
Θεματικοί όροι: Àrees temàtiques de la UPC::Informàtica::Llenguatges de programació, Computer algorithms, Astronautics, Rust (Computer program language), Algorismes computacionals, Llenguatges de programació--Astronàutica, Astronàutica
Περιγραφή: 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.
Τύπος εγγράφου: master thesis
Περιγραφή αρχείου: application/pdf
Γλώσσα: English
Relation: https://hdl.handle.net/2117/404366; 178813
Διαθεσιμότητα: https://hdl.handle.net/2117/404366
Rights: Open Access
Αριθμός Καταχώρησης: edsbas.FBCEEA4B
Βάση Δεδομένων: BASE