Systems & AI Infrastructure
以系统软件与数据基础设施为主线:已在 xv6 与 BusTub 中完成虚拟内存、文件系统、缓冲池、并发索引、查询执行与 MVCC 等核心模块;当前将这些系统能力迁移到单机 LLM Serving,聚焦请求链路、KV Cache、调度与性能工程。
- focus
- AI Infrastructure / Systems
- foundation
- OS · Storage Engine · Concurrency
- working set
- C · C++ · Python · RISC-V · Linux
- method
- implement → benchmark → source trace → write
系统项目
MIT 6.S081RISC-V · xv6 · C · Linux
基于 RISC-V / xv6 扩展内存、进程、Trap 与文件系统路径,重点验证虚拟内存、异常处理和持久化语义。
- 实现独立内核页表与用户页表映射机制,掌握 trampoline、trapframe 与页表切换流程。
- 基于 page fault 实现 lazy allocation 与 copy-on-write fork,维护物理页引用计数。
- 扩展 trap 与 syscall 机制,实现 alarm 系统调用和用户态定时回调。
- 实现非抢占式用户级线程库,支持线程创建、上下文保存/恢复与协作式调度。
- 扩展 xv6 文件系统,支持三级间接索引、软链接、mmap/munmap 与按需映射回写。
CMU 15-445BusTub · C++ · Linux
围绕单机数据库内核完成存储、索引、执行、优化与事务链路,实现可并发访问的 BusTub 核心模块。
- 实现线程安全的 BufferPoolManager,维护 page/frame 映射、pin count、dirty flag 与换入换出。
- 实现 LRU-K 页面替换器,并与 Buffer Pool 的 evictable 状态协同工作。
- 实现支持并发访问的 B+Tree 索引、节点 split/merge/redistribution 与有序迭代器。
- 基于 Volcano Iterator 模型实现 Scan、Join、Aggregation、Sort、Limit、Distinct 等算子。
- 实现规则优化器,将 SeqScan 改写为 IndexScan,将 NestedLoopJoin 改写为 HashJoin。
- 基于版本链和 undo log 实现 MVCC,支持快照隔离下的并发读写。
AI Infra 学习路线
2026.07.27 — 2026.08.11阶段 1 · LLM Serving 请求链路与基线已完成
- scope
- single-node · single-request · 4B quantized model
- runtime
- Ollama · vLLM Metal
- evidence
- 2 articles · benchmark script · CSV · raw logs
- boundary
- no streaming concurrency or tail-latency claim
核心问题
- 请求如何经过 API、Tokenizer、Scheduler、Model Runner 与 Backend?
- Prefill、Decode 与 KV Cache 分别承担什么计算和状态?
- 输入/输出长度如何改变 Prefill、Decode 与端到端耗时?
- 实验结论依赖哪些环境、负载、统计口径和证据边界?
已交付证据
- 完成 Qwen3-4B 的本地推理与 vLLM Metal 服务基线。
- 对输入/输出长度进行单变量实验,保留脚本、CSV、响应与日志。
- 完成《LLM 推理系统从请求到返回的完整链路》。
- 完成《本地 LLM 推理服务实验》,显式区分近似指标、严格指标与未验证结论。
reading queue 展开阅读清单
prompt
-> tokenizer
-> prefill -> KV Cache
-> decode -> scheduler / batching
-> response
constraint: KV Cache consumes GPU memory2026.08.12 — 2026.09.12阶段 2 · 单机 LLM Serving 性能与调度进行中
- question
- 负载、调度预算与 KV 容量如何共同决定吞吐和尾延迟
- baseline
- Qwen3-4B · vLLM Engine · Metal backend · single-node
- variables
- request rate · concurrency · sequence length · scheduler budget
- evidence
- stream timestamps · CSV/JSON · server metrics · config/logs
核心问题
- 单层 Self-Attention 如何完成 Q/K/V、缩放点积、因果 Mask、Softmax 与输出计算?
- Decode 时哪些 K/V 可以复用,KV Cache 的计算收益、容量与 block 生命周期是什么?
- Input/Output 长度分布如何改变 Prefill、Decode 与 KV Cache 占用?
- Request Rate、Client Concurrency、Active Sequences 与 Token Budget 如何区分?
- 并发增加时,Token Throughput 为什么先提高再饱和,而尾延迟继续恶化?
- 长 Prefill 如何干扰 Decode ITL,Continuous Batching 与 Chunked Prefill 如何缓解?
- 客户端时序如何对应到 Scheduler 决策和 KV Block 生命周期?
必交证据
- 冻结四条可证伪假设,预先定义 Supported、Refuted 与 Inconclusive。
- Toy Attention:手算一个最小样例,标注张量形状,并用测试校验 Cache / No-Cache Decode 数值等价。
- 容量模型:估算权重、KV Cache、运行时 Buffer 与可容纳序列数。
- 实现可配置长度、并发、公共前缀与到达模式的流式 Benchmark Harness。
- 采集 TTFT、TPOT、ITL、E2E、吞吐、分位数及 Queue/KV 服务端指标。
- 完成 Length、Concurrency、Mixed Workload 与 Prefix Reuse 单变量实验。
- 交付 Scheduler 源码纵切、原始 CSV/JSON、配置日志与可复现技术报告。
执行窗口
Attention 计算基线与 KV Cache
跟踪单层 Q/K/V 数据流,完成手算样例与 Toy Attention;再推导 Cache 复用、容量和复杂度。
gate shape trace + hand case + equivalence tests
Benchmark Harness 与负载扫描
记录真实 Token 与逐请求流式时序;独立扫描长度、Request Rate 和 Client Concurrency。
gate warmup + repeat + raw CSV/JSON
Scheduler、混合负载与 Prefix Reuse
跟踪一次 Engine Step,验证调度预算、长短请求混合与公共前缀复用的影响。
artifact source trace + workload matrix
对照实验与技术报告
固定版本、模型和负载分布;对关键变量重复测量,用客户端与服务端证据解释结果。
gate reproducible report + figures + limitations
异常复测与证据封装
复测反常数据,补齐配置快照、原始产物、复现命令与结论适用边界。
release article + lab bundle
[scope] 先补齐单层 Attention 与 KV Cache 所需的最小计算链路,不要求先推完整 Transformer Block 或 Kernel;本阶段仅讨论单机 Serving,Speculative Decoding 与分布式并行移出范围。
reference set 核心材料 / 按需扩展
core / 机制与系统
- Attention Is All You Need
- Efficient Memory Management for LLM Serving with PagedAttention
- Orca: A Distributed Serving System for Transformer-Based Generative Models
core / 实现与测量
extension / 调度与 Cache
environment / Backend 边界
source / vertical slice
load: request_rate != client_concurrency
-> queue: queue_time / waiting_requests
-> scheduler: active_sequences + token_budget
-> prefill / chunked_prefill <-> decode
-> KV blocks: allocate / reuse / release
-> client: TTFT / TPOT / ITL / E2E / throughput
-> server: running / waiting / KV_cache_usage
scope: backend + hardware + model + version + workload验收标准:在固定环境与负载分布下,能用客户端流式时序和服务端 Queue / Scheduler / KV 指标解释吞吐饱和与尾延迟恶化;报告保留原始产物、复现命令、反例及 Backend / Hardware / Version 适用边界。
学习与 AI 协作原则
不回避 AI,不外包判断。独立编程用于维护建模、实现、调试与解释能力;AI 用于扩大代码库探索、验证和工程交付效率。最终结论只由代码、测试、测量与可复现证据确认。
独立模式
用于核心机制、第一轮调试与最终解释;AI 不介入问题求解。
own: model · invariant · implementation教练模式
用于源码导航、概念澄清与反例生成;AI 提问和 Review,不直接接管结论。
own: source trace · hypothesis · trade-offAgent 模式
用于脚手架、测试、数据处理与重构;AI 在明确契约和验收标准内执行。
own: scope · acceptance · final diffbefore delegation
- 定义 Question、Prediction 与 Invariant。
- 限定 Action 与 Allowed AI Help,写明不可外包的判断。
- 指定 Artifact,并用测试、指标或可观察行为定义 Acceptance。
after delivery
- 审阅完整 Diff,运行测试并复现实验。
- 脱离对话解释关键路径,独立修改一个约束。
- 记录 Feedback、Reflection、适用边界与下一项决策。
question -> prediction
-> minimum necessary reading
-> implementation
-> test / benchmark
-> explanation -> review -> correctioncompetitive edge =systems depth × AI leverage × evidence ownership × external feedback
验收标准:能够在不查看 AI 对话的情况下解释机制、复现实验并修改约束;否则只视为完成交付,不视为掌握。