王开西 副教授
单位:青岛大学
部门:计算机科学技术学院
分布式计算使不同的计算机系统透明地访问各种资源,是近年来日趋重要的新的计算方式,是基于因特网的应用和服务的技术基础。在Web和其它基于因特网的系统空前重要的今天,分布式计算是计算机应用及其相关专业学生必须掌握的核心技术。本课程旨在传授分布式系统的设计原理和实践知识,要求学生理解分布式系统的概念、挑战、目标以及中间件技术,掌握基本的分布式算法,建立软件开发的基本框架思想,具备设计、开发和评价分布式应用系统的能力,树立软件开发的规模经济分析意识。
附件4:
青岛大学研究生课程教学大纲
课程编号: 4492005 课程名称: 分布式计算
( Course No. 4492005 ; CourseName: Distributed Computing )
一、课程简介(Description)
1. 学分/学时(Credit/Hours):2/32
2. 开课学期(Semester):春季/Spring
3. 内容简介(Introduction):
分布式计算使不同的计算机系统透明地访问各种资源,是近年来日趋重要的新的计算方式,是基于因特网的应用和服务的技术基础。在Web和其它基于因特网的系统空前重要的今天,分布式计算是计算机应用及其相关专业学生必须掌握的核心技术。本课程旨在传授分布式系统的设计原理和实践知识,要求学生理解分布式系统的概念、挑战、目标以及中间件技术,掌握基本的分布式算法,建立软件开发的基本框架思想,具备设计、开发和评价分布式应用系统的能力,树立软件开发的规模经济分析意识。
(Distributed computing enables different computer systems to transparently access to various resources. It is a new and important computing method in recent years and is the technical basis of Internet-based applications and services. Today, web and other Internet-based systems are unprecedentedly important, and distributed computing is a core technology that must be mastered by the masters majoring in computer science and technology and their related students. This course focuses on the principles and practical knowledge of distributed systems. Students are required to understand the basic knowledge of distributed systems, the challenges, the target, and the middleware techniques; grasp the basic distributed algorithms; build up the framework of the software development; the students have the ability of designing, developing and evaluating a distributed system, and can be aware of the economic scale factor during the software development, and have the ability to design and develop distributed application systems after completing the course.)
5. 先修课程(Prerequisites):操作系统原理(OperatingSystem Principle);计算机网络原理(Computer Network Principle)
6. 授课对象(Teaching objects):研究生(Postgraduate)
7. 适合专业(Suited Professions):计算机科学技术(Computer science and technology)、计算机技术(Computer Technology)、网络空间安全(Cyberspace Security)
8. 教学语言(Language of Instruction):中文(Chinese)、英文(English)
9. 参考文献(References):
[1] Hagit Attiyaand Jennifer Welch, Distributed Computing Fundamentals, Simulations, andAdvanced Topics, Second Edition, Published by John, Wiley and Sons, Inc.
[2] Gerard Tel,Introduction to Distributed Algorithm, Second Edition, Cambridge UniversityPress, 2000.
[3] Nancy A.Lynch, Distributed algorithms, Morgan Kaufmann Publishers, Inc. 1996.
[4] Ajay D.Kshemkalyani and Mukesh Singhal, Distributed Computing Principles, Algorithms,and Systems. Cambridge University Press 2008.
[5] Kenneth P.Birman, Reliable Distributed Systems Technologies, Web Services, and Applications,Springer Science+Business Media, Inc. 2005
10.任课教师及团队(Coordinators& Team):
王开西,Wang Kaixi
二、教学目标(Educational Objectives)
介绍该课程在本学科研究生课程体系中的作用、以及要求学生要掌握的知识、方法和能力等。
目标1(Objective 1):掌握分布式计算的基本原理;(master the basic principles of distributedcomputing)
目标2(Objective 2):了解中间件系统在分布式系统框架中的作用;(understand the role of middleware systemin the distributed system framework)
目标3(Objective 3):掌握不同的分布式编程模型和范例;(grasp the different distributed programmingmodels and paradigms)
目标4(Objective 4):奠定未来分布式软件设计和开发的理论基础;(lay the theoretical foundation for thedistributed software design and development)
目标5(Objective 5):具备开发分布式系统的能力。(have the abilityto design and develop distributed application systems)
| 次数(No.) | 教学内容 (Topics Covered) | 学时分配 (Credit Hours) | 授课方式 (Lecture Model) |
| 第1讲(Topic 1) | 课程介绍(Course Introduction) | 1 | 课堂讲授(Lectures)、课堂研论(Discussions) |
| 第2讲(Topic 2) | 简要介绍分布式系统的定义,目标和类型。(Explains the definition and objectives of distributed systems; Describes the types of distributed systems.) | 2 | 课堂讲授(Lectures)、课堂研讨(Discussions) |
| 第3讲(Topic 3) | 分布式系统概念的体系结构,体系结构风格,系统体系结构,中间件概念和自我管理机制。(The architecture of the distributed system concept, the architecture styles, the system architecture, the middleware concept, and the self-management mechanism.) | 3 | 课堂讲授(Lectures)、课堂研讨(Discussions) |
| 第4讲(Topic 4) | 流程和线程的概念;虚拟化和C / S模型的概念以及代码迁移。(the concepts of processes and threads; the concepts of virtualization and the C/S model, and the code migration. | 6 | 课堂讲授(Lectures)、实验(experiments)、课堂研论(Discussions) |
| 第5讲(Topic 5) | 网络分层模型,中间件通信类型,远程过程调用,面向消息的通信和面向流量的通信。(Network hierarchical model, middleware communication type, remote procedure call, message-oriented communication, and traffic-oriented communication.) | 8 | 课堂讲授(Lectures)、实验(experiments)、课堂研论(Discussions) |
| 第6讲(Topic 6) | 命名系统的基本概念;扁平命名;结构化命名;和基于属性的命名。(The concepts of the naming system; Flat naming; Structured naming; and attribute-based naming.) | 4 | 课堂讲授(Lectures)、课堂研讨(Discussions) |
| 第7讲(Topic 7) | 时钟同步(物理);逻辑时钟;互斥和选举算法。(Clock synchronization (physical); logical clock; Mutual exclusion and election algorithms.) | 4 | 课堂讲授(Lectures)、课堂研讨(Discussions) |
| 第8讲(Topic 8) | 两种一致性模型:以数据为中心的一致性模型和以客户为中心的一致性模型。(Two consistency models: a data-centric consistency model and a client-centric consistency model.) | 2 | 课堂讲授(Lectures)、课堂研讨(Discussions) |
| 第9讲(Topic 9) | 分布式系统中其它主题:安全、容错(Security Fault Tolerance in the Distributed System) | 2 | 课堂讲授(Lectures)、课堂研讨(Discussions) |
| 注:授课方式包括课堂讲授、实验、课堂研讨、学生PPT汇报、自学等方式。 | |||
四、考评方法(Evaluation Method)
作业(Homework):翻译一篇重要会议或期刊英文论文。(Translatean important conference or journal article in English)
书面报告(Written Reports):撰写一篇与研究领域相关的分布式计算课程论文(要求阅读至少五篇重要会议或期刊论文,其中至少2篇在最近两年发表,将它们列在参考文献中)。(Writea paper related to distributed computing courses. Ask to read at least five important conference or journal articles, at least 2 of which have been published in the last two years, and list them in references)
口头报告(Oral Reports):结合所写论文及参考文献,制作PPT进行展示并交流,演讲时间要求20-30分钟。(Combine the written papers and references, make a PPT display and communicate, and the presentation time is 20-30 minutes.)
课内实验(Experiments):熟练掌握socket、RPC/RMI/MoM/Corba等编程过程,了解其运行原理及机制。(Proficiency in programming procedures such as socket, RPC, RMI, MoM, Corba, etc., and understand the operating principle and mechanism.)
五、成绩比例(Grading Scale)
针对课程所采用的各类考评办法,给出以百分计算的考评成绩及其在总成绩中所占的比例,最终给出该门课程的学习成绩(以百分计)。
| 序号(No.) | 考评办法 (Evaluation Method) | 成绩 (Grade) | 所占比例 (Grading Scale) |
| 1 | 作业(Homework) | 100 | 20% |
| 2 | 书面报告(Written Reports) | 100 | 40% |
| 3 | 口头报告(Oral Reports) | 100 | 20% |
| 4 | 课内实验(Experiments) | 100 | 20% |
六、预期效果(Assessment of Learning Outcomes)
针对第二项所设置各个教学目标,通过上述内容的学习和所采取的考评方法,预估学生学完本门课程后所能掌握和了解的知识、方法和技能,以及所具备的具体能力等。
目标1(Objective 1):讲解分布式计算的基本原理,使学生认识中间件系统对软件框架的作用,掌握分布式计算的不同编程模型和范型系统,培养工程观点,以问题为导向的思维。(Thecourse explains the basic principles of distributed computing and help students to understand the role of middleware systems in software frameworks, and to master different programming models and paradigm systems for distributed computing, so as to cultivate the engineering viewpoint, and think in the problem-oriented way.)
目标2(Objective 2):本课程以透明性和资源共享等目标引出分布式系统的基本原理和概念,包括通信、进程、命名、同步化、一致性和复制、容错性以及安全性等核心问题,引导学生从问题出发,理解分布式算法和软件框架,以及开发分布式系统的方法。(Fromthe goal of a distributed system, such as transparency and resource sharing, this course introduces the basic principles and concepts of distributed systems, including communication, process, naming, synchronization, consistency andreplication, fault tolerance, and security, which guides students to begin with problems, and understand distributed algorithms and software frameworks, as well as methods for developing distributed systems.)
目标3(Objective 3):分布式计算通过中间件系统解决资源共享和透明访问问题,以RPC、RMI、MoM和Web Service等编程模型为实例,讲解中间件系统内在发展规律培养学生解决问题的能力。(Distributedcomputing solves the problem of resource sharing and transparent access throughmiddlewares. Taking the programming models such as RPC, RMI, MoM and WebService as an example, it explains the internal development of middlewaresystem and cultivates students' ability to solve problems.)
目标4(Objective 4):本课程从问题出发,说明为什么要进行分布式计算,以及分布式计算中的关键问题,引导学生学会分析问题、解决问题。(This course starts from the problem, explains why distributed computing, and key issues in distributed computing, and guides students to learn to analyze and solve problems.)
目标5(Objective 5):本课程将讲授Socket、RPC、RMI、MoM等编程技术,并安排实验进行加深理解和巩固,学生在实践过程将加强对编程基本工具和操作系统的使用。(Thiscourse will teach programming techniques such as Socket, RPC, RMI, MoM, andarrange experiments to deepen and consolidate these techniques. Students willget familiar with the basic programming tools and operating systems in the practical process.)
目标6(Objective 6):本课程在实践过程中,学生分组实现客户和服务器等不同角色,互相协作完成整个实验,有助于培养学生的团队合作。(In this course, students are grouped to implement the client and server to complete the whole experiment, which helps to cultivate students' teamwork.)
目标7(Objective 8):本课程为学生今后从事分布式软件设计和开发、后续其它专业课程奠定较好的理论和实践基础,以适应网络快速发展对分布式系统的需要。(Thiscourse lays a good theoretical and practical foundation for students to engage in distributed software design and follow-up other professional courses, which satisfies the needs of distributed systems for rapid network development.)
| 课程负责人(签字): 课程团队成员(签字): 主管副部(院)长(签字): 修订日期: |
教材名称(Textbooks):
[1] Tanenbaum& Van SteenDis,tributed Systems: Principles and Paradigms, 2e, (c) 2007Prentice-Hall, Inc. Or its Chinese translation version;
[2] Coulouris,Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design,5th. Addison-Wesley 2012.
其它参考文献
[1] Hagit Attiyaand Jennifer Welch, Distributed Computing Fundamentals, Simulations, and Advanced Topics, Second Edition, Published by John, Wiley and Sons, Inc.
[2] Gerard Tel, Introduction to Distributed Algorithm, Second Edition, Cambridge UniversityPress, 2000.
[3] Nancy A.Lynch, Distributed algorithms, Morgan Kaufmann Publishers, Inc. 1996.
[4] Ajay D.Kshemkalyani and Mukesh Singhal, Distributed Computing Principles, Algorithms, and Systems. Cambridge University Press 2008.
[5] Kenneth P.Birman, Reliable Distributed Systems Technologies, Web Services, and Applications, Springer Science+Business Media, Inc. 2005
| 课程章节 | | 文件类型 | | 上传时间 | | 大小 | | 备注 | |
| 1.1 第一课时 课程及分布式系统介绍 |
文档
.pdf
|
2020-02-13 | 171.27KB | ||
| 1.2 第二课时 分布式系统介绍 |
附件
. Introductio to Distributed Syste
|
2020-02-13 | 425.03KB | ||
| 2.1 第一课时 分布式系统定义、体系结构 |
文档
.pdf
|
2020-02-13 | 2.59MB | ||
| 3.1 第一课时 进程与线程 |
文档
.pdf
|
2020-02-13 | 785.05KB | ||
| 3.3 第三课时 进程通信 |
文档
.pdf
|
2020-02-13 | 520.52KB | ||
| 4.1 第一课时 基本概念 |
文档
.pdf
|
2020-02-13 | 342.84KB | ||
| 5.1 第一课时 同步 |
文档
.pdf
|
2020-02-13 | 2.60MB | ||
| 5.2 第二课时 一致性和复制 |
文档
.pdf
|
2020-02-13 | 249.63KB | ||
| 6.1 第一课时 基本概念、进程的弹性 |
文档
.pdf
|
2020-02-13 | 298.81KB | ||
| 7.1 第一课时 基本概念、安全通道 |
文档
.pdf
|
2020-02-13 | 292.88KB |