高性能-并行计算教学实验系统是根据高等院校计算机、软件工程等本科及研究生专业开设的《并行计算》、《并行算法实践》、《并行程序设计》、《计算机体系结构》(含并行)和《计算机操作系统》(含并行)等课程的实验教学需要,采用多路国产龙芯多核芯片,自主研发,具有自主知识产权的,基于linux操作系统平台的集成实验开发平台环境。该实验系统可以满足不同层次院校开设上述课程实验的验证型、综合型、创新型实验教学要求。
高性能-并行计算教学实验系统组成和介绍
高性能-并行计算教学实验系统是由四片四核龙芯3a处理器构成的16核的cc-numa结构、内可配置外可扩展结构的实验硬件平台。实验系统特点如下:
l 多种并行层次:多发射、多核、多路、多机
l 多种互连方式:片上网络、hypertransport、以太网
l 多种存储结构:cmp/smp、cc-numa
l 多种编程模式:pthread、mpi、openmp
该实验平台由多路处理器模块和文件系统模块组成。多路处理器模块上有对称的4个处理单元,每个处理单元包含一颗龙芯3a四核处理器。4个处理单元既可通过网络互连为多处理机集群架构,也可通过ht总线互连为cc-numa架构。并且多个实验平台可通过网络和ht实现更多的处理器互连。文件系统服模块用来统一存放nfs系统,为处理单元提供内核和文件系统。实验平台的基本结构和软硬件结构图如下所示。
图2 多路处理器教学实验系统软硬件结构框图
处理器板集成了4个处理单元,四个龙芯3号处理器通过ht总线实现互连。处理器板的设计可满足多种并行层次应用上的需求。在ht总线不使用时,实现单处理器结构、smp结构和smp集群结构等;在处理器支持cache一致性的ht通信并使用ht总线的情况下,可以实现4路4核的ccnuma结构和ccnuma集群结构。因此,利用该处理板可以构建实验平台,进行计算机体系结构教学在多种并行层次上的教学实验。
图4 四路龙芯3a教学实验系统处理板框图
产品特点:
1. 国内首创,技术结构先进
该系统架构国内首创,高度集成小型化,通过软件可以配置系统架构,多个实验台可以连接构成机群,做具有更多的处理器的程序设计与运算。系统架构设计先进,既独立完整,又灵活可配置。同时,该平台适应linux操作系统,可以独立作为一台工作站,相比用pc机,可以提供更多的处理器核,更多的互连方式。尤其在并行计算方面,虽然国内外从事多核多处理器并行机研制的公司、高校较多,但专门研制给学生实验的多核多处理器硬件实验平台,尚属首次。
2. 自主开放、可调试性强
实验平台采用基于我国自主研发的龙芯多核处理器,基于标准mips架构与linux通用操作系统,全系统国内自主研发,具有高性能、自主可控、系统开放等特点。该系统从底层处理器芯片到主板,以及系统软件都由我国自主研发或移植,并根据教学课程需要进行精简与定制,同时可提供cpu级别的ejtag调试接口,具备比intel x86更好的底层开放性和可调试性。
3. 实验课程丰富、适用于多种课程教学
该系统可以满足《计算机体系结构》(含并行)、《并行计算》、《并行程序设计》、和《计算机操作系统》(含并行)多种课程的实验教学。通过配合教师日常授课,设计配套较为直观的实验案例,通过安排学生对教师所教学知识点进行及时上机操作,起到辅助教师教学、降低教师授课负担并有效提高教学质量。同时,由于该系统具有丰富的硬件资源,还可以开展计算机相关的编译系统、应用程序、网络通讯等课程实验。使学生达到巩固提高、融会贯通、能力训练、知识创新的教学效果。
4. 操作方便、成本低廉
与模拟器相比,本实验设备使得学生可以直接针对具体硬件进行操作,实操性与直观性更强。与远程登录大的商用机器相比,可以在低成本的情况下让学生独占机器资源进行实验,互相不干扰,并且不需要排队,学生可充分发挥的聪明智慧和创造思维。
5. 实验环境简单、部署方便
采用独立的试验箱,可与现有机房功能相结合、部署安装简便,无须特殊的用房、空调和水电,对环保和安全也无特殊要求。本实验室既是实验平台,又是多处理器互连与并行程序设计开发、研究验证、培养和训练人才多功能平台。实验突出设计型、开放性。本实验平台扩展性强,多个实验箱即可独立使用,也可连接起来结合后台管理与存储服务器,构成超算/云计算/大数据实验环境,形成全套国产化科研与教学实验平台。
实验内容:
该教学实验平台可应用于先进计算机体系结构和并行处理程序设计与验证环境,如《并行程序设计》、《并行算法实践》、《计算机体系结构》(含并行)和《计算机操作系统》(含并行)等课程实验教学,弥补与补充其硬件实验环境的不足。促使学生达到巩固提高、融会贯通、能力训练、知识创新的学习效果。
在该教学实验平台的基础上,我们编制了相应课程的实验大纲与教材,并应用于计算机本科与研究生的实际实验教学过程中,取得了良好的效果。目前已有的实验课程列表如下(用户可根据实际教学需要进行修改或增加):
《并行算法实践》课程实验
实验1 lu分解的openmp实现
实验2 kmp算法的openmp实现
实验3 高斯消元法解线性方程组的openmp实现
实验4 计算pi值的openmp实现
实验5 高斯消元法解线性方程组的mpi实现
实验6 约当消元法解线性方程组的mpi实现
实验7 雅可比迭代法解线性方程组的mpi实现
实验8 lu分解的mpi实现
实验9 随机串匹配算法的mpi实现
实验10 顶点倒塌算法求连通分量的mpi实现
《计算机操作系统》实验列表
实验1 进程与线程实验
实验2 进程间通信实验
实验3 页面替换算法实验
实验4 文件系统实验
实验5 时钟与定时器实验
实验6 网络通信实验
实验7 事件驱动实验
实验8 中断与系统调用实验
实验9 设备驱动实验
《计算机系统结构》实验列表
实验1 amdahl定量原理
实验2 指令流水与指令并行实验
实验3 二级cache对整体效率的影响
实验4 程序行为对cache性能的影响
实验5 cache层次及容量评估
实验6 tlb命中与缺失对内存读写性能的影响
实验7 主存带宽与竞争
实验8 numa因素
实验9 openmp多核编程实验