arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 0909.1187cs.DCcs.PL
收藏

FastFlow:多核上高效的并行流媒体应用

FastFlow: Efficient Parallel Streaming Applications on Multi-core

Marco Aldinucci, Massimo Torquati, Massimiliano Meneghin

摘要:

由于商品多核架构的迅速普及,共享内存多处理器又重新流行起来。和以往一样,共享内存程序很容易编写,但很难优化;为多核程序员提供优化工具和编程框架是当今的挑战。在这些体系结构上支持有效的流应用程序的努力很少。在本文中,我们介绍FastFlow,一个低层次的编程框架的基础上无锁队列明确设计支持流应用程序的高级语言。我们将FastFlow与最先进的编程框架(如Cilk、OpenMP和Intel TBB)进行比较。我们通过实验证明,在一组微基准测试和实际应用中,FastFlow总是比所有解决方案都更有效; FastFlow相对于其他解决方案的加速优势对于细粒度任务来说可能是大胆的,例如,使用Smith-Waterman算法将蛋白质P01111与UniProt DB进行比对时,在OpenMP上为+35%,在Cilk上为+226%,在TBB上为+96%。

英文摘要:

Shared memory multiprocessors come back to popularity thanks to rapid spreading of commodity multi-core architectures. As ever, shared memory programs are fairly easy to write and quite hard to optimise; providing multi-core programmers with optimising tools and programming frameworks is a nowadays challenge. Few efforts have been done to support effective streaming applications on these architectures. In this paper we introduce FastFlow, a low-level programming framework based on lock-free queues explicitly designed to support high-level languages for streaming applications. We compare FastFlow with state-of-the-art programming frameworks such as Cilk, OpenMP, and Intel TBB. We experimentally demonstrate that FastFlow is always more efficient than all of them in a set of micro-benchmarks and on a real world application; the speedup edge of FastFlow over other solutions might be bold for fine grain tasks, as an example +35% on OpenMP, +226% on Cilk, +96% on TBB for the alignment of protein P01111 against UniProt DB using Smith-Waterman algorithm.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑