• Latest Articles
  • Computer Science
  • Books Reading
  • CPP
  • OS
  • Graph
  • Big Data

图个数问题与burnside引理

问题 一个图G(V,E),如果有8个顶点,一共有多少个这样的图? 这个问题涉及到一个有趣的burnside引理,今天我们借这个问题来学习下这个图论引理。 不考虑同构情况 在这种情况下,我们假设每个顶点和边都有id,也就是他们是独一无二的。 如果默认是无向简单图,也就是: 顶点已经固定为 8 个; 没有自环; 两个顶点之间最多一条边; 边没有方向。 那么 8 个顶点之间最多有 \\binom{8}{2

构建之法 – 学习笔记

因为是自己边读边记录的,会有些乱 章节 1 概论 讨论了什么是软件工程,小项目跟公司级别的大项目的区别。各种工程化和管理化的方法。 纸飞机、莱特兄弟的飞机、波音747客机的飞机例子举的非常好,让人对大型软件项目有了更深的理解。 这些天我在调制SGLang的时候,也遇到了类似的问题。LLM Serving已经进入到了一个非常复杂的问题境界,如同当年Oracle和MS Server一样复杂,每个公司都

ICML26 Memarena Agent Memory Benchmark

一句话总结:这篇文章揭示了当前 LLM 智能体在处理长期、复杂交互任务时记忆能力的不足,并提供了一个更具挑战性的评估平台来推动该领域的进步 已有benchmark的特点 Large language model (LLM) agents have two complementary core capabilities: the ability to memorize task-relevant

Airport 95: Automated Baggage System?

Paper Link https://dl.acm.org/doi/pdf/10.1145/227531.227544 一篇1996年的老文章。作为课程学习阅读。 这篇文章《Airport 95: Automated Baggage System?》由 A. John Swartz 撰写,主要分析了丹佛国际机场(DIA)自动行李处理系统的失败案例。文章以该项目为研究对象,探讨了大型软件/系统工程中

OS与硬件的交互:TLB

我: 我已经知道了 OS 里的物理地址和虚拟地址。那难道每次我进行内存访问,都要进行一次转换吗? GPT: 是的,从概念上说,每次内存访问都需要把虚拟地址翻译成物理地址。但这不是每次都由操作系统慢慢查表完成,而主要由硬件完成。CPU 里有一个叫 TLB 的缓存,它保存最近用过的地址翻译结果。如果 TLB 命中,虚拟地址可以很快转换成物理地址;如果 TLB miss,硬件才会去查 page tabl

从零开始造一颗 RISC-V CPU(六):微架构验证体系与 IPC 性能评估

从零开始造一颗 RISC-V CPU(六):微架构验证体系与 IPC 性能评估报告 系列博客第 6 篇(最终篇) —— 在现代 CPU 设计中,验证(Verification)往往占据了流片前 70% 的工作量。本文将全面解析我们如何通过 Python 构建指令集模拟器(ISS)、约束随机验证(CRV)以及端到端的状态机快照比对,验证这套复杂的双发乱序引擎,并给出最终的微架构 IPC 性能跑分。

从零开始造一颗 RISC-V CPU(五):乱序执行的来龙去脉与微架构实现

从零开始造一颗 RISC-V CPU(五):乱序执行的来龙去脉与微架构实现 系列博客第 5 篇 —— 深入探讨乱序执行(Out-of-Order Execution)的底层硬件机制。本文将从体系结构历史出发,讲解 Tomasulo 算法的演进,并结合完整的微架构全景图(Mermaid 框图)与核心 Verilog 源码,解析我们在 1000 多行代码内构建的这套乱序执行引擎。 1. 乱序执行的来龙

从零开始造一颗 RISC-V CPU(四):Cache 微架构演进与组相联设计

从零开始造一颗 RISC-V CPU(四):Cache 微架构演进与组相联设计深度解析 系列博客第 4 篇 —— 深入探讨存储器层级(Memory Hierarchy)的底层硬件机制。本文将从早期的“存储墙”问题出发,讲解从直接映射(Direct Mapped)到 2路组相联(2-Way Set-Associative)的架构演进,并结合完整的微架构数据通路(Mermaid 框图)与 Verilo

从零开始造一颗 RISC-V CPU(三):TAGE分支预测微架构

从零开始造一颗 RISC-V CPU(三):分支预测微架构 — 从 Bimodal 到 TAGE 引擎的硬核解析 系列博客第 3 篇 —— 深入探讨影响深级流水线性能的核心命题:分支预测(Branch Prediction)。本文将通过微架构层面的演进逻辑,讲解从基础的 Bimodal 到目前工业界最先进的 TAGE(TAgged GEometric History Length)预测器的算法本质

从零开始造一颗 RISC-V CPU(二):顺序双发射(In-Order Dual-Issue)

从零开始造一颗 RISC-V CPU(二):顺序双发射(In-Order Dual-Issue)基线架构与冒险黑洞 系列博客第 2 篇 —— 这是一个非常有意思的工程伏笔:为什么我们最终走向了“乱序执行(OoO)”?本文将解剖我们的基线版本(main 分支)—— 顺序双发射(In-Order Dual-Issue)架构。我们将看看在这套初代架构中,为了保证两条指令同时无碰撞地在深浅管线中平行飞奔,

从零开始造一颗 RISC-V CPU(一):项目总览与流水线基础

从零开始造一颗 RISC-V CPU(一):项目总览与流水线基础 系列博客第 1 篇 —— 介绍整个项目的动机、架构全貌、8 级流水线设计以及关键的 hazard 处理。 项目地址:https://github.com/HaibinLai/simple-CPU/tree/main/docs 为什么要自己造 CPU? 每年的计算机组成原理课,都有一个调bug到想死的大作业:用 Verilog 实现一

没有人类了

人之所以为人,是由许多部分组合而成。要成为一个真正的自己,需要的条件会多到让人吓一跳。别于他人的面容、属于自己的声音、睡醒时注视的那双手、童年的回忆、对未来的猜想,还不止这些,还有我的电子脑所触及的咨询海洋,是这所有的一切造就了我,让我意识到自我。但同时,也将我拘束在自我当中。——《攻壳机动队》 我们认为,LLM将取代人类。 人类的复杂度似乎还是超乎了我们于AI的想象。我们认为AI将取代人类,因为

Computer Arch 102

项目 从计算机课堂的5级流水线进一步进阶,制作更强大的CPU。 github: https://github.com/HaibinLai/simple-CPU.git 使用指令集:RISC-V 多发射(Superscalar) Superscalar(超标量)是指 CPU 在一个时钟周期里,不再只发射(issue)一条指令,而是同时发射多条彼此独立的指令到不同执行单元。例如一个现代 CPU 可能同

pre-PhD: thinking & planning

来MSRA后,与很多人进行了观点交流和碰撞,真是开拓眼界了。信息密度大,可是任务紧凑,没能每一个idea都细细分析,在这里只能把他们大杂烩。如果有冲突或者重合,纯属个人臆想。 我目前最想去寻找的答案,就是未来5年的phd要做什么。时代的变动非常激烈,在AI的冲击下,传统的system以及HPC的研究方法、方向乃至思路都有可能发生翻天覆地的变革。 System 研究要追上Agent 步伐 古法编程一

S.H.I.T 中国青年虚无主义体验的形成机制与生命意义重建路径研究

paper link: https://shitjournal.org/preprints/7bce9b92-88ef-4f58-ad9b-e84850799939 文章探讨了为什么很多中国青年(初中生、高中生以及大学生)陷入迷茫与虚无主义 1. 为什么会形成虚无主义 文章章节1、2节讨论了这一问题。 作者认为,大部分中国青年最初生长在封闭环境(如学校、家庭)。其环境的封闭性体现在:对人生目标这一

(WIP) 梁漱溟 中国文化要义

认识老中国,建设新中国 梁在书的前言中介绍了为什么写这本书:为中国问题所困挠,希望从文化中找到解答。 本书一名《中国民族之前途》。内容分上下两部:上半部为认识中国 问题之部,下半部为解决中国问题之部――因要解决一个问题,必须 先认识此一问题。中国问题盖从近百年世界大交通,西洋人的势力和 西洋文化蔓延到东方来,乃发生的。要认识中国问题,即必得明白中 国社会在近百年所引起之变化及其内外形势。而明白当初