Lecture 1 - Introduction

Lecture 1 - Introduction

MIT 6.824 Distributed Systems

1、概念预览

分布式系统需要考虑的因素:

  • Parallelism :并行性
  • Fault tolerence :容错性
  • Physicial :不同系统之间物理距离引起的通信问题
  • Security :不同的计算机之间的通信安全
  • Isolated :从通信角度可能引发的孤立问题

本课程全程重点讨论并行性容错性,其他因素将由实例说明。

挑战:

  • Concurrency :并发问题
  • Partial failure :系统部分出错
  • Performance :性能

实现:

  • RPC :远程调用的目是试图掩盖我们正在不可靠网络上通信的事实
  • Thread :线程是一种编程技术,让我们可以驾驭多核计算机。提供了一种结构化的并发操作方式(concurrency control),简化了程序员对并发操作的视角

性能:

  • Scalability :构建分布式系统的更高目标是具有可扩展速度的提升,比如两台计算机就有两倍算力。但可扩展性不能无限增加,总会有瓶颈的。

容错:

  • Availability :可用性,一般都是建立在特定错误类型上的,继续正常服务的能力。
  • Recoverability :可恢复性,宕机之后能快速恢复。
  • Non-Volatile storage :借助非易失性存储(硬盘、闪存flash、SSD)存放一些检查点或者关于系统状态的日志,读取最新的状态并在那里工作。
  • Replication :通过复制实现容错,eg:lab 2

consistency :一致性,例如对数据库读写。一般来说先去访问主服务器(数据库),如果失败了再去访问副本服务器。一致性可以分强弱,因为强一致性需要更昂贵的通信成本。

2、MapReduce

MapReduce简介 (airekans.github.io)

MapReduce论文

单词计数中的Map函数和Reduce函数Overview

在这里插入图片描述

映射到代码上:

function Map(K,V) ://K代表着words, V表1, K V可以都是vectorfor each word w :emit(w,"1");function Reduce(K,V) ://K V可以都是vectoremit(len(V))

从分布系统的设计者角度而言,Map必须是纯函数性的,需要考虑环境框架是如何组织的。

但从程序员的角度来看,调用就行。

TODO:读MapReduce论文、实现Lab 1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/789988.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

封装一个vue3的公共组件

在Vue 3中,封装公共组件的场景包括但不限于以下几种情况: 重复使用的组件:如果你发现某个组件在多个地方重复使用,那么将其封装成公共组件是很有意义的。比如,页面中的各种表单控件(输入框、下拉框、日期选…

MySQL 数据学习笔记速查表(视图、存储过程、事务)

文章目录 十三、视图1、视图是什么?2、视图的特性?3、视图的作用?4、视图的用途?5、视图的使用?1、基本语法2、创建视图3、调用视图4、视图练习(1) 利用试图简化复杂的联结(2) 利用视图重新格式化检索出的数据(3) 利用…

Django详细教程(一) - 基本操作

文章目录 前言一、安装Django二、创建项目1.终端创建项目2.Pycharm创建项目(专业版才可以)3.默认文件介绍 三、创建app1.app介绍2.默认文件介绍 四、快速上手1.写一个网页步骤1:注册app 【settings.py】步骤2:编写URL和视图函数对…

npm发布自己的插件包

发布npm包 新建文件目录例如npm-test,目录中打开命令行初始化package.json文件 npm init name:作为发布包的名字 version:版本号 main:入口文件名 {"name": "name202403311748","version": "…

Node爬虫:原理简介

在数字化时代,网络爬虫作为一种自动化收集和分析网络数据的技术,得到了广泛的应用。Node.js,以其异步I/O模型和事件驱动的特性,成为实现高效爬虫的理想选择。然而,爬虫在收集数据时,往往面临着诸如反爬虫机…

OSPF-基础、虚链路、overflow,缺省

OSPF 1、OSPF基础 2、区域内的路由计算 3、区域间的路由计算(矢量)(区域间的防环原则) 3.1、非骨干区域都与骨干区域相连。 3.2、骨干区域不会接收非骨干的3类LSA。 3.3、无论COST,1类LSA总是由于3类LSA。 ABR&…

如何读毛选

原因 这就涉及到mx该怎么读这个问题。拿起书来,凭着一股子热情,就一页页往下读可行吗?我想大概会半途而废,原因有二。 其一,mx中蕴含的思想是具有恒久价值的,但一定的思想必须通过一定的文字表达出来&#…

我爱我缓慢向上的勇气

勇气的觉醒 曾经,我也像许多人一样,害怕失败,害怕被人嘲笑,害怕面对困难。每当遇到挑战,我的内心就会充满恐惧和犹豫。但是,随着时间的推移,我逐渐意识到,这些恐惧和犹豫并不能帮助…

数据结构--稀疏数组

package com.dhu.sparsearray;public class SparseArrsy {public static void main(String[] args) {int chessArr1[][] new int[11][11];chessArr1[1][2] 1;chessArr1[2][3] 2;chessArr1[3][4] 11;System.out.printf("原始二维数组");for (int[] row : chessArr…

快消企业数字化转型实战解析:探寻未来增长新动力

2024年,快消行业正站在数字化转型的风口浪尖。 “今年是过去十年最差的一年,但却可能是未来十年最好的一年。”这句话几乎成为了今年的流行语。 但是这句话是情绪,不是事实。未来十年,中国会成为全球最大的消费品市场&#xff0…

[Pytorch]:PyTorch中张量乘法大全

在 PyTorch 中,有多种方法可以执行张量之间的乘法。这里列出了一些常见的乘法操作: 总结: 逐元素乘法:*ortorch.mul()矩阵乘法:ortorch.mm()ortorch.matmul()点积:torch.Tensor.dot()批量矩阵乘法&#xff…

北方经贸经济类知网收录月刊投稿发表论文

《北方经贸》期刊是由国家新闻出版总署批准,黑龙江省教育厅主管,黑龙江省经济管理干部学院主办的经济类综合期刊。期刊融理论性、知识性、实践性于一体,立足龙江,辐射全国,面向世界,注重研究解决重大现实理…

C++消息队列的基本实现

在C中,并没有直接提供消息队列(Message Queue)的标准库实现。但是,你可以使用std::queue与std::mutex(或std::lock_guard)、std::condition_variable等工具自己实现一个简单的线程安全消息队列。以下是一个…

vulnhub靶机: DC-9

dc-9靶机下载 将靶机设置为NAT模式,本次实验使用的内网网段为192.168.198.0/24,kali的ip为192.168.198.172 信息搜集 ip主机扫描: nmap -sP 192.168.198.0/24 确定靶机ip为192.168.198.171 主机端口扫描: nmap -T4 -A -v 192…

python基础——模块【模块的介绍,模块的导入,自定义模块,*和__all__,__name__和__main__】

📝前言: 这篇文章主要讲解一下python基础中的关于模块的导入: 1,模块的介绍 2,模块的导入方式 3,自定义模块 🎬个人简介:努力学习ing 📋个人专栏:C语言入门基…

嵌入式开发中,通过终端控制芯片GPIO电平

echo 204 > /sys/class/gpio/export 这个命令是在 Linux 系统中用于向 GPIO(通用输入输出)子系统注册一个 GPIO 引脚。GPIO 是一种用于与外部设备通信的通用硬件接口,可以通过读写 GPIO 引脚的状态来与外部设备进行通信,如传感…

大数据面试专题 -- kafka

1、什么是消息队列? 是一个用于存放数据的组件,用于系统之间或者是模块之间的消息传递。 2、消息队列的应用场景? 主要是用于模块之间的解耦合、异步处理、日志处理、流量削峰 3、什么是kafka? kafka是一种基于订阅发布模式的…

通过SSH在苹果手机上查看系统文件:远程访问iOS文件系统的方法

​ 目录 引言 用户登录工具和连接设备 查看设备信息,电池信息 查看硬盘信息 硬件信息 查看 基带信息 销售信息 电脑可对手机应用程序批量操作 运行APP和查看APP日志 IPA包安装测试 注意事项 引言 苹果手机与安卓手机不同,无法直接访问系统文件…

python基于django协同算法的个性化音乐推荐系统的设计与实现

本个性化音乐推荐系统以Django作为框架,b/s模式以及MySql作为后台运行的数据库。本系统主要包括以下功能模块:首页,个人中心,用户管理,歌曲类型管理,明星歌手管理,歌曲音乐管理,歌曲…

权限提升技术:攻防实战与技巧

本次活动赠书1本,包邮到家。参与方式:点赞收藏文章即可。获奖者将以私信方式告知。 网络安全已经成为当今社会非常重要的话题,尤其是近几年来,我们目睹了越来越多的网络攻击事件,例如公民个人信息泄露,企业…