录稿查询
联系我们
在线投稿
刊文精选

教育教学论文:多核时代“并行计算”课程教学模式研究与实践

来源:教育教学论坛     2021-5-18 16:20:27      点击:

雷向东 雷振阳 龙军

[摘 要] 多核技术的出现与快速发展使计算机技术发生了重大变化。国内外著名高校将多核技术引入到计算机教育体系当中,并开设了并行计算课程,培养学生的并行计算思维和并行计算系统能力。文章对“并行计算”课程建设、教材建设、教学模式和课程思政等方面进行研究和探讨。

[关键词] 并行计算;多核;教学模式;课程思政

[基金项目] 2017年度湖南省研究生教学改革项目“基于协同创新中心专业学位研究生多元化联合培养模式与实践研究”(JG2017B016);2019年度中南大学《并行计算》课程思政项目

[作者简介] 雷向东(1964—),男,湖南常宁人,博士,中南大学计算机学院副教授,主要从事并行计算研究。

[中图分类号] G642   [文献标识码] A   [文章编号] 1674-9324(2021)02-0141-04    [收稿日期] 2020-05-06

多核技术的出现与快速发展使计算机技术发生了重大变化[1,2]。多个处理器核心的出现,为软件在单处理器上的并行提供了丰富的硬件资源。多核技术利用片上多核处理器资源进行线程级并行,通过多核并行编程技术,充分利用这些计算资源。为了应对多核技术及其引起的相关计算机技术发展的需要,国内外著名高校都开设了“并行计算”课程,将多核技术相关知识内容融入“并行计算”教学中[3,4]。通过“并行计算”课程的学习,使学生掌握多核相关知识、多核程序设计方法以及相关的多核优化工具,更好地适应计算机技术发展和IT企业的需求。

一、“并行计算”课程建设

并行计算是实现高性能、高可用计算机系统的主要途径。“并行计算”课程以高性能并行计算机为主题,主要介绍当代并行计算机系统及其结构模型,并行算法设计与并行程序的设计原理与方法。通过“并行计算”课程的学习,使学生从系统结构、算法、程序设计三个方面,了解并行处理的基本概念,把握并行处理技术的最新成就和发展趋势,掌握并行计算编程技术和方法。

多核技术的出现与快速发展带来了计算机技术的变革,这既带来了计算机体系结构、操作系统、编译、程序设计等方面的技术进步,又对计算机教育提出了挑战。为了应对这一挑战,很多高校都开设了多核编程。多核课程教学目的是让学生了解当前计算机芯片设计领域中,新兴多核體系设计的基本原理、技术难点、目前发展状况以及对计算机领域带来的相关影响。多核课程主要讲述多核处理器体系结构和多核编程。多核编程讲究程序的架构,任务的分配,每个处理机的负载。现在用的多核编程工具主要是面向共享存储机制的OpenMP并行编程,主要利用的共享内存保护机制是分布式锁机制。这些多核课程的内容应该在“并行计算”课程中介绍清楚。

二、“并行计算”课程教材建设

根据笔者多年从事“并行计算”教学、科研的经验,编写了《高性能并行计算:技术、算法与编程》教材,已由中南大学出版社出版。该教材全面介绍了并行计算原理、技术和方法,以及并行计算的最新技术。全书分成并行计算机体系结构、并行算法和并行编程三部分,共15章。将多核技术引入教材中,安排第7章专门介绍多核技术。并行计算机体系结构部分介绍了高性能并行计算机的概念和系统组成、静态互联网络和动态互联网络、并行计算机访存模型、Amdahl定律、并行系统的可扩展性和基准测试程序、基于监听总线高速缓存一致性协议和基于目录的高速缓存一致性协议、消息传递系统中的交换机制、机群、多核技术和多核中的并行性、以及并行计算模型。并行算法部分介绍了数组求和、排序、矩阵运算、线性方程组求解、快速傅里叶变换和图等并行算法。并行编程部分介绍了MPI、POISX、OpenMP、Java多线程和Windows多线程并行程序设计思想、方法和技术。教材各章组织如下。

第1章并行计算机体系结构,介绍了高性能并行计算机的概念和系统组成,叙述了计算机系统的弗林分类法,详细讲解了SIMD和MIMD系统。第2章多处理器互连网络,介绍了静态互连网络和动态互连网络,详细讲解了并行计算机访存模型。第3章多处理器体系结构的性能,介绍了并行计算性能评测、详细讲解了Amdahl定律、Gustafson定律和Sun-Ni定律,并对并行系统的可扩展性和基准测试程序进行了讨论。第4章共享存储器系统,介绍了共享存储器系统高速缓存一致性,详细讲解了基于监听总线协议和基于目录的协议和共享存储器的编程模型。第5章消息传递系统,介绍了消息传递系统中路由,详细讲解了消息传递中的交换机制和消息传递系统编程模型。第6章机群,介绍了机群的体系结构和典型的IBM SP机群系统。第7章多核构架,介绍了多核技术和多核中的并行性,以及多核处理器关键技术。第8章并行计算模型与并行算法设计方法,介绍了包括PRAM模型、APRAM模型、BSP模型和logP模型的计算模型,以及并行算法设计方法。第9章并行算法,包括数组求和、排序、矩阵运算、线性方程组求解,图算法和快速傅里叶变换。第10章并行程序设计方法,包括并行程序设计基础、共享存储系统并行编程、分布式存储系统并行编程和并行程序设计环境与工具。第11章MPI并行程序设计,详细讲解了MPI并行程序设计思想,方法和技术。第12章POSIX线程并行程序设计,详细讲解了POSIX线程并行程序设计思想、方法和技术。第13章OpenMP并行程序设计详细讲解了OpenMP并行程序设计思想、方法和技术。第14章Java并行程序设计,详细讲解了Java并行程序设计思想、方法和技术。第15章Windows多线程并行程序设计,详细讲解了Windows并行程序设计思想、方法和技术。全书提供了大量应用实例,每章后均附有习题,教师根据教学进度和学时,合理选择书上习题以进一步加深理解课堂所讲授的内容。该教材适合作为高年级本科生、研究生的教材。

三、“并行计算”课程教学模式

兴趣是学生学习的最大动力[5]。在“并行计算”课程中,坚持以学生为中心的思想,针对所学过的“计算机体系结构”“操作系统”“编译原理”等课程知识,经常以相关知识引导学生进行深入理解,同时也提高了学生的自信心,更好地实现自我。启发式教学是培养创新型人才的重要方法[6,7]。在教学过程中应引导学生在学习过程中主动地提出问题,主动地思考问题,主动去发现、去探索,教师在培养学生的批判性思维与探索精神的同时,做到教学相长。例如,在讲授互联网技术时,引导学生积极思考,提出问题,思考多核处理器中互联网问题,并鼓励学生通过查阅相关资料,研究路由协议,进行讨论式学习,以期收到更好的教学效果。采用项目驱动方式教学。教师在教学过程中布置进行工程实践项目,由学生分阶段提交产品,通过工程项目和课程论文的教学环节,可以将“学习和研究”紧密地结合起来。在“并行计算”课程中引入与探讨多核技术,使学生更好地适应飞速到来的多核时代。一个芯片上集成多核的系统将对资源的分配、核心互联、多核技术编程方法等带来巨大的影响,通过向学生介绍多核概念、多核技术以及其带来的挑战,可以激发学生的学习和研究兴趣,从而更好地开展进一步的科研工作。

四、“并行计算”实验教学

“并行计算”是一门应用性非常强的综合性课程[8],并行计算广泛应用于生物计算、气象预报、油藏模拟、核武器数值模拟、航天器设计、基因测序。为了更好地开展“并行计算”课程教学,在完成课程理论教学后进行实践教学。实践是“并行计算”课程教学中不可或缺的重要环节。“并行计算”课程实践编程工具主要有MPI、POISX、OpenMP、Java多核多线程和Windows多核多线程。MPI是目前最重要的MPP和机群的并行编程工具,具有强大的功能且效率非常高。POSIX线程是在类Unix操作系统(Unix、Linux、Mac OS X等)中线程的POSIX标准,该标准定义了创建和操纵线程的一整套API。POSIX线程具有很好的可移植性,属于共享存储器并行技术。程序调用API启动多个线程,同步方式有互斥量、信号量、条件变量,用于所有线程的同步。OpenMP是一个支持共享存储并行设计的库,特别适宜多核的并行程序。Java多线程从诞生开始就明智地选择了内置对多线程的支持,这使得Java语言相比其他语言具有明显的优势。Windows线程API为线程、共享内存和同步原语提供支持。这些编程环境包含了消息传递系统和共享存储器系统,通过实践工程项目课题实践教学,使学生能够掌握了消息传递和共享存储器两种并行程序设计方法。

五、“并行计算”课程思政

课程思政是在课程知识学习的同时进行价值观的引导[8],把课程中蕴含的思想政治教育元素,从哲学角度将思政融入课堂[9],将社会主义核心价值观与课程内容相结合,有机融入课程教育体系中[ 10 ],充分发挥专业课程的在思想政治教育方面的作用[ 11 ]。在“并行计算”课程中融入思想政治元素,达到引导学生在完成并行計算专业课程学习的同时,塑造价值观、人生观的目的。

根据课程思政的目标修改了“并行计算”课程的教学大纲,重点在教学目标培养上,在并行计算知识和技能目标基础上,加上素质目标。把学生在并行计算专业知识学习与政治素质培养相结合。以习近平新时代中国特色社会主义思想为指导,坚持知识传授与价值引领相结合,运用可以培养大学生理想信念、价值取向、政治信仰、社会责任的题材与内容,全面提高大学生政治素质,让学生成为德才兼备、全面发展的人才。确立价值塑造、能力培养、知识传授三位一体,深入挖掘课程所蕴含的思想政治教育元素和所承载的思想政治教育功能,融入课堂教学,达成德育渗透的教学成效[ 12 ]。提高学生思想水平、政治觉悟、道德品质、文化素养等的培养。坚持“育人为本、德育为先”,把培育和践行社会主义核心价值观有机融入“并行计算”课程教育体系中。

在课堂教学中介绍我国在超级计算机领域取得领先世界的伟大成就,增强同学们的民族自豪感。但同时清醒认识到我国在芯片等核心技术与西方国家有较大的差距,教育学生发奋学习,努力拼搏。在讲述并行计算机体系结构时,介绍我国“天河二号”超级计算机。天河二号是由国防科学技术大学研制的超级计算机系统,以峰值计算速度每秒5.49亿亿次、持续计算速度每秒3.39亿亿次双精度浮点运算的优异性能位居榜首,成为2013年全球最快超级计算机。当年西方国家封锁制裁我国,结果我国自力更生研究出原子弹、氢弹、超级计算机。加强了学生爱国主义、集体主义、社会主义教育,引导学生树立正确的历史观、民族观、国家观、文化观,奋发图强、自强不息,为建设好祖国贡献自己的青春才华。在讲述并行计算机体系结构性能时,介绍美国不出售我国“天河二号”使用的CPU。我国计算机科研工作者于2016年自主研发了神威·太湖之光超级计算机,完全使用我国自己研制的CPU。2016年6月20日,在法兰克福世界超算大会上,国际TOP500组织发布的榜单显示,“神威·太湖之光”超级计算机系统登顶榜单之首。教育学生“不忘初心,牢记使命”,坚持自主研发,掌握核心技术,才能打破西方国家对我国的技术封锁。引导学生努力与自我发展和民族复兴联系起来。在讲述消息传递系统中的路由协议时,介绍路由协议设计的原则。路由协议原则是所有的消息传递要自由、平等、公正。教育学生树立“自由、平等、公正、法治”社会主义核心价值观。在讲述机群时,介绍机群的一个最重要的特征是对用户提供了统一的系统映像,称为单一系统映像(Single-System Image,SSI),即机群系统中各计算机工作站工作越和谐,机群性能越高。教育学生“和谐”的社会主义核心价值观。“和谐”的是经济社会和谐稳定、持续健康发展的重要保证。在讲述多核构架时,介绍CPU芯片设计生产。CPU芯片设计生产是工业生产的皇冠明珠。而其中一个关键设备是光刻机,可以说是半导体芯片之魂,光刻机的精度直接决定了芯片的制程。只有最先进的EUV光刻机才能生产7nm芯片。美国对华技术出口管制以及《瓦森纳协议》,对中国的发展具有深层次的影响,企图阻碍中国加入全球生产体系。生产世界上最先进的EUV光刻机是荷兰的ASML公司,ASML的强大就是西方工业化体系的集成。从我国花重金都买不到最先进的光刻机之事件。引导学生将自我发展和民族复兴联系起来,爱国主义和敬业精神结合起来。总有一天我国能够生产出最先进的光刻机。教育学生“爱国、敬业”的社会主义核心价值观。真正先进的技术,就是你肯花重金也买不来。引导学生将自我发展和民族复兴联系起来。个人利益要服从国家和集体利益:在讲述并行算法设计时,介绍并行算法设计方法。由于人们的思维方式不习惯并行处理,并行算法设计比较难。并行算法设计的一个重要原则是负载平衡,即各部分要服从整体,这样才能提高并行算法的性能。教育学生在国家整体发展战略中,个人利益要服从国家和集体利益。在社会主义制度下,个人利益要服从集体利益,局部利益要服从整体利益,暂时利益要服从长远利益,或者说小局服从大局,小道理服从大道理。在讲述并行程序设计方法时,介绍并行程序设计方法严谨性、踏实性和规范性。教育学生科学研究的严谨性、踏实性、规范性,让学生真切感受到科学研究的严谨性、踏实性、规范性。理解科学研究者对科学研究的态度观念,技术使用的价值和伦理关系。程序设计是利用计算机来解决现实问题,提供工作效率的一种手段。

六、結束语

多核技术的出现与快速发展使计算机技术发生了重大变化。通过多核编程,充分利用多核处理器体系结构,发挥多核处理器的性能。国内外著名高校将多核技术引入到计算机教育体系当中,对本科生高年级学生和研究生开设了“并行计算”课程,本文对“并行计算”课程建设、课程思政、教材建设和教学模式,进行深入的研究和探讨。

参考文献

[1]于永斌,徐洁.多核时代的“计算机系统结构”课程[J].计算机教育,2011(6):45-47.

[2]陆枫,金海.将并行计算纳入本科教育——深化计算机学科创新人才培养[J].高等工程教育研究,2016(6):108-112.

[3]陈国良,孙广中.并行计算课程的教学方法[J].中国大学教育,2004(2):35-37.

[4]雷向东,袁晓莉,黄东军.计算机专业研究生课程建设与教学改革[J].高等教育发展研究,2012,29(2):31-34.

[5]王同科,常慧宾,王彩华.信息与计算科学专业并行计算人才培养模式[J].高师理科学刊,2016(2):47-49.

[6]孙广中,陈国良.并行计算系列课程教学团队建设[J].中国大学教育,2008(2):36-38.

[7]肖健,于策,许益.并行计算实验课程建设的实践与探讨[J].实验室研究与探索,2018(12):178-181.

[8]蒋红雨.课程思政的教与学[J].黑龙江教育·理论与实践,2019(9):6-8.

[9]赵继伟.“课程思政”:涵义、理念、问题与对策[J].教育学研究,2019,17(3):114-119.

[10]赵静静.课程思政的研究现状及未来研究方向展望[J].德育研究,2019(7):24-26.

[11]赵厚宝,曾井泉.研发类课程开展课程思政教育的探索与实践[J].高教学刊,2019(4):118-190.

[12]刘鹤,石瑛.课程思政建设的理性内涵与实施路径[J]. 中国大学教学,2019(3):59-62.

Research and Practice on the Teaching Model of Parallel Computing Course in Multi-core Era

LEI Xiang-dong, LEI Zhen-yang, LONG Jun

(School of Computer Science and Engineering, Central South University, Changsha, Hunan 410083, China)

Abstract:With the emergence and rapid development of multi-core technology, great changes have taken place in computer technology. Famous colleges and universities at home and abroad have introduced multi-core technology into the computer education system, and have set up Parallel Computing course to train students' parallel computing thinking and the ability of parallel computing system. This paper studies and discusses the course construction, the teaching material construction, the teaching model, and the “curriculum ideological and political education” of Parallel Computing course.

Key words:Parallel Computing; multi-core; teaching model; “curriculum ideological and political education”


本文版权归教育教学论坛杂志社及本文作者所有,未经同意,不得转载! ——《教育教学论坛》查稿电话:0311-85178286