分布式系统-GFS阅读笔记

GFS

论文首先分析了作为一个大型的分布式存储系统的特点和难题:

  1. 故障:所有分布式系统的共同特点是总有机器会发生故障,系统需要能够应对这种情况。
  2. 文件体积巨大:文件往往以 GB 的级别进行传输,因此文件系统的块大小必须重新设计。
  3. 追加写入为主:许多文件只进行追加写,而不是覆盖现有的数据。同时,读取以顺序访问为主。

由于以上特点,GFS 在设计时提出了以下假设:

分布式系统-MapReduce 阅读笔记

MapReduce 根据使用者的不同,会产生不同的视角:

  • 分布式系统的使用者:重点关注 Map&Reduce 两类函数的编写,无需关心具体的分布式框架。
  • 分布式系统的开发者:需要管理 Map&Reduce 如何分发到机器上以便降低网络传输需求,同时关注冗余和备份以便顺利且迅速的完成计算任务。

接下来,本文作为 MapReduce 论文和 Mit6.824 的阅读笔记将以分布式系统的开发者的视角分析如何构建一个 MapReduce 系统。

分布式系统-概述

分布式系统的抽象和实现工具

分布式系统无外乎考虑以下三点:

  • 存储:构建一个多副本、容错的、高性能的分布式存储实现。
  • 通信:在不可靠的且带宽有限的网络上交换数据。
  • 计算:通过尽可能并行化任务,降低延迟并提高吞吐率。

同时,分布式系统存的实现目标同样有三点:

HTTP3笔记

什么是 HTTP/3?

要理解什么是 HTTP/3,需要明白 HTTP/3 的提出为了解决哪些问题,通过什么手段解决。

OS-IO

为什么需要中断

计算机中有大量的硬件,它们之间通过各种总线连接,比如:

  • CPU和内存通过某种专有的高速总线连接。
  • 显卡和现代的SSD等高速设备通过PCIe连接到CPU。
  • 鼠标、机械硬盘等缓慢的设备通过外设 I/O 总线连接到 CPU。

实际现代 CPU 将内存控制器集成于芯片,采用 DDR4/DDR5 通道,由内部互连(如 Intel UPI、AMD Infinity Fabric)管理多路内存访问。