当前位置: X-MOL 学术Softw. Pract. Exp. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Providing high‐level self‐adaptive abstractions for stream parallelism on multicores
Software: Practice and Experience ( IF 3.5 ) Pub Date : 2021-01-10 , DOI: 10.1002/spe.2948
Adriano Vogel 1 , Dalvan Griebler 1, 2 , Luiz Gustavo Fernandes 1
Affiliation  

Stream processing applications are common computing workloads that demand parallelism to increase their performance. As in the past, parallel programming remains a difficult task for application programmers. The complexity increases when application programmers must set nonintuitive parallelism parameters, that is, the degree of parallelism. The main problem is that state‐of‐the‐art libraries use a static degree of parallelism and are not sufficiently abstracted for developing stream processing applications. In this article, we propose a self‐adaptive regulation of the degree of parallelism to provide higher‐level abstractions. Flexibility is provided to programmers with two new self‐adaptive strategies, one is for performance experts, and the other abstracts the need to set a performance goal. We evaluated our solution using compiler transformation rules to generate parallel code with the SPar domain‐specific language. The experimental results with real‐world applications highlighted higher abstraction levels without significant performance degradation in comparison to static executions. The strategy for performance experts achieved slightly higher performance than the one that works without user‐defined performance goals.

中文翻译:

为多核上的流并行性提供高级自适应抽象

流处理应用程序是常见的计算工作负载,需要并行处理才能提高其性能。与过去一样,并行编程对于应用程序程序员来说仍然是一项艰巨的任务。当应用程序程序员必须设置非直观的并行性参数(即并行度)时,复杂性会增加。主要问题是,最新的库使用静态并行度,并且对于开发流处理应用程序没有足够的抽象性。在本文中,我们提出了对并行度的自适应调节,以提供更高级别的抽象。通过两种新的自适应策略为程序员提供了灵活性,一种是针对性能专家的,另一种则抽象了设置性能目标的需求。我们使用编译器转换规则评估了我们的解决方案,以使用SPar域特定语言生成并行代码。实际应用中的实验结果表明,与静态执行相比,抽象级别更高,而性能没有明显下降。与没有用户定义的性能目标的情况相比,性能专家的战略所获得的性能要略高一些。
更新日期:2021-01-10
down
wechat
bug