Dissertation/ Thesis
Evaluation of the Parallel features of Rust for Space Systems
| Title: | Evaluation of the Parallel features of Rust for Space Systems |
|---|---|
| Authors: | Perugini, Alberto |
| Contributors: | Universitat Politècnica de Catalunya. Departament d'Arquitectura de Computadors, Kosmidis, Leonidas |
| Publisher Information: | Universitat Politècnica de Catalunya |
| Publication Year: | 2023 |
| Collection: | Universitat Politècnica de Catalunya, BarcelonaTech: UPCommons - Global access to UPC knowledge |
| Subject Terms: | À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 |
| 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. |
| Document Type: | master thesis |
| File Description: | application/pdf |
| Language: | English |
| Relation: | https://hdl.handle.net/2117/404366; 178813 |
| Availability: | https://hdl.handle.net/2117/404366 |
| Rights: | Open Access |
| Accession Number: | edsbas.FBCEEA4B |
| Database: | BASE |
| FullText | Text: Availability: 0 CustomLinks: – Url: https://hdl.handle.net/2117/404366# Name: EDS - BASE (ns324271) Category: fullText Text: View record from BASE |
|---|---|
| Header | DbId: edsbas DbLabel: BASE An: edsbas.FBCEEA4B RelevancyScore: 851 AccessLevel: 3 PubType: Dissertation/ Thesis PubTypeId: dissertation PreciseRelevancyScore: 851.480346679688 |
| IllustrationInfo | |
| Items | – Name: Title Label: Title Group: Ti Data: Evaluation of the Parallel features of Rust for Space Systems – Name: Author Label: Authors Group: Au Data: <searchLink fieldCode="AR" term="%22Perugini%2C+Alberto%22">Perugini, Alberto</searchLink> – Name: Author Label: Contributors Group: Au Data: Universitat Politècnica de Catalunya. Departament d'Arquitectura de Computadors<br />Kosmidis, Leonidas – Name: Publisher Label: Publisher Information Group: PubInfo Data: Universitat Politècnica de Catalunya – Name: DatePubCY Label: Publication Year Group: Date Data: 2023 – Name: Subset Label: Collection Group: HoldingsInfo Data: Universitat Politècnica de Catalunya, BarcelonaTech: UPCommons - Global access to UPC knowledge – Name: Subject Label: Subject Terms Group: Su Data: <searchLink fieldCode="DE" term="%22Àrees+temàtiques+de+la+UPC%3A%3AInformàtica%3A%3ALlenguatges+de+programació%22">Àrees temàtiques de la UPC::Informàtica::Llenguatges de programació</searchLink><br /><searchLink fieldCode="DE" term="%22Computer+algorithms%22">Computer algorithms</searchLink><br /><searchLink fieldCode="DE" term="%22Astronautics%22">Astronautics</searchLink><br /><searchLink fieldCode="DE" term="%22Rust+%28Computer+program+language%29%22">Rust (Computer program language)</searchLink><br /><searchLink fieldCode="DE" term="%22Algorismes+computacionals%22">Algorismes computacionals</searchLink><br /><searchLink fieldCode="DE" term="%22Llenguatges+de+programació--Astronàutica%22">Llenguatges de programació--Astronàutica</searchLink><br /><searchLink fieldCode="DE" term="%22Astronàutica%22">Astronàutica</searchLink> – Name: Abstract Label: Description Group: Ab Data: 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. – Name: TypeDocument Label: Document Type Group: TypDoc Data: master thesis – Name: Format Label: File Description Group: SrcInfo Data: application/pdf – Name: Language Label: Language Group: Lang Data: English – Name: NoteTitleSource Label: Relation Group: SrcInfo Data: https://hdl.handle.net/2117/404366; 178813 – Name: URL Label: Availability Group: URL Data: https://hdl.handle.net/2117/404366 – Name: Copyright Label: Rights Group: Cpyrght Data: Open Access – Name: AN Label: Accession Number Group: ID Data: edsbas.FBCEEA4B |
| PLink | https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsbas&AN=edsbas.FBCEEA4B |
| RecordInfo | BibRecord: BibEntity: Languages: – Text: English Subjects: – SubjectFull: Àrees temàtiques de la UPC::Informàtica::Llenguatges de programació Type: general – SubjectFull: Computer algorithms Type: general – SubjectFull: Astronautics Type: general – SubjectFull: Rust (Computer program language) Type: general – SubjectFull: Algorismes computacionals Type: general – SubjectFull: Llenguatges de programació--Astronàutica Type: general – SubjectFull: Astronàutica Type: general Titles: – TitleFull: Evaluation of the Parallel features of Rust for Space Systems Type: main BibRelationships: HasContributorRelationships: – PersonEntity: Name: NameFull: Perugini, Alberto – PersonEntity: Name: NameFull: Universitat Politècnica de Catalunya. Departament d'Arquitectura de Computadors – PersonEntity: Name: NameFull: Kosmidis, Leonidas IsPartOfRelationships: – BibEntity: Dates: – D: 01 M: 01 Type: published Y: 2023 Identifiers: – Type: issn-locals Value: edsbas – Type: issn-locals Value: edsbas.oa |
| ResultId | 1 |