257 research outputs found
larcc-group/ar-invetory: AR inventory
Aplicativo com realidade aumentada voltado à organização da infraestrutura de equipamentos de TI e datacenters.
Autores:
Vítor Mateus Backes Barth (Criador) [email protected]
Dalvan Griebler (Colaborador e mentoria) [email protected]
Adriano Vogel (Colaborador e mentoria) [email protected]
SPar: A DSL for High-Level and Productive Stream Parallelism
This paper introduces SPar, an internal C++ Domain-Specific Language (DSL) that supports the development of classic stream parallel applications. The DSL uses standard C++ attributes to introduce annotations tagging the notable components of stream parallel applications: stream sources and stream processing stages. A set of tools process SPar code (C++ annotated code using the SPar attributes) to generate FastFlow C++ code that exploits the stream parallelism denoted by SPar annotations while targeting shared memory multi-core architectures. We outline the main SPar features along with the main implementation techniques and tools. Also, we show the results of experiments assessing the feasibility of the entire approach as well as SPar's performance and expressiveness
High-Level and Productive Stream Parallelism for Dedup, Ferret, and Bzip2
Parallel programming has been a challenging task for application programmers. Stream processing is an application domain present in several scientific, enterprise, and financial areas that lack suitable abstractions to exploit parallelism. Our goal is to assess the feasibility of state-of-the-art frameworks/libraries (Pthreads, TBB, and FastFlow) and the SPar domain-specific language for real-world streaming applications (Dedup, Ferret, and Bzip2) targeting multi-core architectures. SPar was specially designed to provide high-level and productive stream parallelism abstractions, supporting programmers with standard C++-11 annotations. For the experiments, we implemented three streaming applications. We discussed SPar’s programmability advantages compared to the frameworks in terms of productivity and structured parallel programming. The results demonstrate that SPar improves productivity and provides the necessary features to achieve similar performances compared to the state-of-the-art
Stream parallelism with ordered data constraints on multi-core systems
It is often a challenge to keep input/output tasks/results in order for parallel computations over data streams, particularly when stateless task operators are replicated to increase parallelism when there are irregular tasks. Maintaining input/output order requires additional coding effort and may significantly impact the application’s actual throughput. Thus, we propose a new implementation technique designed to be easily integrated with any of the existing C++ parallel programming frameworks that support stream parallelism. In this paper, it is first implemented and studied using SPar, our high-level domain-specific language for stream parallelism. We discuss the results of a set of experiments with real-world applications revealing how significant performance improvements may be achieved when our proposed solution is integrated within SPar, especially for data compression applications. Also, we show the results of experiments performed after integrating our solution within FastFlow and TBB, revealing no significant overheads
Higher-Level Parallelism Abstractions for Video Applications with SPar
SPar is a Domain-Specific Language (DSL) designed to provide high-level parallel programming abstractions for streaming applications. Video processing application domain requires parallel processing to extract and analyze information quickly. When using state-of-the-art frameworks such as FastFlow and TBB, the application programmer has to manage source code re-factoring and performance optimization to implement parallelism efficiently. Our goal is to make this process easier for programmers through SPar. Thus we assess SPar's programming language and its performance in traditional video applications. We also discuss different implementations compared to the ones of SPar. Results demonstrate that SPar maintains the sequential code structure, is less code intrusive, and provides higher-level programming abstractions without introducing notable performance losses. Therefore, it represents a good choice for application programmers from the video processing domain
The Journal of Supercomputing / Enhancing self-adaptation for efficient decision-making at run-time in streaming applications on multicores
Parallel computing is very important to accelerate the performance of computing applications. Moreover, parallel applications are expected to continue executing in more dynamic environments and react to changing conditions. In this context, applying self-adaptation is a potential solution to achieve a higher level of autonomic abstractions and runtime responsiveness. In our research, we aim to explore and assess the possible abstractions attainable through the transparent management of parallel executions by self-adaptation. Our primary objectives are to expand the adaptation space to better reflect real-world applications and assess the potential for self-adaptation to enhance efficiency. We provide the following scientific contributions: (I) A conceptual framework to improve the designing of self-adaptation; (II) A new decision-making strategy for applications with multiple parallel stages; (III) A comprehensive evaluation of the proposed decision-making strategy compared to the state-of-the-art. The results demonstrate that the proposed conceptual framework can help design and implement self-adaptive strategies that are more modular and reusable. The proposed decision-making strategy provides significant gains in accuracy compared to the state-of-the-art, increasing the parallel applications’ performance and efficiency.Version of recor
Efficient NAS Benchmark Kernels with C++ Parallel Programming
Benchmarking is a way to study the performance of new architectures and parallel programming frameworks. Well-established benchmark suites such as the NAS Parallel Benchmarks (NPB) comprise legacy codes that still lack portability to C++ language. As a consequence, a set of high-level and easy-to-use C++ parallel programming frameworks cannot be tested in NPB. Our goal is to describe a C++ porting of the NPB kernels and to analyze the performance achieved by different parallel implementations written using the Intel TBB, OpenMP and FastFlow frameworks for Multi-Cores. The experiments show an efficient code porting from Fortran to C++ and an efficient parallelization on average
LZSS Parallel Stream Processing on Multi-Cores with GPUs
This repository has the parallel and sequential implementations for the Lempel-Ziv-Storer-Szymanski (LZSS) data compression applications. We introduced stream parallelism for CPU (using SPar) and GPU (using CUDA and OpenCL).
Reference paper citation
[DOI] Stein, C.; Griebler, D.; Danelutto, M.; Fernandes, L. G. Stream Parallelism on the LZSS Data Compression Application for Multi-Cores with GPUs. 27th Euromicro International Conference on Parallel, Distributed and Network-Based Processing (PDP), pp. 247-251, IEEE, Pavia, Italy, 2019
Prophet: a Software as a Service (SaaS) Biodigester Data Analytics with a Distributed Database in the Cloud
Prophet is a Software as a Service (SaaS) Biodigestor Data Analytics prototype with support to a distributed database in the cloud. The goal is to provide an intuitive user interface to upload biodigester data (from sensors like temperature) and predict the Biogas production.
The software solution is divided into two:
- Prophet Web is a Web-based GUI interface for Biodigestor Data Analytics.
- Prophet Service is a background service for Prophet Web that trains a C++ neural network and does inference.
Reference paper citation
[DOI] Pieper, R.; Griebler, D.; Lovato, A.. Towards a Software as a Service for Biodigestor Analytics. Revista Eletrônica Argentina-Brasil de Tecnologias da Informação e da Comunicação (REABTIC), 2016
NPB Benchmark Kernels in C++ with parallel versions on OpenMP, TBB, and FastFlow
NAS Parallel Benchmark Kernels are written in C++. The parallel versions are in FastFlow, TBB, and OpenMP
Reference paper citation
[DOI] D. Griebler, J. Loff, G. Mencagli, M. Danelutto and L. G. Fernandes. Efficient NAS Benchmark Kernels with C++ Parallel Programming. 26th Euromicro International Conference on Parallel, Distributed and Network-Based Processing (PDP). Cambridge, United Kingdom, 2018
- …
