Share record |
![]() ![]() |
Please use this identifier to cite or link to this item:
https://tede2.pucrs.br/tede2/handle/tede/11664
Full metadata record
DC Field | Value | Language |
---|---|---|
dc.creator | Faé, Leonardo Gibrowski | - |
dc.creator.Lattes | http://lattes.cnpq.br/8387625672866611 | por |
dc.contributor.advisor1 | Griebler, Dalvan Jair | - |
dc.contributor.advisor1Lattes | http://lattes.cnpq.br/1989039890812573 | por |
dc.date.accessioned | 2025-06-03T19:44:26Z | - |
dc.date.issued | 2025-03-20 | - |
dc.identifier.uri | https://tede2.pucrs.br/tede2/handle/tede/11664 | - |
dc.description.resumo | 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. | por |
dc.description.abstract | 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 | por |
dc.description.provenance | Submitted by PPG Ciência da Computação ([email protected]) on 2025-05-22T13:16:52Z No. of bitstreams: 1 LEONARDO_GIBROWSKI_FAE_DIS.pdf: 1376329 bytes, checksum: f41ebf100c95831ee4547cd6a9ba045e (MD5) | eng |
dc.description.provenance | Approved for entry into archive by Sarajane Pan ([email protected]) on 2025-06-03T19:13:45Z (GMT) No. of bitstreams: 1 LEONARDO_GIBROWSKI_FAE_DIS.pdf: 1376329 bytes, checksum: f41ebf100c95831ee4547cd6a9ba045e (MD5) | eng |
dc.description.provenance | Made available in DSpace on 2025-06-03T19:44:26Z (GMT). No. of bitstreams: 1 LEONARDO_GIBROWSKI_FAE_DIS.pdf: 1376329 bytes, checksum: f41ebf100c95831ee4547cd6a9ba045e (MD5) Previous issue date: 2025-03-20 | eng |
dc.format | application/pdf | * |
dc.thumbnail.url | https://tede2.pucrs.br/tede2/retrieve/193833/LEONARDO_GIBROWSKI_FAE_DIS.pdf.jpg | * |
dc.language | eng | por |
dc.publisher | Pontifícia Universidade Católica do Rio Grande do Sul | por |
dc.publisher.department | Escola Politécnica | por |
dc.publisher.country | Brasil | por |
dc.publisher.initials | PUCRS | por |
dc.publisher.program | Programa de Pós-Graduação em Ciência da Computação | por |
dc.rights | Acesso Aberto | por |
dc.subject | Rust | eng |
dc.subject | Stream Processing | eng |
dc.subject | SPar | eng |
dc.subject | Code Transformation | eng |
dc.subject | Parallelism | eng |
dc.subject | Rust | por |
dc.subject | Processamento de Stream | por |
dc.subject | SPar | por |
dc.subject | Transformação de Código | por |
dc.subject | Paralelismo | por |
dc.subject.cnpq | CIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAO | por |
dc.title | A high-level DSL in rust for expressing linear pipelines on multi-cores, clusters and gpus | por |
dc.title.alternative | Uma DSL alto nivel em rust para expressar pipelines lineares em multi-cores, clusters e gpus | por |
dc.type | Dissertação | por |
dc.restricao.situacao | Trabalho não apresenta restrição para publicação | por |
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.