Dissertation/ Thesis

Evaluation of the Parallel features of Rust for Space Systems

Bibliographic Details
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