Evaluation of the Parallel Features of Rust for Space Systems

Authors Alberto Perugini, Leonidas Kosmidis



PDF
Thumbnail PDF

File

OASIcs.PARMA-DITAM.2025.5.pdf
  • Filesize: 1.37 MB
  • 20 pages

Document Identifiers

Author Details

Alberto Perugini
  • Barcelona Supercomputing Center (BSC), Spain
  • Universitat Politècnica de Catalunya (UPC), Barcelona, Spain
Leonidas Kosmidis
  • Barcelona Supercomputing Center (BSC), Spain
  • Universitat Politècnica de Catalunya (UPC), Barcelona, Spain

Cite As Get BibTex

Alberto Perugini and Leonidas Kosmidis. Evaluation of the Parallel Features of Rust for Space Systems. In 16th Workshop on Parallel Programming and Run-Time Management Techniques for Many-Core Architectures and 14th Workshop on Design Tools and Architectures for Multicore Embedded Computing Platforms (PARMA-DITAM 2025). Open Access Series in Informatics (OASIcs), Volume 127, pp. 5:1-5:20, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2025) https://doi.org/10.4230/OASIcs.PARMA-DITAM.2025.5

Abstract

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 space missions. However, developing such complex software in low-level languages can have a negative impact on these aspects.
For this reason, this paper 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 the 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 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.

Subject Classification

ACM Subject Classification
  • Software and its engineering → Parallel programming languages
  • Applied computing → Aerospace
  • Software and its engineering → Software safety
Keywords
  • Rust
  • Multicore
  • Space Systems

Metrics

  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    0
    PDF Downloads

References

  1. funty - Rust Package Registry - crates.io. URL: https://crates.io/crates/funty.
  2. half - Rust Package Registry - crates.io. URL: https://crates.io/crates/half.
  3. num_traits - Rust Package Registry - crates.io. URL: https://crates.io/crates/num_traits.
  4. NVIDIA Jetson Xavier Series - nvidia.com. URL: https://www.nvidia.com/en-us/autonomous-machines/embedded-systems/jetson-agx-xavier/.
  5. Pre-RFC: Cargo mutually exclusive features - internals.rust-lang.org. URL: https://internals.rust-lang.org/t/pre-rfc-cargo-mutually-exclusive-features/13182.
  6. RAII - cppreference.com. URL: https://en.cppreference.com/w/cpp/language/raii.
  7. rayon - Rust Package Registry - crates.io. URL: https://crates.io/crates/rayon.
  8. What Every Computer Scientist Should Know About Floating-Point Arithmetic - docs.oracle.com. [Accessed 02-09-2023]. URL: https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html.
  9. Why Discord is switching from Go to Rust - discord.com. URL: https://discord.com/blog/why-discord-is-switching-from-go-to-rust.
  10. Dimitris Aspetakis. Evaluation of the Ada SPARK Language Effectiveness in Graphics Processing Units for Safety Critical Systems. Bachelor’s thesis, Universitat Polytècnica de Catalunya, May 2023. URL: https://upcommons.upc.edu/handle/2117/390672.
  11. Dimitris Aspetakis, Leonidas Kosmidis, Matina Maria Trompouki, Jose Ruiz, and Gabor Marosy. Formal Methods for High Integrity GPU Software Development and Verification. In Design, Automation & Test in Europe Conference & Exhibition (DATE), 2024. Google Scholar
  12. D. Steenari et al. On-Board Processing Benchmarks, 2021. URL: https://obpmark.github.io/.
  13. Leonidas Kosmidis, Dimitris Aspetakis, and Matina Maria Trompouki. Formal methods for GPU Software Development Using Ada SPARK, presentation at the ESA Software Product Assurance Workshop 2023. URL: https://www.cosmos.esa.int/documents/10939403/13962862/3_updated_Leonidas_Kosmidis_2023_Software+Product+Assurance+Workshop+2023_Formal_Methods_GPUs+(1).pdf.
  14. Leonidas Kosmidis, Iván Rodriguez, Alvaro Jover-Alvarez, Sergi Alcaide, Jérôme Lachaize, Olivier Notebaert, Antoine Certain, and David Steenari. GPU4S: Major Project Outcomes, Lessons Learnt and Way Forward. In Design, Automation & Test in Europe Conference & Exhibition (DATE), 2021. Google Scholar
  15. Alberto Perugini and Leonidas Kosmidis. GPU4S Benchmarks Rust Port Source Code Repository. URL: https://gitlab.bsc.es/aperugin/gpu4s_rust (visited on 2025-02-20).
    Software Heritage Logo archived version
  16. Ivan Rodriguez, Leonidas Kosmidis, Jerome Lachaize, Olivier Notebaert, and David Steenari. GPU4S Bench: Design and Implementation of an Open GPU Benchmarking Suite for Space On-board Processing. Technical Report UPC-DAC-RR-CAP-2019-1, Universitat Politècnica de Catalunya, 2019. URL: https://www.ac.upc.edu/app/research-reports/public/html/research_center_index-CAP-2019,en.html.
  17. Marc Solé, Jannis Wolf, Ivan Rodriguez, Alvaro Jover, Matina Maria Trompouki, and Leonidas Kosmidis. Evaluation of the Multicore Performance Capabilities of the Next Generation Flight Computers. In Digital Avionics Systems Conference (DASC), 2023. Google Scholar
  18. David Steenari, Leonidas Kosmidis, Ivan Rodríguez-Ferrández, Álvaro Jover-Álvarez, and Kyra Förster. OBPMark (On-Board Processing Benchmarks) - Open Source Computational Performance Benchmarks for Space Applications. In 2nd European Workshop on On-Board Data Processing (OBDP), 2021. URL: https://doi.org/10.5281/zenodo.5638577.
Questions / Remarks / Feedback
X

Feedback for Dagstuhl Publishing


Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail