NJUcs 2024 分布式系统 课程内容整理(Last Updated 2024/09/27)

2024-09-18 38 0

Introduction

分布式系统的定义

分布式系统是一个具有自主计算能力的计算机节点的集合,对于用户来说,这个系统就像一个单独的、统一的系统(即分布式系统屏蔽了底层的异构性)。

注:独立计算能力指的是每个计算机都可以做独立的子任务,与并行计算不同。

为什么要分布式

  1. 经济性:微处理机通常比大型机具有更好的性价比
  2. 速度:分布式系统比大型机的计算能力更强
  3. 固有的分布性:有一些系统本来就包含了物理上分布存在的机器
  4. 可靠性:当某个机器崩溃时,分布式系统仍可以正常运行
  5. 持续的增长能力:分布式系统具有很强的可扩展性,可以逐步增加计算能力
  6. 人本身就是分布式的:人平时各自干各自的事,但会合作去完成一个任务

分布式系统的目标:

  1. 使资源可用
  2. 分布式的透明性
  3. 开放性:不同的系统可接入
  4. 可扩展性: 分布式系统的容量可扩展

透明性的含义:

  1. 访问透明:隐藏数据表示形式以及访问方式的不同
  2. 资源位置透明:隐藏数据所在位置
  3. 迁移透明:隐藏资源可能被移动到另一个位置
  4. 重定位透明:隐藏资源可能在使用中被移动到另一个位置(即热迁移)
  5. 多副本透明:隐藏资源是否已被复制(重点是多副本的一致性问题)
  6. 并发透明:隐藏一个资源可能被多个用户竞争使用
  7. 故障透明:屏蔽资源的故障和恢复

开放性的含义:

  1. 能够与来自其他开放系统的服务交互,而不用考虑底层环境
    • 一个良定义的接口
    • 支持可移植应用(Portable Application)
    • 易于互操作
  2. 本身可以适配不同的操作系统,至少要独立于底层环境的异构性

可扩展性的含义

  1. 规模的可扩展性(用户或节点数量)
  2. 地理位置的可扩展性(节点间的最大距离)
  3. 管理域的可扩展性(管理域的数量)

策略与机制

定义:策略指的是解决特定问题的具体方法和算法;机制则是指解决这些问题的具体手段和实现方式。

具体地说,机制就是做什么(类似于Interface),策略就是怎么做(类似于Implementation)。

举例:在Linux中提供了缓存的机制,通过LRU策略来对这个机制进行具体实现。

先有机制,后有策略;有了机制以后,至少需要有一个策略来实现它。策略具体,机制抽象。

分布式系统的分类

  1. 分布式计算系统
  2. 分布式信息系统
  3. 分布式普适系统

分布式计算系统

集群计算

通过相对高速的本地网络形成的一个高性能的集群(通常采用计算存储分离的架构。

特点:同构性(相同的OS,几乎相同的硬件)、单一管理节点

网格计算

各地的限制离散资源组成的一个算力网络。

特点:异构性、分布在多个组织、轻松跨越广域网

云计算

IaaS、PaaS、SaaS

分布式信息系统

如分布式事务处理系统。

事务

事务是对对象的状态进行的操作的集合,满足ACID属性:原子性 Atomicity, 一致性 Consistency, 隔离性 Isolation, 持久性 Durability

分布式普适系统

移动计算系统
传感器网络

Architecture

分布式系统架构风格

  1. 层次式
  2. 对象式
  3. 总线式(这是一种松耦合的系统架构,采用事件触发)
    • 订阅-发布
    • 共享数据空间

分布式系统的组织形式

  1. 集中式
  2. 非集中式
  3. 混合式

集中式架构(基本的C/S模型)

特点

  1. 有提供服务的进程(服务器)
  2. 有使用服务的进程(客户端)
  3. 客户端和服务器可以位于不同的机器上
  4. 客户端在使用服务时遵循请求/应答模式

多客户端-单服务器架构的问题

  1. 服务器存在性能瓶颈
  2. 服务器容易产生单点故障
  3. 规模难以扩展

多客户端-多服务器架构

Web Proxy Server

Web Applets

应用分层

传统的三层结构包括用户界面层、处理层和数据层

典型应用

瘦客户机

非集中式架构(P2P)

分类

  1. 结构化P2P:节点按特定数据结构组织
  2. 非结构化P2P:节点随机选择邻节点
  3. 混合式P2P:部分提供特定功能的节点按特定结构组织

结构化P2P

结构化P2P通常采用logical ring或hypercube的overlay来组织,每个节点提供根据ID提供特定的服务

非结构化P2P

大多数非结构化的P2P组成随机的overlay,两个节点之间按p的概率连接,查找数据时使用洪泛或随机游走。另有一种非结构化的P2P采用了簇结构,簇头直接形成全连接。

混合式P2P

如BitTorrent: Trackers,Edge-Server结构(CDN:内容分发网络)

结构化 vs 非结构化

结构化的优势在于能够快速找到信息,可以设计一种算法在有界代价下找到信息,但是结构的维护成本太高了。

相关文章

自然语言处理复习材料(3)——文本分类
自然语言处理复习材料(2)——语言模型与词表示
自然语言处理复习材料(1)——概述
记Vision Mamba在Pascal架构的显卡下训练出错的的解决办法
介绍一个好用的张量操作库——einops

发布评论