摘取计算机王冠上的明珠从《计算机体系结构III》开始!

发布时间:2023-04-23浏览次数:2191

信息科技的日新月异急需具有全球视野的高层次人才。为紧跟学科发展前沿,培养具有国际化视野的高科技人才,上海科技大学的专业课程与国际一流大学接轨,选用国际经典教材/教参,采取双语或全英文教学。上科大信息学院的《计算机体系结构III》就是结合国际权威教材与国内教学研究经验而精心设计的一门全英文教学课程。

课程简介

特斯拉的自动驾驶芯片(self-driving chips)是通过什么方法提高其可靠性的?

太湖之光安装了40960个中国自主研发的申威26010众核处理器,是通过什么样的架构设计提升其计算速度?

国家重大科技项目硬X射线自由电子激光装置将通过什么方式为新一代芯片材料、高性能量子计算机的开发奠定基础?

科学家们如何利用谷歌的悬铃木量子计算机(Sycamore quantum computer)模拟制造出一个全息“虫洞”(wormhole)?

计算机自动化正影响着我们日常生活的方方面面,人工智能将如何改变人类的生存方式?


       通过学习《计算机体系结构III》高阶课程,可以让我们对以上问题有更为深刻的理解,从多个维度建立起高性能计算的基本系统观。可以说,学好《计算机体系结构III》,是帮助我们摘取计算机王冠上明珠的第一步。


      《计算机体系结构III》是计算机科学专业的本研一体课程,面向计算机系统方向高年级本科生和研究生开设,课程在《计算机体系结构I》和《计算机体系结构II》的基础上,主要讨论计算机系统结构领域的进阶内容,以高性能计算机系统及相关主题为主。课程内容从介绍高性能计算系统结构开始,覆盖包括高性能计算商用集群结构、高性能计算基准测试方法、高性能计算基础结构、对称多处理机、OpenMP基础、MPI基础、高性能计算操作系统基础、性能监控方法、高性能计算应用调试、高性能计算加速器、OpenACC基础、高性能文件系统及大规模存储、计算容错及检查点技术、MapReduce基础等内容。


       课程的目标人群除了立志从事计算机系统领域研究工作的研究生,对高性能计算机硬件系统、资源调度系统、并行计算系统、并行文件系统等方向感兴趣的高年级本科外,还覆盖使用高性能计算机系统的领域科研工作者和系统管理工程师等。课程的学习有助于加深对分子动力学模拟科学计算应用、人工智能赋能科学计算传统高性能计算场景和新型智能计算应用的理解和认识,培养高性能计算系统观。


       该课程由殷树教授主导,期间会邀请特邀讲者,针对相关主题开展高阶讲座,介绍国内外计算机专业领域最新的技术趋势和科研进展。

图 殷树教授给同学们授课


图 图信中心张迎冬高级工程师介绍HPC任务调度




授课老师

殷树

助理教授、研究员、博士生导师

研究方向为高性能计算、高性能文件系统

                                              

教育经历

2008.7-2012.5 美国奥本大学 ,计算机科学, 博士


工作经历

2012.9-2014.12 湖南大学 助理教授

2014.5-2017.5 国防科技大学 HPCL 高性能计算国家重点实验室 博士后

2015.1-2016.12 湖南大学 副教授

2016.12 至今 上海科技大学 助理教授


教授问答

问:《计算机系统结构III》课程有哪些特点?

       本课程主要有两个特点,分别是全过程英文教学和研究导向。

全过程英文是指在教材、课件、授课全英文的基础上,课程作业、考核、论文精讲讨论环节也是英文。该授课模式为选课的研究生和高年级本科生后续的国际交流和深造打下了坚实的基础。


       研究导向是指课程除了课堂讲授经典高性能计算系统相关知识外,着力培养学生的科研能力。例如,课程第一周会发布论文阅读列表,包含12篇根据各教学主题精选的顶级会议或期刊论文,除了要撰写阅读报告外,每周会有一位学生负责主持论文的精讲和讨论。课程在扩大优秀论文阅读量的基础上,也进一步锻炼和培养了学生的文献阅读归纳能力、讨论分析能力等科研基础能力。


       除此之外,课程项目采用半开放启发的方式,学生可从规定的几个主题中任选自己感兴趣的方向和研究课题,与任课教授讨论可行性后撰写笔头开题报告,并通过口头开题报告的形式向其他同学介绍设想和计划。进度过半的时候在开题报告的基础上增加了课题进度报告环节,每位同学在课上分享课题进度情况和目前遇到的瓶颈及困难,方便师生了解项目的进展,并给予启发和指导。课程最后一周提交终期报告,在整理前序报告的基础上增加和完善项目内容,在课堂上完整介绍项目的思路和实现方案并展示初步成果。


       部分课程项目会在同学和任课教授共识下开展延续计划,即课程结束后同学在任课教授的指导下完善项目设计和实现细节、补充实验并打磨写作,最终以学术论文的形式拓展项目结题报告。

项目案例1:基于eBPFIO优化

项目案例2AI驱动的高性能异构计算系统调度器优化



问:《计算机系统结构III》课程的学习对计算机的学生意义是什么?

       该课程作为计算机专业高阶课程,在介绍高性能计算机系统主要硬件组成和软件工具的基础上,讨论OpenMPMPIOpenACC等多种并行计算模型,协助计算机专业的学生在经典的单节点计算系统基础上建立并行与分布式计算系统观,为计算机系统方向其他高阶专业课做承上启下的衔接。

       同时,课程项目包含笔头和口头开题报告(proposal)、进度报告(progress)和终期报告(final),以及项目展示(demo),可以视为课题研究的迷你版,在督促项目进度的同时让学生熟悉和适应研究基本技能。


问:有没有什么教学经验和学习建议?

       根据以往几年的授课经验,教学过程要求较高的学生参与度,因此一直是小班授课。课程项目的延续计划能够推动部分课程项目最终以学术论文的形式完整呈现项目阶段性成果,部分参加课程的高年级本科生会将课程项目结题报告完善后转化成毕业论文的重要部分。课程项目延续计划促进提高课程项目质量,也激励学生从事研究的热情。


       作为高阶的计算机系统类课程,建议同学们完成操作系统和计算机体系结构I/II的先修课程,并对编译原理有一定的基础。除此之外,建议同学们积极参与到全英文的进程中。


让我们听听学生的课程分享与体会

2019级本科生 张亦宁

       在《计算机体系结构III》这门课中,我了解到计算机体系结构的相关知识如何应用在高性能计算上,也学习了许多高性能计算的基本知识,比如性能测试,集群架构、OpenMPMPI以及文件系统等等。此外,老师为我们整理出了这一领域中有价值的一些论文,通过paper reviewpaper presentation的环节,我不仅了解到了最前沿的科研动态,也学习到了如何进行科研阅读和写作。在课程项目中,老师从开题到动手实现再到最后形成论文并展示,每一环节都会给我们指导和建议。我相信这些经历对日后的科研会有很大的帮助。


2021级硕士研究生 徐子钧

       《计算机体系结构III》这门课从高性能计算的历史出发,介绍了一个完整的高性能计算平台的各个组成部分。从基准测试工具到MPI并行通信接口,从超算系统的调度器到并行文件系统。这门课让我对高性能计算领域各方面的发展历程有一个完整的认知。同时,这门课每周的论文阅读作业帮助我在课堂外进一步深入了解高性能计算领域一些经典的工作,这对于我在系统领域的科研工作受益匪浅。这门课程的Project更是让我们发挥主观能动性,自由探索并实践科研的过程,这对于研究生来说是一种很好的科研训练,也帮助我在今后的科研中更加得心应手。


张厶元 2019级本科

       《计算机体系结构Ⅲ》是一门关于体系结构与超级计算机的课程。在这一学期的学习中,我深刻地体会到了超算的重要性和广泛的应用。我学习了超算的架构和历史,并了解了许多用于优化超级计算性能的技术,包括并行计算、分布式文件系统、任务调度等。在学习这门课程的过程中,我得到了很多的实践机会,包括参加了论文阅读部分,并完成了一个有关超级计算的课程项目。老师不仅让我了解了超算的基础知识,而且还让我有机会将这些知识应用到实际问题中。在未来的工作中,我相信这门课程所学的知识和技能将会为我后续的科研学习打下坚实的基础。