“多核软件设计”课程建设.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
“多核软件设计”课程建设   1引言      华南理工大学软件学院和计算机科学与工程学院在多核微处理器系统出现之初,就已经意识到该技术对软件设计的重大影响,开始研究相关技术和规划设立“多核软件设计”课程。2006年12月,作为Intel大学合作计划的合作伙伴,华南理工大学派遣本课程的负责教师参加了相关技术培训。2007年3月,该课程进入“Intel大学合作计划”,并接收了Intel公司捐赠的相关实验设备。2007年6月,该课程被批准为2007年度“教育部-Intel精品课程”建设项目。      2“多核软件设计”课程的知识体系      根据多核软件技术本身的特点,以及我校整体课程体系情况,学院将“多核软件设计”课程的主要内容设定为四   个主要部分:基本理论知识,多核软件设计技术,基于多核处理器的并行算法设计与实现,多核软件性能分析工具的使用。   2.1基本理论知识   该部分主要介绍多核软件设计的硬件和操作系统平台基础,以期让学生掌握多核软件设计的基本原理。   (1) 多核处理器体系结构。此部分将重点讲授基于地址空间共享机制的多核处理器体系结构的主要技术特征,介绍以Intel公司为代表的主流多核微处理器产品,并根据多核处理器的发展介绍其他有代表性的多核微处理器体系结构。   (2) 多核处理器上的操作系统。该部分将首先回顾线程和进程的基本概念,继而讨论操作系统对线程的不同实现思路(内核级、应用级、混合型)和特点。在此基础上,介绍多核处理器上操作系统的关键性技术问题,重点介绍Windows 2000操作系统中多核处理器的线程调度机制。   2.2多核软件设计技术   这部分内容主要讲授基于Linux、Windows等操作系统平台上多线程程序设计的基本操作系统原语,以及OpenMP的基本设计方法,以期让学生掌握使用多线程方法进行多核软件设计的基本技能。   (1) 基于Linux平台的多线程程序设计方法。该部分主要讲授PThread线程库中的主要API接口函数,包括线程创建、撤销、互斥锁、条件变量、信号量,等,并通过N栅栏和生产者/消费者两个问题介绍上述API接口函数的使用。   (2) 基于Windows平台的多线程程序设计方法。该部分主要讲授Windows平台上的多线程API接口函数,包括线程创建、撤销、挂起/恢复、优先级设置、睡眠、临界区,等。   (3) 基于OpenMP的多核软件程序设计方法。该部分主要讲授OpenMP的主要原理和特点,编译制导语句格式,语句中经常使用的制导命令和子句,重点介绍变量属性、线程分配策略、规约语句主要内容。   2.3并行算法设计基本方法和实例分析   这部分内容主要讲授并行计算程序设计的一般原理,以及结合实例说明在多核处理器平台上使用多线程方法设计并行程序的方法。   (1) 并行程序设计的基本原理。该部分首先讲授任务依赖图,引入并发度、关键路径、粒度等基本概念,然后介绍了三种基本的任务分解方法,最后围绕加速比、执行效率、成本等概念,讲授Amdahl定律。   (2) 并行程序设计实例分析。该部分有针对性地选择了三个实例:高斯消去法,多路归并排序和蒙特卡罗法求PI值。其中,高斯消去法主要介绍数值类型计算中的数据划分方法,多路归并排序主要介绍非数值计算中比较复杂的负载均衡问题,蒙特卡罗法则是通过多线程共享互斥的随机数产生过程而对性能 产生的副作用,来讨论多线程程序设计中可能出现的问题。   2.4多核软件的性能分析方法和工具   这部分内容以Intel公司的VTune性能分析工具为基础,介绍了多核软件实际运行性能的分析和优化方法。首先介绍了性能分析工具中采样方式和调用图方式的工作原理,然后介绍了Thread Checker工具中关于数据竞争、死锁、关键路径、负载均衡等重要问题的方法。      3“多核软件设计”课程建设的几点经验      “多核软件设计”是当前新兴的软件设计方法和技术,它需要结合计算机系统结构、操作系统等基础理论知识,还需要掌握并行算法设计的基本思想和方法,以改进和优化已有的串行程序设计。这对课程的教学和研究都提出了新的要求。我们在该课程的建设中在以下方面取得了一些经验。   3.1重视科研工作和教学的联系,以最新科研成果带动教学水平的提高   本课程团队长期从事计算机系统结构和基础软件的研究工作,对当前多核处理器技术的发展比较了解,充分认识到多核处理器体系结构对已有软件设计方法提出的新挑战和新问题,并在多核处理器出现之初就搭建了相关实验平台,开始了多核软件设计的研究工作。正是这些研究工作使得我们具备了多核软件设计的经验,掌握了其关键技术,认识到其中可能存在的误区和问题,这为后续的课程建设奠定了坚实的基础

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档