分布式系统-MapReduce 阅读笔记
MapReduce 根据使用者的不同,会产生不同的视角:
- 分布式系统的使用者:重点关注 Map&Reduce 两类函数的编写,无需关心具体的分布式框架。
- 分布式系统的开发者:需要管理 Map&Reduce 如何分发到机器上以便降低网络传输需求,同时关注冗余和备份以便顺利且迅速的完成计算任务。
接下来,本文作为 MapReduce 论文和 Mit6.824 的阅读笔记将以分布式系统的开发者的视角分析如何构建一个 MapReduce 系统。
MapReduce 根据使用者的不同,会产生不同的视角:
接下来,本文作为 MapReduce 论文和 Mit6.824 的阅读笔记将以分布式系统的开发者的视角分析如何构建一个 MapReduce 系统。
分布式系统无外乎考虑以下三点:
同时,分布式系统存的实现目标同样有三点:
要理解什么是 HTTP/3,需要明白 HTTP/3 的提出为了解决哪些问题,通过什么手段解决。
计算机中有大量的硬件,它们之间通过各种总线连接,比如:
实际现代 CPU 将内存控制器集成于芯片,采用 DDR4/DDR5 通道,由内部互连(如 Intel UPI、AMD Infinity Fabric)管理多路内存访问。
一个典型的事件循环如下:
|
|
基于事件循环的并发,调度由程序自己进行,因此调度是可控的。同时,事件循环有两类实现:单线程事件循环、一个主线程负责事件循环并拉起其他线程处理具体事务。本次主要基于单线程事件循环进行。