总结了一下个人看Berkeley的《 Architecting Parallel Applications》课程ppt的学习心得:
Lecture1: Introduction and Overview
并行的目的Motivation of parallelism
1、 在硬件上,单处理器性能的提高受到了三方面的壁垒:
功耗、内存以及指令级并行性(ILP),各方面具体内容可参考James Reinders的并行介绍http://www.builder.com.cn/video_intel/video_intel.shtml
2、 Small is beautiful,"smallness within bigness"的思想,提出分而治之的概念,执行一个大的工作任务就等于执行一组相关的小工作任务。
3、 并行化硬件的未来趋势:future general-purpose processors will be built from small (5-9 stage pipeline) energy efficient processing elements
4、 同时在软件并行编程上我们必须满足:Productively: programmer’s time, time-to-market;Efficiently: meeting performance targets that the hardware should be able to realize;Correctly: software meets its functional specification。
目前未能解决的难题How not to solve the problem
有了多核体系架构的支持,我们在并行编程上遇到以下几种可能以及挑战
1、在原有代码上不断地修改并监测其性能,但是经常会失败并且性能难以提高。

2、通过一个新的并行语言来编程,目前200种并行语言仍未有合适所有应用的。

3、通过编写一个超级编译器来将代码编译为并行执行。

在将来,并行编程并不是在于训练编程人员学习如何写并行程序。而是在于各领域的专家去使用并行应用框架来编写应用程序。
解决方法Our approach
以满足productivity efficiency correctness为前提,建立起软件架构-编程模型与环境-编程语言-编译器与调试器-硬件架构,其中的关键在于设计模式design patterns和模式语言pattern language。

Example: CBIR
本文探讨了并行编程面临的挑战,包括硬件限制、多核架构下代码优化困难及缺乏通用并行语言等问题。提出了以设计模式为中心的软件架构方法作为解决方案。
110

被折叠的 条评论
为什么被折叠?



