More than code

笔记
笔记

More GFS

对GFS的一些补充,主要是来自mit pdos 为什么atomic record append是至少一次,而不是exactly-once? 如果一次写操作失败的话(有可能只是一个从副本失败了),客户端就会重试这次写操作。这会导致在没有失败的地方会出现重复的数据。 其实可以去修改设计让服务器检测到重复的请求,但是这样会影响performance,以及影响复杂性 Application是怎么知道一个chunk中的数据是padding或者重复数据呢? 对于padding来说,用户可以在有效的record之前放上一个mag…

2022年3月22日 0条评论 489点热度 0人点赞 sheep 阅读全文
笔记

Gemini Notes

Motivation 虽然最先进的共享内存处理系统可以高效的处理图。但是缺乏可拓展性使得他们无法处理那些单台机器无法承载的图。而分布式解决方案虽然可以将图拓展到更大的规模。但是他们的性能和成本效率往往不是很好 一个对于前沿系统的比较 可以发现分布式系统的网络没有饱和。限制他的主要因素是计算而非通信 与共享内存系统相比,他们执行了更多的额指令,更多的内存引用,更差的局部性以及多核利用率低。这种低效性有多个来源:(1)通过hashmap来在全局和局部状态间转换vertexID,(2)维护顶点的副本,(3)在GAS中的c…

2022年3月17日 0条评论 567点热度 0人点赞 sheep 阅读全文
笔记

more-raft

领导权禅让 有的时候leader必须下台,比如他可能出现重新启动,或者已经从集群中删除 在某些情况下,一台或多台服务器可能比其他的服务器更适合领导集群。比如数据中心中的服务器,用来减少客户端和领导者之间的延迟 过程如下 当前leader停止接受客户请求 当前leader完整更新目标服务器的日志以使其与自己的日志匹配 当前leader将timeoutNow请求发送到目标服务器,目标服务器将开始新的选举 集群成员更改 和论文中不同的是,这里的集群更改是一个更加简单的算法 核心思路就是禁止会导致多数成员不相交的成员更改。…

2022年3月16日 0条评论 534点热度 0人点赞 sheep 阅读全文
笔记

cmu15418 notes (16~18)

Lecture 16 run一个thread都涉及到了什么 比较常规的知识点,选择一个execution context,设置状态(pc, stack等),然后开始执行 对于同一个core上的multithread来说,os并不负责 os只负责粗粒度的调度,保证每个进程都能分享硬件资源 但是在硬件中利用多线程隐藏访存延迟的角度来说,用os调度代价太高了。所以在一个核上的若干个execution context,是由硬件来调度的 比如数据库中的latch,利用自旋锁实现就更好一些。因为这些都是轻量级的短时锁,不会等待…

2022年1月24日 0条评论 590点热度 0人点赞 sheep 阅读全文
笔记

cmu15418 notes (13~15)

Lecture 13 cache之间用队列,可能当队列满的时候导致死锁 因为一个队列中的request会需要在另一个队列中进行response,也就是一个队列中的work的完成需要另一个队列的resource 当队列满的时候,两个queue都需要对方queue的resource,导致了死锁 一个解决办法是可以扩大queue的容量,到系统最大事务数量 第二种方法是消除依赖 一个队列依赖另一个队列的空间,实际上是一个队列中的request依赖另一个队列的response 所以我们将request和response拆开,…

2022年1月6日 0条评论 685点热度 0人点赞 sheep 阅读全文
笔记

CMU15-418 notes (10~12)

Lecture 10 一个小复习,执行一个写操作在cache层面会发生什么 我们要考虑该地址不在cache中,以及cache满时要evicit一个cache line,并且如果该cache line是dirty的,我们还需要将该cache line写回 单核系统上也会有cache coherence问题 发生在CPU和其他设备通讯的过程中 这也就是为什么有的设备IO空间是不可缓存的 或者需要让操作系统显式的flush这些page,或者这些cache line 所谓的sufficiently separated ti…

2021年12月27日 0条评论 611点热度 0人点赞 sheep 阅读全文
笔记

CMU15-418 notes(7~9)

Lecture 7 异步的send和recv,我们需要返回一个handle来检查数据是否已经被正确的发送/接收了,这样我们才能安全的继续操作数据 即便我们用了pipelined的方法来传递消息,只要缓冲区不是无限大的,我们还是会得到一个没有流水化的执行过程 计算强度,computation / commnunication,越高越好 说明算法的限制在计算,而非通讯 inherent communication,取决于我们的算法,通过优化算法来优化通讯成本 artifactual communication,取决于算…

2021年12月26日 0条评论 558点热度 0人点赞 sheep 阅读全文
笔记

CMU15-418 notes (4~6)

Lecture 4 截图比较诡异 这里老师问的是这段代码里那个for loop是parallel的 答案是没有,这整个函数都是按顺序执行的,真正的并发,或者说叫逻辑上的并发发生在调用函数的时候 这里是SPMD模型,相同的程序对应的是不同的数据。在abstraction层级,我们认为在调用函数的时候,ISPC会生成若干个program instance,每个instance有自己的progranIndex,他们都执行这段代码,只不过是每个instance负责不同的数据。 要注意的是这里是abstraction,ISP…

2021年12月21日 0条评论 682点热度 1人点赞 sheep 阅读全文
笔记

CMU15-418 notes (1~3)

这里就是记录一下我在听课过程中感觉比较重要或者比较难懂的知识点,较为零散 Lecture 1 摩尔定律还在生效,但是提高能效的方式正在变化 这个是具体解释,在未来,我们可能不会同时用到所有的晶体管 同时,指令级并行不能一直加速,因为一个程序中不太可能出现若干条不相关的指令 功耗墙 提高主频也会提高功耗,同时散热也是主要的问题 Lecture 2 这里的指令流一致性,指的是多个数据执行的指令流是相同的 比如一个SIMD指令中的若干个数据都有相同的指令流(相同的分支),那么我们就可以跳过不必要的分支来加速执行 反过来,…

2021年12月17日 0条评论 720点热度 0人点赞 sheep 阅读全文
笔记

计算机体系结构基础 notes

记录一些我认为并不常见但是比较有用或者比较有趣的知识点 广义的系统内存空间包括IO空间和内存空间,不同指令集对系统内存空间的定义各不相同。X86指令集包含独立的IO空间和内存空间,对这两部分空间的访问需要使用不同的指令:内存空间使用一般的访存指令,IO空间使用专门的in/out指令。而MIPS、ARM、LoongArch等RISC指令集则通常不区分IO空间和内存空间,把它们都映射到同一个系统内存空间进行访问,使用相同的load/store指令。处理器对IO空间的访问不能经过Cache,因此在使用相同的load/st…

2021年12月17日 0条评论 573点热度 0人点赞 sheep 阅读全文
分类
  • ARTS
  • C++
  • CSAPP
  • daily
  • database
  • leetcode
  • linux
  • ml
  • nlp
  • paper
  • rocksdb
  • rust
  • ScummVM
  • tech
  • 其他
  • 周报
  • 未分类
  • 笔记
  • 算法
  • 计算机图形学
归档
  • 2025 年 5 月
  • 2025 年 4 月
  • 2025 年 3 月
  • 2025 年 2 月
  • 2025 年 1 月
  • 2024 年 12 月
  • 2024 年 10 月
  • 2024 年 9 月
  • 2024 年 8 月
  • 2024 年 7 月
  • 2024 年 6 月
  • 2024 年 5 月
  • 2024 年 4 月
  • 2024 年 3 月
  • 2024 年 2 月
  • 2023 年 12 月
  • 2023 年 11 月
  • 2023 年 9 月
  • 2023 年 7 月
  • 2023 年 6 月
  • 2023 年 5 月
  • 2023 年 4 月
  • 2023 年 2 月
  • 2023 年 1 月
  • 2022 年 9 月
  • 2022 年 7 月
  • 2022 年 6 月
  • 2022 年 5 月
  • 2022 年 4 月
  • 2022 年 3 月
  • 2022 年 2 月
  • 2022 年 1 月
  • 2021 年 12 月
  • 2021 年 11 月
  • 2021 年 10 月
  • 2021 年 9 月
  • 2021 年 8 月
  • 2021 年 7 月
  • 2021 年 6 月
  • 2021 年 5 月
  • 2021 年 4 月
  • 2021 年 3 月
  • 2021 年 1 月
  • 2020 年 12 月

COPYRIGHT © 2021 heavensheep.xyz. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS