本文拟待时机成熟提交校方。

现状解析

同济大学是中国的一流大学,但其网络与计算基础设施的建设上却与中国、世界的一流水准差距甚大。随着科学技术的迅速发展,随着同济大学学科水准与学生科学素养的高速进步,目前基础设施的落后已经给越来越多的同学、老师造成了不便。

问题症结

信息类及其相关学科的同学在配置课程所需环境时,往往遇到很大的障碍。由于众所周知的原因,中国大陆的民用国际线路质量极低,并且让人大有一年不如一年之感。在下载例如 TDM-GCC/MinGW 或是 Anaconda 这样的编程基础环境的时候,同学们往往不得不浪费大量时间等待、重启下载任务,甚至使用一些处于法律灰色地带的手段加快下载速度,保证线路质量。为此虽然其他学校率先建立了不少的镜像,但其速度往往缺乏保障,并且在遇到一些未被镜像的重要项目或环境时便束手无策。目前我校确实有自己的开源镜像,但即使是校内访问的速度也往往无法跑到1M/s ,其速度甚至不能与直连外部开源镜像相比,限于条件托管的项目也不全面,往往不能满足校内用户的全面需求。
在完成这些课程的过程中,往往环境的配置比较困难,且占用不少硬盘空间、内存与 CPU 资源,有时超出了同学购买的入门计算机的能力,占用了许多的时间。有一些老师提供了专供课程同学使用的 Lab Machine 减轻同学的负担,让同学专注于课程知识,但机器的利用率并不很高。
又比如,土木学院开设的机器学习与大数据计算这门选修课,有同学为了更好的完成期末作业,在 Google Cloud 上租用高端硬件跑了几十个小时,但其机时费用恐怕上百甚至两百轻而易举。也有同学由于缺乏资源,刚入学时训练一个最简单的反向传播神经网络用于识别手写数字数据集,调整一个小参数动辄需要五分钟甚至十五分钟才能验证结果。为了解决一个入门的问题竟花了大半天。
加速训练所需的显卡, CPU 等设备或是云服务提供商提供的训练用机虽然价格并不是完全高不可攀,但对于一个普通的大学生来说仍然是可观甚至高昂的。此外购入高价硬件后实际使用率并没有如此之高,“买前生产力,买后打游戏”成为了一些同学的常态,而又有许多同学需要计算资源却无法获得。
在完成课程的合作作业的过程中,一般使用Git及其最成熟的服务提供商 GitHub 进行团队协作与代码版本控制。但 GitHub 国内访问速度极为缓慢、有时根本无法访问,而国内已有的替代往往见钱眼开,限制免费用户不少功能。

解决建议

  • 关于虚拟专用服务器设施与高性能计算设施的建立与管理
    前文已经描述了许多问题,解决这些问题,一个比较好的方法是学习云服务提供商的思路,建造一个对全校师生开放计算用设施。由于科技发展、市场竞争激烈,即使从 0 开始建设,其费用已经远低于以前。学校也可以将退役折旧的设备发挥余热,共享出来,让它们发挥更大的价值。
    其管理模式可以使用积分制,即预先分配给同学若干积分,并规定计算资源消耗的单位积分。通过对运行数据的监控可以计算出实际消耗的积分,从而达到资源分配的效果。对于有灵活调度、灵活分配资源需求的场合,这种制度已经表现出了自己的优势。
    此外,高性能计算设施与虚拟专用服务器可以统一管理。在设施规模不很大的情况下,登陆节点、管理节点不需要独立设置,作为VPS的一个实例与其他实例共同托管,这样可以更加有效的节约管理成本。
  • 开源镜像与Git服务
    解决目前Git服务的各种不足,最好的方式就是自建 Git 服务。其意义不仅如前文所述,有很多未被镜像的重要项目正是以 Git 的形式被托管的,而目前流行的自建Git服务普遍支持维护 Git 镜像。关于镜像,可以以我校原有的镜像的模式,对其进行升级等工作,为我们的学习起到良好用途。
    两者目前都已经有很成熟的方案。我校的学长在开源镜像的建立方面已经有了很多成熟的工作。其他可供参考的还有 TUNA 的源码与脚本。Git服务则有从轻量级的 Gogs 到重量级的 Gitlab 。

相关实例

  • 关于开源镜像及高校内部 Git Service

略。

  • 关于校内的用于科学计算、人工智能、项目编译等用途的高性能计算设施
  1. UIUC
    UIUC 在 CUDA 刚刚走入人们视线的2008年,就已经引入了一套对参与其课程的学生开放的 32 个 node 的 Cluster 用于 CUDA 教学。 UIUC 现役的 cluster 是以 16 个 IBM Power9 节点, 4 块 NVIDIA Tesla V100 与其他辅助设施组成,也开放使用。
  2. 日本北陆先端科技大学
    JAIST 的 Cray XC40 与 HPE UX3000 允许全校师生共同使用。
  3. 坦普尔大学
    该大学现有多种适用于不同用途的节点组成集群,且 Compute servers are open to all members of the Temple community with justifiable need for access to HPC computing resources and a valid and active AccessNet account.
  4. 普林斯顿
    该校提供数目众多的多种集群,较小的两个集群允许学生使用。
    此外,国内的北京大学,清华大学,湖南大学等学校都有在小范围内允许学生使用的高性能计算设施。

关于校内的用于实验的虚拟专用服务器设施

  1. 卡耐基梅隆大学 15-213 课程
    卡耐基梅隆大学的 15-213 课程是一门计算机系统结构相关的入门课程。为了降低课程作业评价难度,减少变化因素,该课程的操作系统及编译器规定为早期版本的 RHEL 与 GCC ,使用的硬件种类也都被统一。
  2. 我校的高级语言程序设计(课号:10071901,任课老师:沈坚)
    这门课的作业要求在多个操作系统,多种 C/C++ 编译器下通过编译,并正常运行,以保证良好的可移植性。因此,沈老师搭建了一个测试用服务器,使没有足够能力或资源自行搭建环境的同学也能使用这一服务器自行测试程序是否符合上述作业要求。