当前位置: 首页 > news >正文

(undone) MIT6.824 Lecture1 笔记

参考1MIT课程视频:https://www.bilibili.com/video/BV16f4y1z7kn/?spm_id_from=333.337.search-card.all.click&vd_source=7a1a0bc74158c6993c7355c5490fc600

参考2某大佬笔记:https://ashiamd.github.io/docsify-notes/#/study/%E5%88%86%E5%B8%83%E5%BC%8F%E7%AD%96%E7%95%A5/MIT6.824%E7%BD%91%E8%AF%BE%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0-01

参考3mapreduce论文:https://pdos.csail.mit.edu/6.824/papers/mapreduce.pdf

参考42021MIT6.824schedule:http://nil.csail.mit.edu/6.824/2021/schedule.html


最近工作上遇到了一些高并发和一致性的问题,发现并行代码要写好、写的没有错误、DEBUG 真的很难。故决定学习 MIT6.824 来补充一下这方面的知识。

我们开始看 Lecture 1 吧,先来看教授的课程。

分布式系统的定义:多个计算机(而不是多处理器)通过网络连接,只能通过发送接收数据包交互,来合作提供一些服务。

分布式系统的意义:1.通过并行提高速度 2.容忍错误,一部分计算机宕机、其它计算机能继续工作 3.提高安全性。把安全相关的服务放在一台机子上,其它服务放在别的机子上

最直接的分布式系统应用:数千万人同时访问的网站,自然需要分布式系统提供服务

分布式系统中的难点:
1.许多并发的部分
2.当一部分计算机故障时,分布式系统应该能够使用剩余的计算机继续正常提供服务
3.想要实现分布式系统在理论上的性能优势并不容易

这门课的实验是模拟的,假装有很多台机器在运行服务,但实际上是在你自己的机子上单机跑。有兴趣可以看看是怎么实现的

分布式系统的主题有:
1.Fault tolerance (分为 available(部分机子宕机依然能运行) 和 recoverability (宕机的计算机能够恢复并重新加入工作))
2.Consistency 一致性。(并行、并发情况下,如何保证结果不会错误?并发 bug 是很常见的)
3.性能 Performance (包括 Throughput 和 latency)

性能和前两者往往冲突,所以这就需要工程上的 trade-off

教授简单介绍了 MapReduce:一种框架,让非专业人士能够轻易写分布式代码

以下是一个案例
如果让 N 台计算机去统计全世界所有书籍的各单词计数,那么比较好的方式是:
1.把所有 corpus 平均分成 N 份
2.每台计算机统计分给自己的 corpus,产出 <单词,计数> 键值对
3.所有计算机都产出键值对后,统一把这些键值对相加,得到最后的结果
前两步叫 Map,最后一步叫 Reduce
教授指出,最昂贵的步骤是 mapper 和 reducer 之间的 shuffle 操作,这个到论文中再仔细看吧
在这里插入图片描述

TODO:here

相关文章:

(undone) MIT6.824 Lecture1 笔记

参考1MIT课程视频&#xff1a;https://www.bilibili.com/video/BV16f4y1z7kn/?spm_id_from333.337.search-card.all.click&vd_source7a1a0bc74158c6993c7355c5490fc600 参考2某大佬笔记&#xff1a;https://ashiamd.github.io/docsify-notes/#/study/%E5%88%86%E5%B8%83%…...

小白投资理财 - 开篇

小白投资理财 - 开篇 第一健身第二提升工作技能第三理财自律和规划 我认为的人生三件大事值得投资&#xff0c;一是强身健体&#xff0c;有个好身体&#xff1b;二是提升工作技能&#xff0c;不断学习工作领域里的新知识&#xff1b;三是投资理财&#xff0c;确保资产不贬值。 …...

高中还来得及选择信息学奥赛赛道吗?

随着信息学奥赛&#xff08;NOI&#xff09;在升学中的重要性日益凸显&#xff0c;越来越多的学生和家长将其视为进入顶尖高校的一个重要途径。然而&#xff0c;很多学生可能直到高中阶段才意识到信息学奥赛的重要性&#xff0c;或者才开始对编程产生兴趣。于是问题出现了&…...

01_OpenCV图片读取与展示

import cv2 img cv2.imread(夕阳.jpg, 1) #cv2.imshow(image, img) #此行只能命令行处py文件执行&#xff0c;会弹出一个视频窗口 #cv2.waitKey (0)以下会在jupyter Lab控件中显示读取的图像 #bgr8转jpeg格式 import enum import cv2def bgr8_to_jpeg(value, quality75):ret…...

C语言中的输入控制重要基础

在C语言编程中&#xff0c;处理输入数据是一个常见的任务。根据不同的情况&#xff0c;我们可以采用不同的输入控制方法。本文将介绍三类输入控制方式&#xff0c;分别是已知数据组数的输入、以特定符号结束的输入&#xff0c;以及以EOF结束的输入。 1. 已知数据组数的输入 在…...

Vue 学习

使用 vue 创建一个项目 检查是否已经安装了 npm 和 node npm --version node --version 使用 npm 安装 vue npm install -g vue/cli 检查 vue 工具是否安装成功 vue --version 使用 vue 工具创建一个名为 vue-router-syntax 的项目 这是命令行的创建方式 vue create vu…...

Redis集群的两种方式

1.Redis集群 1.1 搭建主从集群 单节点Redis的并发能力是有上限的&#xff0c;要进一步提高Redis的并发能力&#xff0c;就需要搭建主从集群&#xff0c;实现读写的分离。一般情况下&#xff0c;主节点负责写操作&#xff0c;从节点负责读操作。而从节点如何得知数据呢&#xff…...

QT--基础

将默认提供的程序都注释上意义 0101.pro QT core gui #QT表示要引入的类库 core&#xff1a;核心库 gui&#xff1a;图形化界面库 #如果要使用其他库类中的相关函数&#xff0c;则需要加对应的库类后&#xff0c;才能使用 greaterThan(QT_MAJOR_VERSION, 4): QT wid…...

一、前后端分离及drf的概念

1.1什么是前后端分离 程序角度 前后端不分离&#xff1a;一个程序&#xff08;如django),接收请求处理HTML模版用户返回 前后端分离&#xff1a;两个程序 --前端&#xff1a;vue.js/react.js/angular.js --后端&#xff1a;Django drf(django rest framework) 2.专业角度 --…...

AI垃圾溢出识别摄像机

随着城市化进程的加快&#xff0c;垃圾处理成为城市管理中的一项重要工作。然而&#xff0c;垃圾桶溢出现象经常发生&#xff0c;给城市环境卫生和市民生活带来不便。为了解决这一问题&#xff0c;AI垃圾溢出识别摄像机 应运而生&#xff0c;利用人工智能技术&#xff0c;实现对…...

【抽代复习笔记】29-群(二十三):生成子群的两道例题及子群陪集的定义

例1&#xff1a;取S3的子集S {(12),(123)}&#xff0c;S的生成子群包含哪些元&#xff1f;一个群的两个不同的子集会不会生成相同的子群&#xff1f; 解&#xff1a;&#xff08;1&#xff09;S的生成子群就是S3。证明[有不理解之处可以回头看看第27篇笔记中生成子群的定…...

安全防护装备检测系统源码分享

安全防护装备检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer…...

easyexcel常见问题分析

文章目录 一、读取数字多了很多小数位的精度问题 一、读取数字多了很多小数位的精度问题 浮点型转成BigDecimal的时候会出现精度问题&#xff0c;例如 这儿设置的实体类对象类型是String&#xff0c;默认用到的是StringNumberConverter转换器 2.1.4 版本 public class Strin…...

精通推荐算法31:行为序列建模之ETA — 基于SimHash实现检索索引在线化

1 行为序列建模总体架构 2 SIM模型的不足和为什么需要ETA模型 SIM实现了长周期行为序列的在线建模&#xff0c;其GSU检索单元居功至伟。但不论Hard-search还是Soft-search&#xff0c;都存在如下不足&#xff1a; GSU检索的目标与主模型不一致。Hard-search通过类目属性来筛选…...

Python知识点:如何使用Python进行卫星数据分析

开篇&#xff0c;先说一个好消息&#xff0c;截止到2025年1月1日前&#xff0c;翻到文末找到我&#xff0c;赠送定制版的开题报告和任务书&#xff0c;先到先得&#xff01;过期不候&#xff01; 如何使用Python进行卫星数据分析 卫星数据分析是地球观测领域的一项关键技术&a…...

Python实现Phong着色模型算法

目录 使用Python实现Phong着色模型算法引言Phong着色模型的基本原理1. 模型组成2. 公式 Phong着色模型的Python实现1. 向量类的实现2. 光源类的实现3. 材质类的实现4. Phong着色器类的实现 整体实现总结 使用Python实现Phong着色模型算法 引言 在计算机图形学中&#xff0c;光…...

异步框架 fastapi -- 连接mysql数据库

文章目录 docker部署mysqlfastapi连接mysql docker部署mysql 拉取mysql镜像 # 查看docker 服务状态 systemctl status docker systemctl start docker # 设置 开机启动 systemctl enable docker# 拉取mysql 镜像 docker search mysql:latest # 不指定版本时&#xff0c;默认…...

Spring 全家桶使用教程 —— 后端开发从入门到精通

Spring 全家桶是 Java 后端开发的利器&#xff0c;提供了从基础开发到复杂微服务架构的一整套解决方案。通过对各个 Spring 组件的掌握&#xff0c;开发者可以快速构建高效、稳定的企业级应用。本文将详细介绍 Spring 全家桶的各个组件&#xff0c;帮助开发者深入理解其核心功能…...

AI动漫转真人终极教程!3步做出爆款内容,音乐推广号变现

从小到大&#xff0c;我们看过的动漫、玩过的游戏有很多很多 但我们会发现里面的角色或者人物都是二次元的 我就会好奇这些动漫人物在现实中会长什么样 而现在&#xff0c;我们通过AI绘画竟然就能还原出来他们现实中的样子 除了动漫角色和游戏人物&#xff0c;古代的画像、…...

vue2 vconsole有助于移动端开发页面调试

项目场景&#xff1a; pc项目开发中&#xff0c;有浏览器自带的调试工具。但在移动端&#xff0c;就需要自己搭建调试工具了。vconsole一种非常方便的前端调试依赖库&#xff0c;有助于我们在移动端开发式进行调试&#xff0c;快速排查移动端问题。 搭建步骤 1、安装依赖库。…...

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】

微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来&#xff0c;Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis&#xff1f;2.为什么要使用redis作为mysql的缓存&#xff1f;3.什么是缓存雪崩、缓存穿透、缓存击穿&#xff1f;3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet&#xff0c;点击确认后如下提示 最终上报fail 解决方法 内核升级导致&#xff0c;需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

Spring AI 入门:Java 开发者的生成式 AI 实践之路

一、Spring AI 简介 在人工智能技术快速迭代的今天&#xff0c;Spring AI 作为 Spring 生态系统的新生力量&#xff0c;正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务&#xff08;如 OpenAI、Anthropic&#xff09;的无缝对接&…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比

在机器学习的回归分析中&#xff0c;损失函数的选择对模型性能具有决定性影响。均方误差&#xff08;MSE&#xff09;作为经典的损失函数&#xff0c;在处理干净数据时表现优异&#xff0c;但在面对包含异常值的噪声数据时&#xff0c;其对大误差的二次惩罚机制往往导致模型参数…...