Files
resume-ng/main.tex
2026-04-11 02:49:58 +00:00

132 lines
7.2 KiB
TeX
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
% !TeX TS-program = xelatex
\documentclass{resume}
\ResumeName{个人简历}
\usepackage{graphicx}
\usepackage{tikz}
\setmainfont{Latin Modern Roman}
\begin{document}
\ResumeContacts{
姓名:连奕恒,%
学历:硕士,%
专业:软件工程,%
(+86)178-8812-0369,%
\ResumeUrl{mailto:lianyh0266@outlook.com}{lianyh0266@outlook.com},%
}
\begin{tikzpicture}[remember picture, overlay]
\node [anchor=north east, inner sep=1cm] at (current page.north east)
{\includegraphics[width=2cm]{image2.png}};
\end{tikzpicture}
\ResumeTitle
\section{教育经历}
\ResumeItem
[西安电子科技大学|硕士研究生]
{西安电子科技大学}
[\textnormal{软件工程,计算机科学与技术学院|} 专业学位研究生]
[2024.09—2027.06(预计)]
主要研究方向为密态数据库、加密数据查询与索引结构。2027 年应届生。
\ResumeItem
[兰州理工大学|本科生]
{兰州理工大学}
[\textnormal{软件工程,计算机学院|} 工学学士]
[2020.09—2024.06]
天梯赛一等奖,蓝桥杯省赛二等奖。
\section[技术能力]
{技术能力}
\begin{itemize}
\item 熟悉 C/C++ 开发熟悉面向对象的编程思想熟悉常用设计模式和STL
熟悉智能指针、Lambda 表达式、协程原理;
对原子变量、内存序与无锁数据结构设计有一定了解。
\item 熟悉 Linux 操作系统,对进程/线程模型、常用IPC以及内存管理有一定了解。
\item 掌握 Socket 网络编程,熟悉 TCP/IP 协议栈;熟悉 epoll/select 等 I/O 多路复用模型与异步 I/O 框架 io\_uring ;熟悉 Reactor / Proactor 架构。
\item 了解 SPDK 用户态存储框架,有 Blobstore 实际开发经验;了解 Linux VFS 层次结构与 POSIX 文件系统调用语义;具备 LD\_PRELOAD 拦截用户态 I/O 的经验对应NVMe协议有一定了解。
\item 具备 eBPF 程序开发经验,使用过 uprobe/kprobe/tracepoint 等探测点;探索过 eBPF 内核态网络转发方案。
\item 了解 Redis 基本原理;熟悉 MySQL了解索引、事务、锁机制、MVCC完成 15445 BusTub 数据库项目。
\item 熟悉 Linux 常用命令;了解 Makefile、Cmake熟悉 Git、GDB使用过 gprof、strace。
\end{itemize}
\section{项目经历}
\ResumeItem{ZVFS | 基于 SPDK 的透明 POSIX 文件系统 }
[独立开发 | \ResumeUrl{https://git.1ian.cn/lian/zvfs}{gitea}]
[2025.11 --- 2026.03]
\vspace{0.5em}
\noindent 透明用户态文件系统原型,面向 AI 检索场景(pgvector)对存储 I/O 的高吞吐需求,通过 LD\_PRELOAD 无侵入劫持 POSIX I/O将文件数据路径路由至 SPDK Blobstore在零业务代码改动下绕过内核 I/O 栈。透明接管 PostgreSQL及 pgvector 已完成功能验证。
\par
% \ResumeDesc{技术栈}{SPDK / NVMe / Blobstore / LD\_PRELOAD / xattr / Unix Domain Socket。}
\begin{itemize}
\item 围绕“零侵入接管应用 I/O”设计整体方案以 LD\_PRELOAD 劫持 POSIX I/O 接口,通过 Unix Domain Socket 将 LD\_PRELOAD 层拦截的 POSIX I/O 请求路由至 Daemon 进程,由 Daemon 统一接管 SPDK Blobstore 数据路径,完成数据库场景零侵入接入。
\item 为解决从零实现目录树工程复杂度高的问题,采用“控制面复用 Linux、数据面走 SPDK”的分层架构目录树、权限、inode 生命周期继续复用 Linux VFS仅通过 xattr 持久化文件到 Blob 的映射,避免自建元数据数据库,显著降低系统复杂度。
\item 针对 SPDK metadata 的单线程约束,设计「单 IPC 线程 + 单 metadata 线程 + 多 I/O poller」模型。
\item 为确保在多进程下正确模拟 fork/dup 等语义,设计在 Daemon 进程中模拟 Linux Open File Description 与 FdTable 模型的方案,并通过 IPC 同步引用计数与偏移语义。
\item 为解决每次 I/O 重新申请 DMA 内存导致延迟抖动,实现 DMA IO Pool 复用 DMA 内存区域,消除重复申请开销。
\item 解决FIO 中 WRITE 延迟明显高于预期问题,基于端到端 trace 对 WRITE 延迟做分层定位,识别并修复无条件 RMW、poller 调度抖动、线程未绑核等问题。
\item 性能测试:在 4K randwrite 场景下ZVFS 达到 3816.78 IOPS高于内核路径 2883.24 IOPS平均完成时延降至 259.53~\textmu sWRITE 请求端到端平均耗时约 256~\textmu s。
\end{itemize}
\vspace{1em}
\ResumeItem{LDB | 高性能 KV 存储系统 \& 本地语义问答引擎}
[独立开发 | \ResumeUrl{https://git.1ian.cn/lian/ldb}{gitea}]
[2025.02 --- 2025.07]
\vspace{0.5em}
\noindent 自研 KV 存储引擎,兼容 RESP 协议,支持 pipeline采用 Reactor/epoll + io\_uring 架构实现高性能网络与持久化路径。在此基础上构建本地语义问答系统,通过向量检索与三层路由降低 LLM 调用成本。
\par
% \ResumeDesc{技术栈}{Linux、Reactor、epoll、io\_uring、RESP2、eBPF、共享内存 IPC、gprof、ChainBuffer、SPSC。}
\begin{itemize}
\item 针对高频小对象分配导致的碎片与锁竞争问题,自研内存池统一管理分配路径;在小对象场景下吞吐较 glibc malloc 提升 7\%
\item 面向 AI问答系统 场景下长回复与大报文带来的缓冲区浪费,重构 ChainBuffer + ET 边缘触发 + readv 收发链路,支持大命令缓冲与跨分段 key 解析,降低网络层内存拷贝与拼装开销。
\item 为解决同步持久化阻塞主线程、落盘路径成为瓶颈的问题,设计 io\_uring + n$\times$SPSC 异步持久化模型,并结合 in-flight 背压防止 CQ overflow无 fsync 时 set QPS 仅下降 5.6\%,每秒 fsync 一次时下降 11.3\%,读路径几乎不受影响,整体方案相较同步持久化性能提升约 2 倍。
\item 为降低运行期内存泄漏排查成本,实现基于 eBPF 的热插拔泄漏探测组件;相比 valgrind 开销更低,且无需重启服务即可介入线上问题定位。
\item 围绕读写分离与副本同步需求,实现基于独立进程 + 共享内存 IPC 的主从同步链路将写命令转发至同步进程MPS 损失控制在 15\% 以内;同时设计基于 eBPF 内核态探测的实时转发方案,探测开销低于 3\%
\item 在落地本地搭建的 AI问答系统 的过程中,针对重复问题频繁触发 LLM 调用带来的高延迟与高成本,设计“精确匹配 $\rightarrow$ 向量检索 $\rightarrow$ LLM 兜底”的三层路由,显著减少模型调用次数与 tokens 消耗。
\item 压测场景下RBTree、256B value、pipeline=128set/get 吞吐达到同环境 Redis 的 72\% / 75\%,验证了自研存储内核在功能完整前提下具备较强性能竞争力。
\end{itemize}
\section{个人总结}
\begin{itemize}
\item 对基础组件开发具有浓厚兴趣,喜欢与系统底层机制打交道,关注系统性能优化与高并发处理能力。
\item 对关系型数据库原理较为熟悉,对常见非关系型数据库有一定了解。
\item 了解线程池、连接池、无锁队列、网络缓冲区、定时器等基础组件的设计。
\item 阅读过 DPDK 中 MPMC 无锁队列的实现源码,对高性能并发数据结构有一定理解。
\item 具备使用 Codex / AI 编程工具辅助开发的经验。
\end{itemize}
\end{document}