计算机硬件综合“实验云”
2014-06-23陆洪毅唐玉华肖侬
陆洪毅 唐玉华 肖侬
摘要:针对传统计算机硬件实践教学中存在的问题,介绍在计算机硬件系列课程中开展实践教学改革,提出一套基于远程实验+硬件实践平台的“实验云”的实践教学方法。
关键词:计算机硬件实践教学;云计算;远程实验;虚拟实验
1.背景
计算机硬件课程的实践教学一直是计算机硬件教学的重要环节,通过这一环节,可以直接让学生对硬件有感性认识,对计算机系统的硬件逻辑结构、物理特性有更深入的了解。
传统的计算机硬件实践教学环节,多采用实物、虚拟实验等方式进行。采用实物的计算机硬件实践教学,如微机原理,可以直接利用实验箱、实验开发板等现成的硬件,用汇编语言、硬件描述语言等方式进行编程,辅以万用表、逻辑分析仪、示波器等仪器设备,可以全面提升学生对硬件系统的认知。采用虚拟实验的计算机硬件实践教学,可以采用模拟器等方式模拟硬件的运行,并以可视化的方式展现给学生,接近或者达到实物实验的效果。
随着计算机硬件实践教学的不断发展,以及计算机技术本身的快速发展,许多学校经过多轮的建设投资,积累了大量的硬件设备;许多设备由于更新、损耗等问题,需要重新投资采购以便升级换代。另外,教学内容的不断发展,也要求相应的硬件条件跟上。
硬件基础条件的建设,一方面可以不断适应计算机硬件技术的发展,开展更多更好的实践教学;另一方面,有许多陈旧设备需要淘汰,导致投资的浪费,而且,随着学校规模的扩大,这种资源上的浪费将更为严重。
基于以上认识,我们在“十一五”建设期间,开始了“计算机硬件综合实验云”(简称“实验云”)的论证与建设工作,试图开发出一条新的路子,能够解决重复投资、资源浪费、设备快速淘汰的问题。
2.“实验云”设计思想
“实验云”采用“云”的方式对计算机硬件实验资源进行组织和管理,以服务的方式为学生、教师提供支持,其投资建设的重点在“云”端,而不是用户端。
“实验云”具有以下特点:
(1)投资集中。硬件建设、实验内容建设等集中在“云”端,并且同样的硬件条件可以支持多门课程。
(2)服务广泛。采用‘‘云”机制之后,所有的硬件实践教学,都能采用服务的方式对外提供,使用者(学生、教师等)可以通过远程网络使用服务,完成实践教学环节。
(3)易于升级扩展。只需要在云端对系统的软硬件、实验内容进行升级,即可达到全系统升级的目的。
(4)系统可扩展性强。该系统采用“云”的方式组织,所有用户数据均可保留在云端,方便与其他信息系统、教学管理系统集成,并能够对全过程的实验数据进行存储、分析和使用。
3.“实验云”框架
“实验云”的主要框架结构如图1所示。硬件系统主要由“天河阳光”实验板节点(如图2所示)、交换机、Web服务器、实验服务器、数据库服务器等组成,它们之间通过网络互联互通。“天河阳光”实验节点上整合厂丰富的硬件实验资源,为计算机硬件课程实验提供了基础;交换机与实验板、Web服务器、实验服务器连接组成一个内网;Web服务器运行Web服务,连接内部交换机和Internet;实验服务器运行各种实验模块,并通过交换机与实验板节点连接。软件系统由运行于服务器的Web服务和实验所需的各种大型软件组成。Web服务负责管理实验板,为客户端提供Web服务,响应客户端请求,并将客户端请求提交给实验服务器,控制实验节点完成各项实验功能,将用户操作日志和实验结果保存于数据库;大型软件运行于服务器,实现轻客户端,客户甚至只需一个能够上网的手机就可以进行实验。实验参考资料由实验教材、实验指导书、参考代码、视频教程等组成。
“实验云”平台客户端无需安装客户端软件,直接用浏览器通过Internet访问Web服务器。连接到网络的客户端登录后就可以申请获得硬件资源,然后操控实验板进行实验。客户端对实验板的操作控制命令通过网络发送,Web服务器、实验服务器收到命令后再转发给相应的实验板,实验板对命令进行解析并执行,执行结果返回到实验服务器、Web服务器,Web服务器再将实验结果返回给相应用户,用户通过浏览器观察结果。管理员也通过浏览器访问Web服务器进行后台管理。
4.“实验云”建设
“实验云”的建设主要划分为硬件条件建设和内容建设2个方面。
在“实验云”硬件条件建设上,主要是云端环境的建设。我们专门调集了开发人员,对实验云硬件条件进行充分论证,确定各种硬件器件的选型。云端环境建设中,最重要的是实验开发板的逻辑开发以及服务器软件系统的开发。在我们选用的“天河阳光”实验开发板中,拥有足够的可编程逻辑器件空间、以太网接口,并且在硬件上支持对FPGA器件的动态编程,这些都为实验开发板的远程操作提供了硬件支持。特别是,我们在如何快速保存恢复硬件实验现场上进行深入研究,为支持实验板的虚拟化提供了技术保障。在服务器软件系统开发上,主要是用户界面开发、实验支持模块的开发等。用户界面上采用JSP、JavaScript、Flash等作为主要开发手段,充分利用最新的Web界面开发方法。实验支持模块上主要是拟定各种通信协议、提供实验开发工具等。
在“实验云”内容建设上,我们依托已经开展的计算机原理课程设计、数字系统课程设计、嵌入式系统课程设计等内容,要求相关授课教师提供实验素材,并由专业人员对其进行整理,最后在“实验云”体系下进行设计实现。所有的实验模块都部署到实验服务器上。
5.“实验云”初步建设成效
2012年底,我们顺利加入到“211工程高等教育公共服务体系(三期)中国教育科研网格二期建设项目”中,参与了其中“计算机科学与技术重点学科网格建设任务”,并负责其中的“计算机体系结构虚拟实验环境”建设任务。2013年9月,已经部署了10个“实验云”节点,支持10人以上在线硬件远程实验,并采用云机制,能够容纳更多的学生同时在线进行远程实验。
另外,在本科教学中,我们已经在包括计算机原理课程设计等在内的多门硬件系列课程中,使用了“实验云”系统。学生可以在宿舍、图书馆、教室、实验室等地方,通过覆盖全校的“无线教学网”,使用笔记本、PAD等终端,直接访问部署在中心机房的“实验云”环境,进行远程硬件实验。
6.结语
“实验云”计算机硬件实践平台,突破了传统计算机硬件实物实验的限制,同时具有实物实验和虚拟实验的优点,方便管理,使用便捷。
在未来的建设中,计划在ChinaGrid上部署更多的“实验云”节点,能够容纳超过1000人同时在线完成计算机硬件系列远程实验。
同时,将整个系统开源,并将其通信协议规范化、标准化。进一步切分软硬件接口,拟定开放的通信协议。在云端集成更多的硬件设备(高档FPGA板卡、高端仪器等)和大型EDA工具,争取在“十二五”末,建成比较完善的“实验云”远程实践教学平台。
进一步密切与教育教学公司的联系,推广“实验云”的理念,逐步把以“卖设备”“卖课程”为主的营销模式,转变为以“卖服务”为主的营销模式。endprint