Share record |
![]() ![]() |
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 | Size | Format | |
---|---|---|---|---|
LEONARDO_GIBROWSKI_FAE_DIS.pdf | LEONARDO_GIBROWSKI_FAÉ_DIS | 1.34 MB | Adobe PDF | ![]() Download/Open Preview |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.