Cloud Computing Concepts: Part 2

所在平台: Coursera

课程主页: https://www.coursera.org/learn/cloud-computing-2

课程评论:没有评论

第一个写评论        关注课程

课程简介

课程名称:云计算概念:第2部分 概述:现代的云计算系统,无论是开源的还是企业内部使用的,都是基于一套共同的核心技术、算法和设计理念构建的,这些都围绕着分布式系统进行。课程内容将介绍云计算中基本的分布式计算“概念”。 主要内容包括:云、MapReduce、键值/NoSQL存储、经典分布式算法、广泛使用的分布式算法、可扩展性、热点领域等。学员将深入了解这些系统的内部工作原理,并通过提供的作业练习来实践这些概念。在编程作业中,使用提供的C++模板代码实现这些概念,要求学员具备C++的基础知识。 课程还包含与业界和学术界的领先研究者及管理人员的访谈。 该课程是云计算概念第一部分的延续。 大纲: 第1周:课程导论与经典分布式算法续 内容:包括领导者选举的经典算法(如环算法和霸凌算法),以及Google的Chubby和Apache Zookeeper如何解决领导者选举问题;介绍互斥问题及其解决方案,包括Ricart-Agrawala和Maekawa算法。 第2周:并发与复制控制 内容:讲解事务的重要性,以及从远程过程调用(RPC)到事务的串行等效性、并发控制的乐观和悲观方法、死锁的避免/预防等基本构件;还会探讨复制技术及其在分布式系统中的多重可用性。 第3周:新兴范式 内容:研究流处理这一新兴领域,学习Apache Storm的关键设计;探讨在云中处理大规模图的技术,分析自然和人工网络/图的共同点,以及经典调度算法的应用。 第4周:经典系统 内容:讲解分布式文件系统(如NFS和AFS)的工作原理;探讨分布式共享内存系统的技术及其利弊;介绍传感器网络的基础以及如何运作。 第5周:现实世界行为 内容:基础安全概念的入门,涉及加密、认证和授权等政策和机制;通过真实数据中心故障案例研究,总结预防措施与应急准备。 此课程与《云计算概念第一部分》内容相辅相成,适合希望深入了解云计算和分布式系统的学员。

课程大纲

Part: 1

Title:Week 1: Course Orientation and Classical Distributed Algorithms Continued

Description:Lesson 1: To coordinate machines in a distributed system, this module first looks at classical algorithms for electing a leader, including the Ring algorithm and Bully algorithm. We also cover how Google’s Chubby and Apache Zookeeper solve leader election. Lesson 2: This module covers solutions to the problem of mutual exclusion, which is important for correctness in distributed systems with shared resources. We cover classical algorithms, including Ricart-Agrawala’s algorithm and Maekawa’s algorithm. We also cover Google’s Chubby support for mutual exclusion.

Part: 2

Title:Week 2: Concurrency and Replication Control

Description:Lesson 1: Transactions are an important component of many cloud systems today. This module presents building blocks to ensure transactions work as intended, from Remote Procedure Calls (RPCs), to serial equivalence for transactions, to optimistic and pessimistic approaches to concurrency control, to deadlock avoidance/prevention. Lesson 2: This module covers how replication – maintaining copies of the same data at different locations – is used to provide many nines of availability in distributed systems, as well as different techniques for replication and for ensuring transactions commit correctly in spite of replication.

Part: 3

Title:Week 3: Emerging Paradigms

Description:Lesson 1: We study the emerging area of stream processing, touching on key design aspects of Apache Storm. Lesson 2: We study how enormous graphs can be processed in clouds. Lesson 3: We study various types of networks/graphs that are both natural and artificial, and their surprising commonalities. Lesson 4: This module presents classical scheduling algorithms that have been used in operating systems since the inception of computers. We then cover two popular scheduling algorithms for Hadoop.

Part: 4

Title:Week 4: Classical Systems

Description:Lesson 1: When files and directories are stored/accessed over the network, it is called a distributed file system. This module covers the working of distributed file systems like NFS and AFS. Lesson 2: This module covers Distributed Shared Memory systems, their techniques, and pros/cons. Lesson 3: This module looks at the area of sensor networks, starting from what’s inside a sensor mote and how networks of them work.

Part: 5

Title:Week 5: Real-Life Behaviors

Description:Lesson 1: This module is a primer on basic security concepts, not just applied to distributed systems, but also more generally. We study various policies and mechanisms, including encryption, authentication, and authorization. Lesson 2: This module presents case studies of real datacenter outages, and attempts to draw lessons on how to prevent them and how to better prepare for them.

课程评论(0条)

课程详情

Cloud computing systems today, whether open-source or used inside companies, are built using a common set of core techniques, algorithms, and design philosophies – all centered around distributed systems. Learn about such fundamental distributed computing "concepts" for cloud computing. Some of these concepts include: clouds, MapReduce, key-value/NoSQL stores, classical distributed algorithms, widely-used distributed algorithms, scalability, trending areas, and much, much more! Know how these systems work from the inside out. Get your hands dirty using these concepts with provided homework exercises. In the programming assignments, implement some of these concepts in template code (programs) provided in the C++ programming language. Prior experience with C++ is required. The course also features interviews with leading researchers and managers, from both industry and academia. This course builds on the material covered in the Cloud Computing Concepts, Part 1 course.

课程标签

0人关注该课程

主题相关的课程