Export this record: EndNote BibTex

Please use this identifier to cite or link to this item: https://tede2.pucrs.br/tede2/handle/tede/11664
Full metadata record
DC FieldValueLanguage
dc.creatorFaé, Leonardo Gibrowski-
dc.creator.Latteshttp://lattes.cnpq.br/8387625672866611por
dc.contributor.advisor1Griebler, Dalvan Jair-
dc.contributor.advisor1Latteshttp://lattes.cnpq.br/1989039890812573por
dc.date.accessioned2025-06-03T19:44:26Z-
dc.date.issued2025-03-20-
dc.identifier.urihttps://tede2.pucrs.br/tede2/handle/tede/11664-
dc.description.resumoModern 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.abstractAplicaçõ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 paralelaspor
dc.description.provenanceSubmitted 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.provenanceApproved 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.provenanceMade 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-20eng
dc.formatapplication/pdf*
dc.thumbnail.urlhttps://tede2.pucrs.br/tede2/retrieve/193833/LEONARDO_GIBROWSKI_FAE_DIS.pdf.jpg*
dc.languageengpor
dc.publisherPontifícia Universidade Católica do Rio Grande do Sulpor
dc.publisher.departmentEscola Politécnicapor
dc.publisher.countryBrasilpor
dc.publisher.initialsPUCRSpor
dc.publisher.programPrograma de Pós-Graduação em Ciência da Computaçãopor
dc.rightsAcesso Abertopor
dc.subjectRusteng
dc.subjectStream Processingeng
dc.subjectSPareng
dc.subjectCode Transformationeng
dc.subjectParallelismeng
dc.subjectRustpor
dc.subjectProcessamento de Streampor
dc.subjectSParpor
dc.subjectTransformação de Códigopor
dc.subjectParalelismopor
dc.subject.cnpqCIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAOpor
dc.titleA high-level DSL in rust for expressing linear pipelines on multi-cores, clusters and gpuspor
dc.title.alternativeUma DSL alto nivel em rust para expressar pipelines lineares em multi-cores, clusters e gpuspor
dc.typeDissertaçãopor
dc.restricao.situacaoTrabalho não apresenta restrição para publicaçãopor
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.