6.824课程笔记1

分布式系统,并行处理多个gpu,多个cpu,多个内存,以及集群中的容错问题,网络通信协议,安全问题

关注性能和容错

局部错误会导致很多困难

mapreduce论文

存储,计算,通信,三大基本问题,最关注的是存储部分

抽象:一个有着非分布式表现的分布式存储与计算系统

性能上,RPC:RPC是远程过程调用(Remote Procedure Call)的缩写形式。SAP系统RPC调用的原理其实很简单,有一些类似于三层构架的C/S系统,第三方的客户程序通过接口调用SAP内部的标准或自定义函数,获得函数返回的数据进行处理后显示或打印。他的目的就是试图掩饰我们在不可靠网络上进行通信

线程:一种编程技术,用于多核心计算机,它提供了一种结构化的迸发方法

锁:一种并发控制手段

容错上,普通的错误在分布式上将会扩大,因此需要做容错。

容错,安全性,可恢复性,也就是可用性

非易失性存储,即使在断电的情况下,也能及时的写入磁盘等地方,保证后续街上

复制问题,关键问题,复制有可能偏离同步状态

一致性,KV系统,key value表形式进行存储和查找,外基础put和get接口。在分布式系统中会有多个表,因为复制和缓存的原因,可能会有多个kv表,在pg的运行中会出现问题,比如只有一个表被更新的时候,机器崩了,这种时候g的值将会和p的值不一样。一种简单的方式时保证g查找最新的表。

强一致性,保证put得到最新的get,弱一致性,get不得到最新的put,因为强一致性会导致较多的资源消耗,因为强一致性需要更昂贵的通信,弱一致性需要更加可靠的协议

mapreduce:让非专家也能运行分布式

对与每一个输入的文件运行map函数,将文件作为输入,商城一个kv表作为输出。得到kv表之后运行reduce,收集每个key值的所有map的所有实例,并输出作为调用。

emit会将key对应的map(文件)的实例集合发送出去,emit是将信号findNext或信号findPrevious发射出去的一个标准定义的函数。

(k,v) = map(文件), reduce(k, v), emit(len(v))

在map和reduce中间还有一个worker,在emit的时候先使用worker点对点通信,将所有key的文件移动到reduce

在使用时尽量少用网络,因为流量限制

本质上是吧文件的行存储转换为了一种kv的列存储,称之为洗牌

 

posted @   纸包鱼  阅读(42)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示