云计算

  • Created: 2015-10-13
  • 9246
Name:云计算
No.:S081203ZY003Semester:秋季学期
Hour:40Credit:2.0
Teacher:徐俊刚
Introduction:
 

本课程为计算机科学与技术学科的研究生专业课。课程内容包括云计算中的学术思想和科学问题、关键技术和动手实验、相关商业模式和服务模型、面临的挑战和应用前景等。通过课堂教学和上机实验,要求学生熟悉和掌握:(1)云计算基本原理,包括资源整合模型、海量数据存储模型、MapReduce编程模型、服务封装方法等;(2)分布式文件系统、非关系型列数据库;(3)开源虚拟化平台Xen的部署和使用;(4)开源系统Hadoop的部署、使用和开发;(5)SaaS应用开发技术,包括多租户、可配置和可扩展等技术;(6)S3和Salesforce的服务模式。通过本课程的学习,希望能够提高同学们对云计算基本原理的理解、总结和分析能力,云计算服务开发、开源平台应用部署的实践动手能力,为今后从事云计算领域的研究与应用打下坚实的基础。

Content:
 
第一章 计算的演化发展
大机时代的计算,集群计算,并行计算,分布式计算,网格计算,云计算等。
第二章 云计算基本原理
云计算的定义(工业界,学术界,第三方机构),云计算的体系结构和特征,云计算中的主要科学问题,云计算的核心思想:(1)数据中心资源整合模型——资源虚拟化;(2)数据中心海量数据存储模型——分布式文件系统和结构化非关系数据库;(3)数据中心编程模型——MapReduce编程模型;(4)服务封装及商业模型——IaaS/PaaS/SaaS及效用计算模型。
第三章 资源虚拟化技术
虚拟化的基本概念,虚拟化的种类,虚拟化的主要技术,Xen的部署、安装和使用实验。
第四章 分布式文件系统
分布式文件系统的定义、特点和基本要求,与传统共享文件系统的区别,分布式文件系统的容错性和安全性,分布式文件系统的种类,海量数据级分布式文件系统,Goolge File System,Hadoop File System,Moosefs等。
第五章 非关系型列数据库
关系数据库的瓶颈,海量数据存储方法,非关系型列数据库模型,BigTable、Hbase及其设计与开发实验。
第六章 大规模数据处理编程模型
现有主要编程模型,大规模数据处理编程的特点,并行编程的定义和分类,MapReduce编程思想,MapReduce框架,Hadoop中的MapReduce编程实验(含Hadoop的安装、部署)。
第七章 资源服务的封装方法
服务的定义,服务的封装技术,IaaS定义及实现技术,PaaS定义及实现技术,SaaS定义及主要实现技术(可配置、多租户、可扩展等),SaaS模式开发案例,SaaS模式软件开发实验(文本处理、搜索引擎、机器学习等)。
第八章 云计算商业服务模型
云计算的商业模式,云计算经济,云计算的商业服务模型——效用计算模型,云计算效用计算模型案例介绍和分析(包括Amazon S3、EC2,Salesforce,Google Application Engine等)。
第九章 云计算面临的主要挑战和应用前景
学术界和工业界有关云计算发展的主要观点,云计算面临的主要挑战,云计算应用前景。
Material:
 

徐俊刚. 云计算课程讲义. 中国科学院研究生院, 2011.

References:
 

[1] Google Code University, http://code.google.com/edu/parallel/index.html.
[2] Introduction to Distributed System Design.
http://code.google.com/edu/parallel/dsd-tutorial.html.
[3] Introduction to Parallel Programming and MapReduce.
http://code.google.com/edu/parallel/mapreduce-tutorial.html
[4] Tom White. Hadoop: The Definitive Guide. O’Reilly press, 2009.
[5] Jimmy Lin and Chris Dyer, Data-Intensive Text Processing with MapReduce, 2010.