Export this record: EndNote BibTex

Please use this identifier to cite or link to this item: https://tede2.pucrs.br/tede2/handle/tede/11664
Document type: Dissertação
Title: A high-level DSL in rust for expressing linear pipelines on multi-cores, clusters and gpus
Other Titles: Uma DSL alto nivel em rust para expressar pipelines lineares em multi-cores, clusters e gpus
Author: Faé, Leonardo Gibrowski 
Advisor: Griebler, Dalvan Jair
Abstract (native): Modern data-intensive applications demand efficient processing of continuous data streams, often requiring parallel execution across diverse hardware environments, including shared-memory systems, distributed clusters, and GPUs. Programming these environments effectively presents significant challenges due to their distinct characteristics and programming models. This work presents a novel high-level domain-specific language embedded in Rust for expressing linear pipeline parallelism targeting Clusters, multi-core, and GPU architectures. We named it SPar-Rust, which simplifies the expressiveness of linear pipeline parallelism and provides a unified programming interface targeting different parallel architectures for developing productive parallel stream-processing applications. SPar-Rust performs source-to-source code transformations where low-level details are hidden from developers by leveraging Rust’s powerful macro system. We analyze the Rust tool-chain’s capabilities for code generation and abstraction, focusing on our approach’s performance and programmability implications compared to state-of-theart solutions, showcasing its effectiveness and limitations. To the best of our knowledge, SPar-Rust is the first DSL in Rust to offer integrated support for GPU execution and a unified programming interface targeting different parallel architectures.
Abstract (english): Aplicações modernas com uso intensivo de dados exigem o processamento eficiente de streams contínuos de dados, frequentemente requerendo execução paralela em diversos ambientes de hardware, incluindo sistemas de memória compartilhada, clusters distribuídos e GPUs. Programar esses ambientes de forma eficaz apresenta desafios significativos devido às suas características e modelos de programação distintos. Este trabalho apresenta uma nova linguagem de domínio específico de alto nível, incorporada em Rust, para expressar paralelismo de pipeline linear direcionado a arquiteturas de multicore, Clusters, e GPU. Nós a chamamos de SPar-Rust, que simplifica a expressividade do paralelismo de pipeline linear e fornece uma interface de programação unificada direcionada a diferentes arquiteturas paralelas para o desenvolvimento produtivo de aplicações paralelas de processamento de fluxo. SPar-Rust realiza transformações de código fonte para fonte, onde os detalhes de baixo nível são ocultados dos desenvolvedores, usando o poderoso sistema de macros do Rust. Analisamos as capacidades do conjunto de ferramentas de Rust para geração e abstração de código, focando nas implicações de desempenho e programabilidade de nossa abordagem em comparação com soluções do estado da arte, mostrando sua eficácia e limitações. Até onde sabemos, SPar-Rust é a primeira DSL em Rust a oferecer suporte integrado para execução em GPU e uma interface de programação unificada direcionada a diferentes arquiteturas paralelas
Keywords: Rust
Stream Processing
SPar
Code Transformation
Parallelism
Rust
Processamento de Stream
SPar
Transformação de Código
Paralelismo
CNPQ Knowledge Areas: CIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAO
Language: eng
Country: Brasil
Publisher: Pontifícia Universidade Católica do Rio Grande do Sul
Institution Acronym: PUCRS
Department: Escola Politécnica
Program: Programa de Pós-Graduação em Ciência da Computação
Access type: Acesso Aberto
Fulltext access restriction: Trabalho não apresenta restrição para publicação
URI: https://tede2.pucrs.br/tede2/handle/tede/11664
Issue Date: 20-Mar-2025
Appears in Collections:Programa de Pós-Graduação em Ciência da Computação

Files in This Item:
File Description SizeFormat 
LEONARDO_GIBROWSKI_FAE_DIS.pdfLEONARDO_GIBROWSKI_FAÉ_DIS1.34 MBAdobe PDFThumbnail

Download/Open Preview


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.