并行与分布计算课程实验教学探讨

2009-06-18 05:05李建华郭卫斌庞毅林
计算机教育 2009年15期
关键词:实验教学教学改革

郑 红 李建华 郭卫斌 庞毅林

摘要:本文根据我系的“教育部-Intel精品课程”建设项目课程建设经验,探讨了面向计算机科学与技术专业本科生的并行与分布计算课程的实验教学的内容和设计。

关键词:并行与分布计算;实验教学;教学改革

中图分类号:G642 文献标识码:B

随着计算机技术的发展,作为计算机科学与技术专业的学生迫切需要掌握各种新型并行与分布式计算的理论、模型、方法和技术,以适应社会对人才不断增长的需求,因此,近年来,我系为计算机科学与技术专业本科生开设了并行与分布计算课程,这门课程培养目标主要是普及并行计算技术,使广大的程序设计与开发者可以发挥超级计算、分布计算的优势;同时,这门课程也是一门实践性很强的课程,除了系统的课堂理论学习外,还需要配有足够数量的实验内容,以便巩固和加深学生对并行算法理论、设计技术、分析方法和具体实现等各个环节的整体理解。为此,课程组针对本科教学的特点,采用泛讲、精讲和实验相结合的方式,设计了相应的实验来显式地说明所教授的理论,根据并行与分布计算技术的本身特点,以及我校课程体系的设置情况,并行与分布计算技术涵盖了从单机、“多核”、SMP、集群、到Grid的各种尺度的并行技术,将课程平台建立在系统结构、算法、程序设计实践等方面,建立了并行和分布计算的全面的课程体系。

2008年4月,作为Intel大学合作计划的合作伙伴,华东理工大学派遣本课程的授课教师参加了相关技术培训,该课程进入“Intel大学合作计划”。2008年5月,双方正式签署了合作协议,Intel公司捐赠了部分相关实验设备。2008年6月,华东理工大学的并行与分布计算课程被批准为2008年度“教育部-Intel精品课程”建设项目。

1实验条件

根据并行与分布计算技术的本身特点,以及我校课程体系的设置情况,并行与分布计算技术涵盖了从单机、“多核”、SMP、集群、到Grid的各种尺度的并行技术。将课程平台建立在系统结构、算法、程序设计实践等方面,建立了并行和分布计算的全面的课程体系。在本课程开展初期,由于实验条件的限制,本课程的教学主要是采用理论教学和单机实验为主。Intel多核计算机的出现,为教师和学生提供了良好的实验条件。本课程将Intel多核架构增加到本课程的系统结构部分,在程序设计时重点介绍OpenMP、MPI和微软的超线程技术及其在Intel多核架构上实现;在硬件建设上,建立了多核专业实验室,用于学生的实践操作;软件建设上,建立了OpenMP、MPI编程环境,从而使学生能很方便的进行并行程序设计及多核架构实践活动。

经过了数年教学实践,本课程组编写了实验指导讲义,通过上机实验和课外创新实践活动,使学生能够更扎实地理解和掌握并行和分布计算的基本理论和实现技术。

目前在本校计算机教学实验中心建立了两个多核计算机实验室,拥有多核微机100多台,并在这些机器上安装相应的开源软件,使得学生能在该实验室内设计和实践并行程序。在Web服务器上建立了本课程的教学资料和辅导材料的网站,包括课程介绍、教学资源、教学实验等内容,使得学生能够通过互联网进行学习。此外,还计划组织安排学生参观我校的上海超级计算中心分中心。

2实验教学

紧密结合本学科和专业特点,根据学生知识结构因材施教,本课程实验教学注重学生对并行程序设计的掌握,强调对学生“创新性能力”的培养,提高学生解决实际问题的能力。

2.1实验内容

课程基础实验注重提高学生掌握基于多核架构的并行计算编程技术的能力,包括了在Windows和Linux操作系统下的多核基础编程及各个工具软件的使用。实验包括了在Windows和Linux操作系统下的多核架构的熟悉、基于多核的基础编程及各个工具软件的使用。对基础实验的考核指标:完成时间与性能参数。对基础实验的设计,将Intel多核架构增加到本课程的系统结构部分,在程序设计时重点介绍OpenMP多线程技术及其在Intel多核架构上实现;在硬件建设上,建立多核专业实验室,用于学生的实践操作;软件建设上,建立OpenMP编程环境,使学生能很方便的进行编程实践活动。

(1) 多核软件设计技术

主要讲授基于Windows和Linux等操作系统平台上多线程程序设计的基本操作系统原语,如Windows平台上的多线程API接口函数,包括线程创建、撤销、挂起/恢复、优先级设置、睡眠、临界区等。以及OpenMP的基本设计方法,以期让学生掌握使用多线程方法进行多核软件设计的基本技能。

(2) 并行程序设计基本方法

主要讲授并行计算程序设计的一般原理和并行程序设计实例。通过对两个经典串行问题(优先级查找和K值算法)并行化改造过程的实验,提高分析和解决问题的能力,以及实际动手编程的能力。

(3) 工具软件的使用

工具软件包括:Intel C++和Fortran编译器、Intel数学核心函数库和Intel集成性能元件库、Intel TuneTM性能分析器、Intel线程检测器和Intel调试器、Intel线程直方统计器等。这些基本工具的熟练使用能力可为实际环境中多核技术的运用打好坚实的基础。由于基于多核的编程与操作系统环境和编译有密切的关系,所以在讲解编程工具使用方法之前,主要介绍多核编译的知识以及操作系统对多核的支持。

2.2实验设计和基本要求

对于这门课的实验教学,课程主讲教师直接指导实验各个环节。实验强调学生对多核架构及编程技术的掌握和实际运用能力的培养和训练。试验的目的不是“为学习而学习,为编程而编程”,而是着重于提高学生在本学科领域中多核技术的应用能力,注重“个性化”和创新能力的培养,提高学生灵活运用知识的能力。

依托学校Intel实验室平台,我们的实验设计主要针对两种情况,一种是配合本课程核心教学内容学生独立完成指定的实验任务,包括问题分析、总体设计、上机实现、调试与部署、观察并记录结果等步骤,实验的学时数16学时,学生需要提前预习,每个试验大约4学时的实验时间。要求每一位学生都要参与本课程的上机实验环节,在实验前充分做好实验准备,在实验过程中认真记录实验情况与结果,在实验后做好总结,并提交实验报告。根据学生的上机实验结果,以及提交的实验报告综合评价学生的本课程的成绩。

其中每个学生必须独立完成以下实验中的四个:

① Intel多核计算机上OpenMP的配置;

② OpenMP环境下PI计算(并行域并行化);

③ OpenMP环境下PI计算(共享任务结构并行化);

④ OpenMP环境下PI计算(并行归约并行化);

⑤ MPI的配置;

⑥ MPI环境下PI的计算。

另外,我们还根据学校的“大学生创新实践”活动,建立一些实践性的实验设计课题,如排队模型、数据挖掘等,以拓宽课程设计内涵和内容,同时对学生开放专业实验室,让更多的学生可以利用实验室平台进行业余时间的创新活动,促进学生学习。

通过以上各种措施,丰富了教学形式,极大地提高了学生学习的积极性和创造性实践的能力,使教学质量达到一个新的高点。

3总结

并行计算系列课程是一门实践性很强的课程,除了系统的课堂理论学习外,还需要配有丰富的实验内容,以巩固和加深学生对并行算法理论、设计技术、分析方法和具体实现等各个环节的整体理解。实践证明,这些实验教学环节是十分重要的,它可以激发学生学习并行与分计算的积极性,从而缩小理论教学和实际应用能力之间的差距,培养学生的学习兴趣和自我探索创新能力,为学生今后的工作和学习打下良好的基础。

参考文献:

[1] 陈国良,孙广中,等.并行计算课程的教学方法[J].中国大学教学,2004(2).

[2] M. Paprzycki, Integrating Parallel and Distributed Computing in Computer Science Curricula, IEEE Distributed Systems Online, 2006, 7(2).

猜你喜欢
实验教学教学改革
LabVIEW下的模拟电路实验教学创新对策
基于科学探究的高中生物实验教学探索
网络与云技术在实验教学中的应用
复变函数级数展开的可视化实验教学
复变函数级数展开的可视化实验教学
初中化学实验教学中“微课”教学模式的探讨
谈初中化学实验教学的初探
中职学校“生本课堂”的调查研究与实践
高校三维动画课程教学方法研究
基于人才培养的技工学校德育实效性研究