云计算技术  081201M05007H

学期:2020—2021学年(春)第二学期 | 课程属性:专业普及课 | 任课教师:赵晓芳,唐宏伟,蒋德钧
授课时间: 星期五,第1、2、3 节
授课地点: 教一楼107
授课周次: 1、2、3、4、6、7、8、9、10、11、12、13、14、15
课程编号: 081201M05007H 课时: 40 学分: 2.00
课程属性: 专业普及课 主讲教师:赵晓芳,唐宏伟,蒋德钧 助教:
英文名称: Cloud Computing Technology 召集人:

教学目的、要求

云计算已经成为IT架构变革的主流趋势,本门课程要求学生掌握(1)云计算的基本概念、体系结构与相关理论;(2)云计算系统的使用、基于云计算的系统设计与开发;(3)云计算系统的核心组件和工作原理;(4)云计算系统的关键技术原理。在掌握基础知识的同时,希望学生通过上机实验编程,使用真实系统,培养实际动手能力,从而更加深刻地理解课堂内容。本门课程将为学生在云计算及相关方向从事科学研究、应用开发、系统规划、程序优化等打下坚实的基础。
注:实践作业需要占用学生课后时间,约需36小时。

预修课程

计算机组成原理、计算机系统结构、操作系统、计算机网络

教 材

 自编教材

主要内容

第一章:云计算概述 ??(学时数:4)
1.1 云计算定义与内涵
1.2??云计算的特点与分类
1.2.1?云计算特点
1.2.2?云计算分类
1.2.2.1?按部署类型
1.2.2.1.1?公有云
1.2.2.1.2?私有云
1.2.2.1.3?混合云
1.2.2.2?按服务模式
1.2.2.2.1?基础设施即服务——IaaS
1.2.2.2.2 平台即服务——PaaS
1.2.2.2.3?软件即服务——SaaS
1.3??云计算与大型机、网格计算
1.4??云计算的关键技术
1.5??云计算的发展现状
1.6??主流商业云计算平台介绍
1.6.1?Amazon AWS
1.6.2 Microsoft Azure
1.6.3 Aliyun
1.6.4 VMware vCloud Suite
???
第二章:虚拟化技术 ??(学时数:14)
第一节:虚拟化技术导入 ?(学时数:2)
2.1.1 虚拟化的概念
2.1.2 虚拟化架构分类
2.1.3 虚拟化实现方法
?? 2.1.4??典型虚拟化技术
(1) KVM
(2) Xen
(3) VMware
?
第二节:CPU虚拟化 ?(学时数:4)
2.2.1 CPU运行特权级
2.2.2 指令虚拟化
2.2.3 CPU半虚拟化
2.2.4??硬件支持的CPU虚拟化
?? 2.2.5??虚拟中断路由与注入
?
第三节:内存虚拟化 ?(学时数:3)
2.3.1 页式内存管理与虚拟化
2.3.2??影子页表
2.3.3??MMU半虚拟化
2.3.4??硬件辅助的MMU虚拟化
2.3.5??IOMMU虚拟化
2.3.6 ?Ballooning机制
?
第四节:I/O虚拟化 ?(学时数:4)
2.4.1 I/O虚拟化架构模型
2.4.2??I/O指令模拟
2.4.3??DMA重映射
2.4.4??中断重映射
2.4.5??虚拟磁盘
2.4.6??快照技术
2.4.7??网卡虚拟化
2.4.8??虚拟交换机
?
第五节:虚拟化技术发展趋势与挑战 ?(学时数:1)
2.5.1?Unikernel
2.5.2?“多虚一”巨型虚拟机技术
?
实践作业一:
请从以下问题中选择一个进行实践:1) KVM虚拟化中将每个VCPU作为独立的普通用户态Linux线程进行调度,这虽然简化了虚拟机的设计,但也存在不足之处,例如存在VCPU线程运行优先级低容易受到系统进程/线程的干扰、没有考虑到SMP虚拟机的VCPU间协同等问题,请调研KVM虚拟化中的VCPU线程调度机制,在教学云平台上设计开发一种VCPU调度策略,并评价调度策略的效果;2) KVM虚拟化中虚拟机的内存分配采用按需分配策略,即在虚拟机运行过程中动态向VMM申请内存直到达到其配额上限。然而,物理内存一旦分配给虚拟机,便不会再主动释放,即便虚拟机内存长时间处于空闲状态。请结合课堂讲授的Ballooning机制,在教学云平台上设计开发一种智能化虚拟机内存回收算法,使得在不影响虚拟机运行性能的前提下提高内存资源的利用率和调度的公平性。
?
第三章:容器技术 ?(学时数:7)
3.1??容器基本概念与应用
3.2??轻量级资源隔离
3.2.1?Control?Group
3.2.2 Namespace
3.3 ?镜像分层存储机制
3.4 ?容器管理系统docker解析
3.5??容器集群管理系统kubernetes解析
3.6??容器编排
3.7??容器技术最新发展趋势——与VM融合
3.7.1 kata-container
3.7.2 Clear Linux
?
第四章:云存储技术 ?(学时数:7)
第一节:云存储技术导入 ?(学时数:2)
4.1.1 云存储概念与内涵
4.1.2??云存储类型
4.1.3??云存储系统架构
4.1.4??CAP原则
4.1.5??数据分片
4.1.6??数据冗余
4.1.7??分布式一致性
4.1.8??元数据管理
4.1.9??存储虚拟化技术
?
第二节:Ceph开源云存储系统解析 ?(学时数:4)
4.2.1 Ceph系统架构
4.2.2??CRUSH算法
3.2.3??可靠性策略--多副本和纠删码
3.2.4??OSD模型
3.2.5??存储引擎
3.2.6 ?Journal机制
第三节:云存储技术最新进展与挑战 ?(学时数:1)
?
实践作业二:
在教学云平台上,动手搭建一个Ceph集群,从以下问题中选择一个进行优化:1)?Ceph集群中不同OSD之间的请求存在相互干扰的情况,请调研OSD队列和线程模型,并设计和实现一种隔离方案,降低OSD间的请求干扰;2)?Ceph可以使用SSD和HDD组成的异构存储,但是SSD和HDD的性能差异使得Ceph的数据放置策略需要进一步优化,请调研Ceph的bluestore架构,并设计和实现一种面向异构存储的数据放置方案,提升Ceph的读写性能。

第五章:云计算操作系统 ?(学时数:6)
5.1 云操作系统基本概念
5.2??云操作系统架构
5.3??主流商业云操作系统介绍
5.3.1?Amazon AWS 
5.3.2 VMWare vCloud
5.3.3 阿里飞天OS
5.3.4 OpenStack 
5.2??计算资源管理
5.3??网络资源管理
5.3.1??虚拟租户网络
5.3.2??VxLAN技术
5.4??存储资源管理
5.5??PaaS服务
5.5.1 云数据库服务——Trove
5.5.2?大数据服务——Sahara
5.5.3 云资源编排——Heat
5.5.4?弹性伸缩——AutoScaling
5.6??OpenStack的微服务化设计
?
实践作业三:
OpenStack提供了一种可扩展的资源调度框架,请调研OpenStack资源调度框架,并在此基础上基于教学云平台设计开发一种OpenStack资源调度算法,以满足如下目标之一(可自主选择):1) 物理CPU资源负载均衡;2) 物理内存资源负载均衡;3) 节能降耗。调度过程中应考虑调度引入的开销、调度的时效性等指标,并需要对调度算法进行效果评价。
?
第六章:云计算技术最新发展趋势——函数即服务 ?(学时数:2)
6.1??Serverless架构
6.2 ?FaaS的典型实现
6.2.1 AWS Lambda
6.2.2 Azure Function
6.2.3 Cloud Functions
6.2.4 IBM Openwhisk
6.2.5 Aliyun FunctionCompute
?
?
第七章:期末考试 ?(学时数:2)
?
?

参考文献

云计算系统与人工智能应用 黄铠(Kai Hwang)著 (June 1, 2018)等
    计算系统虚拟化——原理与应用 金海等
    Docker容器与容器云(第2版) 浙江大学SEL实验室