Stream parallelism annotations for multi-core frameworks

RB Hoffmann, D Griebler, M Danelutto… - Proceedings of the 24th …, 2020 - dl.acm.org
Proceedings of the 24th Brazilian Symposium on Context-Oriented Programming …, 2020dl.acm.org
Data generation, collection, and processing is an important workload of modern computer
architectures. Stream or high-intensity data flow applications are commonly employed in
extracting and interpreting the information contained in this data. Due to the computational
complexity of these applications, high-performance ought to be achieved using parallel
computing. Indeed, the efficient exploitation of available parallel resources from the
architecture remains a challenging task for the programmers. Techniques and …
Data generation, collection, and processing is an important workload of modern computer architectures. Stream or high-intensity data flow applications are commonly employed in extracting and interpreting the information contained in this data. Due to the computational complexity of these applications, high-performance ought to be achieved using parallel computing. Indeed, the efficient exploitation of available parallel resources from the architecture remains a challenging task for the programmers. Techniques and methodologies are required to help shift the efforts from the complexity of parallelism exploitation to specific algorithmic solutions. To tackle this problem, we propose a methodology that provides the developer with a suitable abstraction layer between a clean and effective parallel programming interface targeting different multi-core parallel programming frameworks. We used standard C++ code annotations that may be inserted in the source code by the programmer. Then, a compiler parses C++ code with the annotations and generates calls to the desired parallel runtime API. Our experiments demonstrate the feasibility of our methodology and the performance of the abstraction layer, where the difference is negligible in four applications with respect to the state-of-the-art C++ parallel programming frameworks. Additionally, our methodology allows improving the application performance since the developers can choose the runtime that best performs in their system.
ACM Digital Library
以上显示的是最相近的搜索结果。 查看全部搜索结果