More than code

More Than Code
The efficiency of your iteration of reading, practicing and thinking decides your understanding of the world.
其他

2021年终总结

2021结束了,这里来写一下自己的年终总结 以前我是从没有写过这方面的东西的,一般都是向新的一年的展望。但是这一年比较不同,算是比较特殊的一年吧。 这一年我找到了自己的大方向,同时由于各种契机学到了非常多的东西。这一年对我的转变不仅仅是知识上的累积,同时也是认知上的一次转变。按照我最近看的一本书来说,这是我的第一次跃迁,认知跃迁。 而这些改变,主要是由读书引起的,所以这里我就先说一下我这一年读到的书。当然了,一些我认为不是那么质量高的书就不会在这里提及了。 年初的时候,我在做深度学习方面相关的学习。 《深度学习笔记…

2022年1月31日 0条评论 963点热度 6人点赞 sheep 阅读全文
其他

多核架构下的中断处理

多核架构下的中断处理 来一句题外话,本以为我目前的体系结构相关的知识已经足够充分了,但没想到还是不够细节。在理解xv6的过程中,通过教授的一些assertion,我才找到了自己对于中断理解的一些错误,这里特此记录下来。 问题的起因是这样的,在xv6中,中断处理程序一般都需要用lock来防止race condition,所以我就理解成了lock是用来防止多核同时执行一个中断处理程序时,在操作共享数据结构的时候导致的race 但是xv6的net lab中,教授的solution在中断处理程序中没有用lock。同时在课上…

2022年1月28日 0条评论 699点热度 0人点赞 sheep 阅读全文
daily

Daily Rust 有关所有权和生命周期的一些问题

Daily Rust 有关所有权和生命周期的一些问题 首先看一段代码 use std::rc::Rc; #[derive(Debug)] struct Node { id: usize, downstream: Option<Rc<Node>>, } impl Node { pub fn new(id: usize) -> Self { Self { id, downstream: None, } } pub fn update_downstream(&mut self, do…

2022年1月27日 0条评论 689点热度 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条评论 772点热度 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条评论 872点热度 0人点赞 sheep 阅读全文
rust

通过链表理解Rust中的Ownership

通过链表理解Rust中的Ownership 我们通过leetcode中的一道链表题来理解rust中的链表 #[derive(PartialEq, Eq, Clone, Debug)] pub struct ListNode { pub val: i32, pub next: Option<Box<ListNode>> } leetcode中rust的链表定义是这样的 可以看到,我们有clone的属性,但没有copy的属性,也就是说我们在赋值的时候的语义是移动,而非复制 而根据结构体的定义来看…

2022年1月2日 0条评论 710点热度 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条评论 782点热度 0人点赞 sheep 阅读全文
笔记

CMU15-418 notes(7~9)

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

2021年12月26日 0条评论 774点热度 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条评论 863点热度 1人点赞 sheep 阅读全文
database

对2PL的一些补充

对2PL的一些补充 主要的资料来自于wiki 2PL有两个经典的变体,分别是S2PL(strict-2PL)和SS2PL(strong strict-2PL or rigorous-2PL) 我们通过这张图来理解2PL以及其他相关的一些并发控制手段 S2PL即所有的写锁在事务提交的时候才能释放 SS2PL则是对于所有的锁,都只能在事务提交的时候才能释放 S2PL可以保证不会脏读,因为任何处于活跃事务中的数据项都会处于写锁中。所以只要我们通过读锁来保证我们读到的数据项没有被写锁占有,那么这个数据项就是一致的,即不会脏…

2021年12月20日 0条评论 1245点热度 0人点赞 sheep 阅读全文
1…1819202122…31
分类
  • Agent/RAG
  • ARTS
  • C++
  • CSAPP
  • daily
  • database
  • leetcode
  • linux
  • ml
  • nlp
  • paper
  • RL
  • rocksdb
  • rust
  • ScummVM
  • tech
  • 其他
  • 周报
  • 未分类
  • 笔记
  • 算法
  • 计算机图形学
归档
  • 2025 年 12 月
  • 2025 年 11 月
  • 2025 年 10 月
  • 2025 年 9 月
  • 2025 年 8 月
  • 2025 年 7 月
  • 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