语言与系统编程: Rust(async/unsafe/FFI)、C、RISC-V 汇编;Makefile/CMake;Python;Java
• 内核与系统: 调度(EEVDF/CFS 基准)、VFS(Ext4/Page Cache/Readahead)、并发与内存模型(RVWMO、RCU/Lock-
free)
• 性能与调试: QEMU、GDB(remote)、Perf(profiling/trace)、Git、Docker、Linux Shell
• 计算机基础: 体系结构(Pipeline/Cache)、编译与 PL(AST/SSA)、分布式一致性(共识/一致性模型)
Caelestis (ArceOS fork) | RISC-V 实验性操作系统内核 2024.11 – 至今
核心开发者 · Rust, Unikernel, Scheduling, Lock-free
• 项目概述: 基于 StarryOS/ArceOS 的内核增强,针对尾延迟与 I/O 吞吐进行全链路优化。
• EEVDF 调度器 (Linux 6.6+ 同款算法落地):
– 在 Unikernel 中重构调度子系统,将任务模型由“优先级”解耦为 Eligible + Virtual Deadline。
– 引入 Deadline Preemption 与 Lag Clamp 机制,解决交互式任务的饥饿问题。
– 成效: sched-bench W1 场景下,交互任务唤醒延迟 P99 降低 35%,实现微秒级响应。
• VFS 高性能 I/O 流水线:
– 设计 Page Cache Readahead 异步流水线,利用局部性原理隐藏 I/O 延迟。
– 实现 Bounce Buffer 聚合 VirtIO 请求,将大量小 IO 合并为批量事务,显著减少 VM-Exit。
– 成效: QEMU 环境下,顺序读吞吐提升 2.62×,4KB 随机读延迟下降 46%。
• EBR-RCU (无锁并发原语):
– 基于 Epoch-Based Reclamation 实现 RCU,适配 RISC-V 弱内存模型 (RVWMO)。
– 设计 Budgeted Reclaim 策略,将内存回收摊销至调度点,避免延迟抖动。
– 成效: 读侧实现 Zero-Overhead,Sync-bench 读吞吐达 Mutex 的 10 倍 +。
Gitlet | 分布式版本控制系统 (UC Berkeley CS61B Project) 2023.12 – 2024.01
独立完成 · Java, SHA-1, DFS/BFS
• 独立实现 Git 核心功能:基于 SHA-1 的内容寻址存储 (CAS)、Commit DAG 管理。
• 实现了复杂的分支合并算法,通过图遍历寻找 最近公共祖先 (LCA) 并处理文件冲突。
SysY Compiler | 类 C 语言到 RISC-V 优化编译器 2025.07 – 2025.09
独立开发 · Java , Graph Coloring, RISC-V ABI
• 架构设计: 设计并实现从词法分析到汇编生成的全流程。构建基于 **SSA (静态单赋值形式)** 的中间表示 (IR),通过
支配节点树 (Dominator Tree) 计算支配边界以构建 Phi 节点。
• 中端优化: 在 IR 层实现 死代码消除 (DCE)、常量折叠/传播以及简单的 循环不变式外提,显著减少生成的指令数量。
• 后端代码生成:
– 实现基于图着色 (Graph Coloring) 的寄存器分配算法,解决寄存器溢出 (Spill) 问题。
– 严格遵循 RISC-V lp64gc 调用约定 (ABI) 管理栈帧与函数调用,生成的汇编代码可直接链接并在 QEMU 上运行。