钟鼓楼

钟楼瘦,鼓楼胖

一、CPU 虚拟化

2.1 背景

CPU 虚拟化范畴还挺多的,但是我们这里应该指的不包括不同 ISA 的虚拟化,而只是 CPU 的虚拟化,也就是虚拟出来的 CPU 和原本的 CPU 具有相同的 ISA 。

2.2 Trap & Emulate

为了虚拟化出多个 CPU,我们让虚拟的 OS 跑在用户态,也就是如下结构:

Read more »

那是 2023 年的夏天,楠神走出门,看向焦急等待的杰哥和我,问我们:

“你们知道 “系统” 和 “体系结构” 的区别吗?”

一、总论

计算机系统这个系列,是我作为一名方向是 system 的研究生的,基于 IPADS 实验室开设的 “计算机系统原理” 等课程,整理而成的,并不保证正确性,因为 system 实在是浩如烟海,而我又太菜了。

在这篇博文里,我想谈谈我心目中的 system 是什么,这并不是 IPADS 课程的观点。


Read more »

一、总论

今天是 2024 年 12 月 18 日,距离我在北航新主楼 F534 的夜晚写下这个博客的 About 板块已经过去了 3 年时间,时间过得真是太快了。

这个博客能够坚持 3 年时间,最重要的原因是有人(当然我希望小姑娘多一些)去看我的博客,博客的读者是我更新的最大动力。感谢读者们的支持和反馈,没有你们就没有 “钟鼓楼”。

当时我在博客里写了 “我没有报六级,也没有报冬奥会志愿者,没有小姑娘需要陪”,三年后,我居然也还是 “没有报六级,也没有报冬奥会志愿者,没有小姑娘需要陪” 的状态,也算是不忘初心了,乐。

二、回顾

Read more »

Overview

这本书是对《Science Research Writing For Non-Native Speakers of English》的总结梳理。这本书分为多个章节,每个章节对应一个论文写作里的部分。在每个章节内部,又有如下几个部分:

  1. 介绍一下这个章节在整体文章中的作用
  2. 展示一篇例文
  3. 介绍一些基础的英语语法和词汇
  4. 对例文结构进行分析(分解成小组件),也就是他说的 model
  5. 对 model 进行一些心法层面的阐述,也就是他说的 key
  6. 按照 model 和 key 介绍一些固定词汇、句式和搭配,也就是他说的 vocabulary
  7. 最后让你自己写一个文章

很多东西都是实践性质的,并非专业知识本身。所以如果总结的话,其实可以按照 model 的形式来组织 vocabulary ,其他的东西(比如例文、基础语法、动手实践)都可以省略,结构清晰。

因为时间问题,所以我会逐步更新这篇博文。

Read more »

一、总论

在并行编程中,除了 “互斥” 这个原语外(一般是采用 “锁” 来实现),也就是不同的任务不能同时做一件事情。还存在 “依赖(dependency)” 这个原语,这个原语描述的是有些任务必须在另外的一些任务后面开始,也就是虽然任务基本上都可以并行异步的执行,但是有些时候存在一些依赖使得任务需要按照一定的次序来执行。

依赖可以被抽象成一种图结构,其中节点是任务,而边是任务之间的依赖关系。但是图结构其实并不好在编程中使用,所以我们又用 event ,信号量等抽象简化了这种图结构。我理解其实是用生产者消费者模型来改写了图结构,构成了一种 “以依赖关系为中心” 的编程模型。

Barrier 或说者同步,我觉得其实也是一种依赖关系,它指的是同一个 batch 中的任务,必须依赖于其他 batch 任务的结束才能结束。

当涉及互斥时,涉及到的术语是 lock, unlock, mutex ,而涉及到依赖是术语是 event, wait, signal, notify, barrier 等。之前我只重视了互斥的学习,而对于同步语义,则非常忽视。

Read more »
0%