《高性能计算与云计算》实验教学大纲

课程代码

045101911

课程名称

高性能计算与云计算

英文名称

HighPerformance Computing and Cloud Computing

课程类别

选修课

课程性质

选修

学时

总学时:48实验学时:16实习学时:0其他学时:0

学分

2.5

开课学期

5

开课单位

计算机科学与工程学院

适用专业

网络工程、计算机科学与技术、信息安全

授课语言

中文授课

先修课程

操作系统、计算机组成与体系结构

毕业要求(专业培养能力)

本课程对学生达到如下毕业要求有如下贡献:

3.设计/开发解决方案:能够设计针对复杂与计算机相关工程问题的解决方案,设计满足特定需求的系统、单元(部件)或工艺流程,并能够在设计环节中体现创新意识,考虑社会、健康、安全、法律、文化以及环境等因素。

4.研究:能够基于科学原理并采用科学方法对与计算机相关复杂工程问题进行研究,包括设计实验、分析与解释数据、并通过信息综合得到合理有效的结论。

5.使用现代工具:能够针对与计算机相关复杂工程问题,开发、选择与使用恰当的技术、资源、现代工程工具和信息技术工具,包括对复杂工程问题的预测与模拟,并能够理解其局限性。

课程培养学生的能力(教学目标)

1)掌握高性能计算和云计算的基础理论知识,培养学生的实践能力。[35

2)掌握高性能计算机的系统结构模型,对称多处理机(SMP)、大规模并行处理机(MPP)、集群系统(Cluster)和并行计算的性能评测并行算法的一般设计策略、基本设计技术和一般设计过程。[34

3)掌握云计算的分布式大规模数据处理和云存储技术;掌握共享存储编程、分布存储编程和Map/Reduce编程等面向高性能计算与云计算应用的并行程序设计环境与工具。[45

课程简介

《高性能计算与云计算》是计算机专业的专业领域课程。高性能计算技术是计算机技术发展中的一项重要技术。通过该课程的学习,学生应该学习和掌握高性能计算的基础理论知识和实践经验,并为后续课程打下坚实基础。

本课程以高性能计算和云计算为主题,分为三大部分,第一部分是高性能计算的基础知识,第二部分是云计算的概念及核心技术,第三部分是高性能计算与云计算的软件支持-并行程序的设计原理与方法。主要课程内容包括高性能计算机的系统结构模型,对称多处理机(SMP)、大规模并行处理机(MPP)、集群系统(Cluster)和并行计算的性能评测并行算法的一般设计策略、基本设计技术和一般设计过程;云计算的分布式大规模数据处理和云存储技术;共享存储编程、分布存储编程和Map/Reduce编程等面向高性能计算与云计算应用的并行程序设计环境与工具。

课程强调融合高性能计算机结构、云计算技术、并行算法和并行编程为一体,力图反映高性能计算和云计算领域的最新成就和发展趋势。

学生除完成基本理论课程学习外,课程将通过在高性能计算机系统上的实践,学习和掌握高性能计算和云计算的基础知识。

主要仪器设备与软件

计算服务器;并行编程库与编译器;云计算环境与框架、虚拟机软件

实验报告

按要求撰写实验报告,实验报告内容应包括实验目的,实验内容,主要的实验过程,结果分析等

考核方式

根据实验报告考察实验技能,按百分制计入实验成绩。实验成绩的具体比例以教学大纲为准。

教材、实验指导书及教学参考书目

[1]何克晶,并行计算,人民邮电出版社,2019

[2]陈国良,并行计算:结构•算法•编程(第3版),高等教育出版社,2011

[3]KaiHwang等著,武永卫等译,云计算与分布式系统:从并行处理到物联网,机械工业出版社,2013

[4]何克晶,云计算与大数据,人民邮电出版社,2019

[5]刘鹏,云计算(第三版),电子工业出版社,2015

制定人及发布时间

何克晶、董守斌,20195


《高性能计算与云计算》实验教学内容与学时分配

实验项目编号

实验项目名称

实验学时

实验内容提要

实验类型

实验要求

每组人数

主要仪器设备与软件

1

共享存储编程实践

4

通过OpenMP的实例编程,使得学生掌握高性能计算环境下的基于共享存储的并行程序编程方法。

综合性

必做

2

计算服务器;并行编程库与编译器

2

分布存储编程实践

4

通过MPI的实例编程,使得学生掌握高性能计算环境下的基于分布存储的并行程序编程方法。

综合性

必做

2

计算服务器;并行编程库与编译器

3

云计算技术实践,Hadoop平台和Map/Reduce编程实践

8

云计算技术实践。通过在Hadoop环境下的Map/Reduce的实例编程,使得学生熟悉Hadoop的编程环境,掌握用Map/Reduce编写并行计算程序的基本步骤,并了解Map/Reduce计算程序在Hadoop下的运行和调试机制。

综合性

必做

4

计算服务器;云计算环境与框架、虚拟机软件

4

高性能计算与云计算(探索性实验)

8

高性能计算与云计算探索性实验。将已有的科研成果或来至企业的问题转化为实验教学内容,让学生面对一个开放性的问题(或者通过自己发现问题)并自行不断探索解决方案。

探索性

选做

4

计算服务器;并行编程库与编译器;云计算环境与框架、虚拟机软件



















HighPerformanceComputingand Cloud Computing” Syllabus

CourseCode

045101911

CourseTitle

HighPerformance Computing and Cloud Computing

CourseCategory

ElectiveCourses

CourseNature

ElectiveCourse

ClassHours

Totalhours: 48  Experimental hours: 16  Internship hours: 0  Otherhours: 0

Credits

2.5

Semester

5

Institute

Schoolof Computer Science and Engineering

ProgramOriented

NetworkEngineering, Computer Science and Technology, Information Security

TeachingLanguage

Chinese

Prerequisites

OperatingSystems , Computer Organization and Architecture

StudentOutcomes (Special Training Ability)

3.Design / DevelopmentSolutions: An ability to design solutions for computer engineeringcomplex problems, to design computer hardware and software systemsthat meet with specific requirements, and to embody innovationawareness in the design process and take into account social,health, safety, cultural and environmental factors.

4.Research: An ability todevelop computer system-related knowledge and research computerengineering complex issues, to develop the basic capacity ofcomputer systems research & development, systematic cognitiveand practice, master the Bottom-up and top-down problem analysismethods.

5.Applying Modern Tools: Anability to develop, select and use appropriate technologies,resources, modern engineering tools and information technologytools for complex computer engineering issues.

TeachingObjectives

(1) Learn and master the basictheoretical knowledge and practical experience in high performancecomputing and cloud computing. [3, 5]

(2) Learn and master thesystem architecture of high performance computing system, theperformance evaluation of parallel computing, the fundamentaltechniques, methodology and basic process of parallel algorithmsdesign. [3, 4]

(3)Learn and master the large scale distributed data processingtechnique and cloud storage of cloud computing, the foundation ofparallel programming, shared memory programming, message passingprogramming and Map/Reduce programming which oriented for theapplication of high performance computing and cloud computing. [4,5]

CourseDescription

This course is aspecialty-related elective course in the professional field ofcomputer science, which is an introduction to the key techniquesof high performance computing and cloud computing. Thesetechniques play important roles in the development of computerscience and technology. Through this course, students should learnand master the basic theoretical knowledge and practicalexperience in high performance computing and cloud computing, andlay a solid foundation for subsequent courses.

This course focuses on thestate-of-the-art technologies of high performance computing (HPC)and cloud computing. The course contains three parts. The firstpart is about the foundational knowledge of high performancecomputing. The second part introduces the concept and keytechniques of cloud computing. The final part reveals the designprinciples and methods of the parallel programming that is thesoftware supporting of high performance computing and cloudcomputing. The course covers the following contents: the systemarchitecture of high performance computing system, the performanceevaluation of parallel computing; the fundamental techniques,methodology and basic process of parallel algorithms design; largescale distributed data processing technique and cloud storage ofcloud computing; foundation of parallel programming, shared memoryprogramming, message passing programming and Map/Reduceprogramming which oriented for the application of high performancecomputing and cloud computing.

The curriculum emphasizes theintegration of high-performance computer architecture, cloudcomputing, parallel algorithms and parallel programming, and seeksto reflect latest achievements and development trend of highperformance computing and cloud computing.

Besideshomework, there are extensive hands-on labs. By through thepractice on high performance computing systems, the student mayhas the depth understanding of hardware, software, theory andpractice of high performance computing and cloud computing, andlearn to apply related technologies to demanding problems andexploit high performance computing and cloud computinginfrastructure to model and develop applications.

Instrumentsand Equipments

Computingserver; parallel programming library and compiler; cloud computingenvironment and framework, virtual machine software

ExperimentReport

Writean experimental report as required. The content of theexperimental report should include the purpose of the experiment,the content of the experiment, the main experimental process, theanalysis of the results, etc.

Assessment

Theexperimental skills are examined according to the experimentalreport, and the experimental scores are included into the finalscores. The specific percentage of the experimental scores isdefined in the syllabus.

TeachingMaterials and Reference Books

[1]KejingHe, Parallel Computing, Posts & Telecom Press, 2019

[2]GuoliangChen, Parallel Computing: Architecture, Algorithm, Programming(3rd edition), Higher Education Press, 2011

[3]Kai Hwang etc., Yongwei Wu etc., Distributed and Cloud Computing:From Parallel Processing to the Internet of Things, MechanicalIndustry Press, 2013

[4]KejingHe, Cloud Computing and Big Data, Posts & Telecom Press, 2019

[5]PengLiu, Cloud Computing (3rd edition), Electronics Industry Press,2015

Preparedby Whom and When

KejingHe, Shoubin Dong, 2019.5

HighPerformance Computing and Cloud Computing” ExperimentalTeaching Arrangements

No.

ExperimentItem

ClassHours

ContentSummary

Category

Requirements

Numberof StudentsEach Group

Instruments,Equipments and Software

1

Sharedmemory programming practice

4

Bydesigning the OpenMP example programming, allow students to masterthe shared memory parallel programming in the high performancecomputing environment.

Comprehensive

Compulsory

2

Computingserver; parallel programming library and compiler

2

Distributedmemory programming practice

4

Bydesigning the MPI examples programming, allow students to masterdistributed memory parallel programming in high performancecomputing environment.

Comprehensive

Compulsory

2

Computingserver; parallel programming library and compiler

3

Cloudcomputing programming practice. The Hadoop platform and Map/Reduceprogramming practice

8

Cloudcomputing programming practice. Programming Map/Reduce examples inHadoop environment allow students to familiar with the Hadoopprogramming environment and master the basic steps of parallelprogramming by using Map/Reduce, understand the running anddebugging mechanisms of Map/Reduce programs in Hadoop.

Comprehensive

Compulsory

4

Computingserver; cloud computing environment and framework, virtual machinesoftware

4

HighPerformance Computing and Cloud Computing (ExploratoryExperiments)

8

High-performancecomputing and cloud computing exploratory experiments. Transformexisting research results or issues from the company intoexperimental content, let students face an open problem (or findproblems by themselves) and continuously explore solutions.

Exploratory

Elective

4

Computingserver; parallel programming library and compiler; cloud computingenvironment and framework, virtual machine software