Introduction to Distributed Algorithms

Gerard Tel

@ Cambridge University Press 1994, 2000

ref: Distributed Algorithms for Message-Passing Systems

1 Introduction: Distributed Systems

1.1 What is a Distributed System?

1.1.1 Motivation

The characteristics of a distributed system

(1) Information exchange.

  (2) Resource sharing.

  (3) Increased reliability through replication.

  (4) Increased performance through parallelization

  (5) Simplification of design through specialization.


1.1.2 Computer Networks

the focus:

(1) Reliability parameters.

(2) Communication time.

(3) Homogeneity.

(4) Mutual trust.

1.1.3 Wide-area Networks

algorithmical problems

(1) The reliability of point-to-point data exchange (Chapter 3).

(2) Selection of communication paths (Chapter 4).

(3) Congestion control.

(4) Deadlock prevention (Chapter 5).

(5) Security.

1.1.4 Local-area Networks

Algorithmical problems.

(1) Broadcasting and synchronization (Chapter 6).

(2) Election (Chapter 7).

(3) Termination detection (Chapter 8).

(4) Resource allocation.

(5) Mutual exclusion.

(6) Deadlock detection and resolution.

(7) Distributed file maintenance.

1.1.5 Multiprocessor Computers

problems:

(1) Implementation of a message-passing system.

(2) Implementation of a virtual shared memory.

(3) Load balancing

(4) Robustness against undetectable failures (Part Three).

1.1.6 Cooperating Processes

model:

(1) Atomicity of memory operations.

(2) The producer-consumer problem.

(3) Garbage collection.

solutions in operating systems:

(1) Semaphores.

(2) Monitors.

(3) Pipes.

(4) Message passing

1.2 Architecture and Languages

1.2.1 Architecture

The modules are called layers or levels in the context of network implementation; see Figure 1.4

1.2.2 The OSI Reference Model

1.2.3 The OSI Model in Local-area Networks: IEEE Standards

1.2.4 Language Support

Parallelism.

Communication.

Non-determinism.

1.3 Distributed Algorithms

1.3.1 Distributed versus Centralized Algorithms

three essential respects

(1) Lack of knowledge of global state.

(2) Lack of a global time-frame.

(3) Non-determinism.

1.3.2 An Example: Single-message Communication

1.3.3 Research Field

1.4 . Outline of the Book

three objectives in mind.

Part One Protocols

2 The Model

2.1 Transition Systems and Algorithms

transition system

communicate style:  shared variables or by message passing

-- Messages style: synchronous or asynchronous

2.1.1 Transition Systems

configurations -- global states

2.1.2 Systems with Asynchronous Message Passing

transition and "configuration --- global

event and state -- are used for attributes of processes

M be a set of possible messages

:  correspond to state transitions related with internal, send, and receive events, respectively.

2.1.3 Systems with Synchronous Message Passing

2.1.4 Fairness

2.2 Proving Properties of Transition Systems

safety requirements and liveness requirements

-- A safety requirement:  a certain property must hold for each execution of the system in every configuration reached in that execution.

-- A liveness requirement:  a certain property must hold for each execution of the system in some configuration reached in that execution.

assertional verification methods

-- An assertion:  a unary relation on the set of configurations, that is, a predicate that is true for a subset of the configurations and false for others.

2.2.1 Safety Properties

A safety property of an algorithm:   a property of the form "Assertion P is true in each configuration of each exeCution of the algorithm".

2.2.2 Liveness Properties

A liveness property of an algorithm:  a property of the form "Assertion P is true in some configuration of each execution of the algorithm".

Let S be a transition system and P a predicate.

-- Define term as the predicate that is true in all terminal configurations and false in all non-terminal

configurations.

2.3 Causal Order of Events and Logical Clocks

2.3.1 Independence and Dependence of Events

2.3.2 Equivalence of Executions: Computations

Chapter 3 Communication Protocol

3.1 The balanced sliding-window protocol

滑动窗口协议:

滑动窗口的重要特性

只有在接收窗口向前滑动时(与此同时也发送了确认),发送窗口才有可能向前滑动。收发两端的窗口按照以上规律不断地向前滑动,因此这种协议又称为滑动窗口协议。当发送窗口和接收窗口的大小都等于 1时,就是双工的停止等待协议。

滑动窗口协议(Sliding Window Protocol)工作原理:

  • 发送的信息帧都有一个序号,从0到某个最大值,0 ~ 2n - 1,一般用n个二进制位表示;
  • 发送端始终保持一个已发送但尚未确认的帧的序号表,称为发送窗口。发送窗口的上界表示要发送的下一个帧的序号,下界表示未得到确认的帧的最小编号。发送窗口大小 = 上界 - 下界,大小可变;
  • 发送端每发送一个帧,序号取上界值,上界加1;每接收到一个正确响应帧,下界加1;
  • 接收端有一个接收窗口,大小固定,但不一定与发送窗口相同。接收窗口的上界表示允许接收的序号最大的帧,下界表示希望接收的帧;
  • 接收窗口容纳允许接收的信息帧,落在窗口外的帧均被丢弃。序号等于下界的帧被正确接收,并产生一个响应帧,上界、下界都加1。接收窗口大小不变。

Alternating-bit protocol: 交替位协议

来自为知笔记(Wiz)

附件列表

时间: 2024-11-08 21:49:44

Introduction to Distributed Algorithms的相关文章

[转载] nosql 数据库的分布式算法

原文: http://juliashine.com/distributed-algorithms-in-nosql-databases/ NoSQL数据库的分布式算法 On 2012年11月9日 in 也为稻粱故, by Juliashine 本文译自 Distributed Algorithms in NoSQL Databases 系统的可扩展性是推动NoSQL运动发展的的主要理由,包含了分布式系统协调,故障转移,资源管理和许多其他特性.这么讲使得NoSQL听起来像是一个大筐,什么都能塞进去

NoSQL数据库的分布式算法

转自:Distributed Algorithms in NoSQL Databases 系统的可扩展性是推动NoSQL运动发展的的主要理由,包含了分布式系统协调,故障转移,资源管理和许多其他特性.这么讲使得NoSQL听起来像是一个大筐,什么都能塞进去.尽管NoSQL运动并没有给分布式数据处理带来根本性的技术变革,但是依然引发了铺天盖地的关于各种协议和算法的研究以及实践.正是通过这些尝试逐渐总结出了一些行之有效的数据库构建方法.在这篇文章里,我将针对NoSQL数据库的分布式特点进行一些系统化的描

名校计算机科学与技术专业培养方案

PS:清华大学计算机科学与技术专业本科生培养方案 计算机科学与技术(0812) 一.研究方向 1.通信软件工程 2.网络技术与应用 3.分布计算理论与技术 4.信息安全与多媒体技术 二.课程设置 类别 课程编号 课程名称 学时 学分 学期 学位课 公共必修课 512.8*704 自然辩证法概论 54 2 秋 521.8*300 科学社会主义理论与实践 36 1 春 534.8*445 英语 144 4 秋/春 基础理论课(至少选1门) 813.8*279 近世代数及其应用 54 3 秋 513.

分布式系统(Distributed System)资料

这个资料关于分布式系统资料,作者写的太好了.拿过来以备用 网址:https://github.com/ty4z2008/Qix/blob/master/ds.md 希望转载的朋友,你可以不用联系我.但是一定要保留原文链接,因为这个项目还在继续也在不定期更新.希望看到文章的朋友能够学到更多. <Reconfigurable Distributed Storage for Dynamic Networks> 介绍:这是一篇介绍在动态网络里面实现分布式系统重构的paper.论文的作者(导师)是MIT

(转)分布式深度学习系统构建 简介 Distributed Deep Learning

HOME ABOUT CONTACT SUBSCRIBE VIA RSS DEEP LEARNING FOR ENTERPRISE Distributed Deep Learning, Part 1: An Introduction to Distributed Training of Neural Networks Oct 3, 2016 3:00:00 AM / by Alex Black and Vyacheslav Kokorin Tweet inShare27   This post

Top 10 Algorithms of 20th and 21st Century

Top 10 Algorithms of 20th and 21st Century MATH 595 (Section TTA) Fall 2014 TR 2:00 pm - 3:20 pm, Room 341 Altgeld HallUniversity of Illinois at Urbana-Champaign, Department of Mathematics Instructors : Yuliy Baryshnikov and Anil N. Hirani Schedule:I

[Stanford Algorithms: Design and Analysis, Part 2]

Specific topics in Part 2 include: greedy algorithms (scheduling, minimum spanning trees, clustering, Huffman codes), dynamic programming (knapsack, sequence alignment, optimal search trees, shortest paths), NP-completeness and what it means for the

370 门免费编程与计算机科学在线课程

简评:这篇文章为大家整理出 370 门精选的免费高质量编程计算机科学类的课程(涵盖程序语言.人工智能.深度学习与机器学习等热门话题).这370 门课程是从 Class Central数据库里面的 7000 门课程挑选出来的,每个课程的 Rating(评价)也是由该网站上获取下来的平均值. 370 门课程里面根据难易程度被分为: 入门 中级 进阶 所收录的大部分教程都已经更新完毕了,你可以按照自己的节奏(Self Paced)随时观看学习,有小部分教程还在持续更新至中,当然了,它们全都是免费的!

部分经典IT书籍

[系统,网路管理]1) Learning the Unix Operating System 1565923901 O'reilly/1997-4ed ***强力推荐给想入门unix的网友们!! 就只有薄薄的不到100页,在书局偶然发现....深觉其内容适合初学者 相信只要读它,一个下午就可以了解基本UNIX的操作!! 2) Unix : Visual Quickstart Guide 0201353954 A-W/1998-1ed ***强力推荐给想入门unix的网友们!! 比上面那本大了点,