Sci论文 - 至繁归于至简,Sci论文网。 设为首页|加入收藏
当前位置:首页 > 教育论文 > 正文

基于实验教学的编译原理课程中多核编译知识融合方法论文

发布时间:2021-03-29 14:05:56 文章来源:SCI论文网 我要评论














SCI论文(www.lunwensci.com):

摘要:当前多核技术已经得到长足发展,这给包括编译在内的计算机诸多领域带来巨大变化。如何将面向多核的编译理论和方法融入到传统编译原理课程中,业已成为编译原理课程改革和发展的重要问题之一。本文首先分析了多核背景下编译原理课程发展现状和存在问题;然后探讨了适合于本科生学习的多核编译知识体系;在此基础上,提出一种基于实验教学的多核编译知识融合方法,并最终给出教学与实践环节的详细设计。

关键词:编译原理;实验教学;多核编译;知识融合

本文引用格式:李远成,等.基于实验教学的编译原理课程中多核编译知识融合方法[J].教育现代化,2019,6(79):262-263.

一引言

编译原理课程是高等学校计算机专业的核心课程,与编译原理相关的模型、理论和算法已经在多个应用领域得到广泛应用并对相应领域研究开发产生重要影响。学习该课程可以培养学生抽象思维、独立解决复杂问题、编程和调试等能力[1]。

多核技术的出现与快速发展给计算机技术带来重大变化,多个处理器核提供了更为丰富的硬件资源。编译是多核技术发展的重要推动技术之一,多核资源的有效利用有赖于编译对多核的支持。为了应对多核技术及其引起的相关计算机技术发展的需要,诸多高校通过开设多核课程的方式,将多核技术引入到计算机教育体系当中[2]。因此,在传统编译原理课程中,将多核编译相关知识内容融入进来,对扩充学生多核编译的基本原理、优化方法和优化工具使用等知识具有非常重要的作用。

二 课程研究现状、问题及必要性

多核提供的丰富硬件资源给编译技术带来巨大的机遇和挑战[3]。诸多学者在相关的多核编译和优化方面展开了广泛而深入的研究,有效地促进了多核编译技术发展,基于多核的应用也因此得到蓬勃发展[4,5]。因为多核编译技术是编译技术和多核技术的融合,和传统编译技术有部分差异,因此,在当前编译课程中融合面向多核环境的编译技术十分必要。

然而在已有编译原理课程中融合多核编译知识仍存在诸多问题,主要体现在两方面。一方面,面向多核的编译需要学生具备并行计算相关的先导基础知识,这需要从学科布局上进行调整,如通过设置公共选修课来对相关基础知识进行补充。另一方面,传统编译原理课程主要是基于单核处理器体系结构进行相关理论和技术的分析、设计和实现,但是多核和单核在体系结构设计上具有本质区别。因此如何在传统编译课程中增加多核编译知识需要进行探索并展开深入研究。

多核编译的核心就是探索如何利用多核技术提供的硬件资源来提高程序运行效率。由于多核编译仍在发展当中,因此它既面临着应用的需求,也是当前科研的前沿内容之一。在编译原理课程中补充多核编译知识,是多核技术发展的必然要求。针对以上存在的问题,本文尝试对编译原理课程中多核编译知识的融合方法进行探讨。综合学校人才培养定位和授课对象特征的深入分析,合理地优化传统编译知识并融合多核编译知识,将对编译原理课程教学起到有益的促进作用。

\

 
三 多核编译知识融合方法

(一)编译原理课程中多核知识点选取


1.多核体系结构理论。该部分知识是编写并行程序以及对其进行编译优化的基础。这些知识点主要用来让学生理解并行计算的基本原理,以及从编译器角度如何发现程序所蕴含的并行性,包括如何进行任务的划分、负载平衡和任务间通信等。

2.多核编译优化理论。这部分内容主要介绍多核与编译技术的关系,让学生理解如何基于多核体系结构,从程序自身特征出发,如何划分更加合理的任务、如何在多核间分配更加均衡的负载以及尽可能减少多核间通信开销等进行优化。

(二)课堂教学环节内容设计

基于前述对编译原理课程中多核知识点分析,本节针对相关内容在课堂教学环节进行如下设计。



2.基于程序结构的数据流分析

针对循环结构程序,分析数据依赖关系,基于数据流分析深入理解程序在多核结构下的并行性

1.针对多核体系结构相关理论,首先在第五学期开设16学时专业公选课《并行计算》,要求第六学期学习《编译原理》课程的学生必选。在该公选课程中,重点讲授多核计算机体系结构、面向多核的并行计算模型以及常用的并行程序设计模型等专业基础知识。

2.在编译课程课堂教学中,在编译优化章节补充讲授编译优化知识点。主要讲授编译优化中的数据流方程,重点引入面向多核的数据流和控制流等基本概念,通过补充程序结构分析内容,重点讲授面向多核的程序划分、负载平衡和任务间通信等内容。

(三)实验教学环节内容设计

在实验教学方面,设置“基于Cilk语言的并行程序设计”和“基于程序结构的数据流分析”两个实验内容。具体如表1所示。

\

 
在学期期末,分配2个学时的实验环节。首先,学生2-3人组成实验小组选择并完成表1中的一个内容。然后,选择同一题目的各小组进行交流汇报并选出一个完成情况最佳的小组。最后,依据题目选出的2个最佳小组,在全班范围内进行汇报,交流对并行化思想的理解和感悟。该教学环节具体方案图1所示。


\
 




四 教学实践情况

在实践教学过程中,授课对象是第六学期的计算机科学与技术专业大三学生,实施小班上课方式。所有学生均在第五学期选修了公共选修课《并行计算》,考试通过率达到90%以上,具备了一定理论基础。在实践环节中,全班32个学生,共分为12个组,7个小组选择Cilk语言实现遗传算法的设计与实现,5个小组选择基于程序结构的数据流分析。结果表明,12个小组中有10个小组最终完成了完整的程序,也即83%以上的学生达到良好的学习效果。

五总结

本文主要针对编译技术因多核技术迅猛发展所带来的机遇和挑战,面向侧重应用为主导的普通高校计算机专业,从编译原理课程内容改革的角度,(1)分析和总结传统编译原理课程的现状和存在问题;(2)综合学校人才培养定位和授课对象特征,合理地选取适合于编译原理课程的多核知识;(3)研究多核编译知识与传统编译原理课程融合的思路和方法。最终提出一种基于实验教学的编译原理课程中多核编译知识融合方法,实现传统编译知识和多核编译知识的无缝衔接,有效提升相关内容的教学以及学生的学习效率。

参考文献

[1]赵银亮,戴慧珺,李昊,等.谈谈形式语言与编译课程[J].计算机教育.2018,4:63-68
[2]杨剑锋,隋竹翠,谢银波.多核课程中编译原理知识点分析[J].计算机教育.2011,11:33-36
[3]林奕,曾雷杰,张小芳.面向复杂工程和系统能力的编译原理课程改革探索[J].计算机教育,2017,2:111-116
[4]Zheng W,O’Boyle M.Machine Learning in Compiler Optimization[J].Proceedings of the IEEE,2018,PP(99):1-23
[5]Ashcraft M B,Lemon A,Penry D A,et al.Compiler Optimization of Accelerator Data Transfers[J].International Journal of Parallel Programming,2017:1-20

关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网!
文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/jiaoyulunwen/29639.html

发表评论

Sci论文网 - Sci论文发表 - Sci论文修改润色 - Sci论文期刊 - Sci论文代发
Copyright © Sci论文网 版权所有 | SCI论文网手机版 | 鄂ICP备2022005580号-2 | 网站地图xml | 百度地图xml