Pallas: Mapping Applications Onto Manycore

MULTIPROCESSOR SYSTEM-ON-CHIP: HARDWARE DESIGN AND TOOL INTEGRATION(2011)

引用 2|浏览165
暂无评分
摘要
Parallel programming using the current state-of-the-art in software engineering techniques is hard. Expertise in parallel programming is necessary to deliver good performance in applications; however, it is very common that domain experts lack the requisite expertise in parallel programming. In order to drive the computer science research toward effectively using the available parallel hardware platforms, it is very important to make parallel programming systematical and productive. We believe that the key to designing parallel programs in a systematical way is software architecture, and the key to improve the productivity of developing parallel programs is software frameworks. The basis of both is design patterns and a pattern language.We illustrate how we can use design patterns to architect a wide variety of real applications, including image recognition, speech recognition, optical flow computation, video background subtraction, compressed sensing MRI, computational finance, video games, and machine translation. By exploring software architectures of our applications, we achieved 10x-140x speedups in each of the applications. We illustrate how we can develop parallel programs productively using application frameworks and programming frameworks. We achieve 50%-100% of the performance while using four times fewer lines of code compared to hand-optimized code.
更多
查看译文
关键词
PALLAS,Software Architecture,Application Framework,Programming Framework,Design Pattern,Pattern Language
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要