C/C++开发经验,熟练使用 STL,熟悉常用的算法与数据结构。熟悉 gcc/llvm 工具链,了解编译、
链接原理。熟练使用 gdb,具备各类软件故障 trouble shooting 经验。
熟悉 Linux 开发环境,熟练编写 bash/shell 脚本,熟练使用常用运维命令,grep,awk,top,iostat等。熟悉rpm,deb等主流linux发行版
包管理工具。了解软件安全底层原理、系统网络安全加固方法。
熟练使用场景C++开发RPC框架,如grpc,thrift。web后端开发能力,spring mvc开发实践经验,能够快速完成web后端开发。
掌握 CPU(X86 与 ARM)微架构性能调优相关知识。了解 CPU 前后端、流水线、乱序执行、topdown
分析等性能调优原理与概念。熟练使用 perf 等性能调优工具。
蚂蚁金服 内存向量化列存计算内核开发
项目简介:完成 In memory 列存计算 kernel 的设计与开发,完成字典编码、差分编码等存储格式
设计与实现。使用 AVX2/AVX512 等汇编指令,实现高效的过滤、查找等计算谓词。结合 CPU
体系结构调优代码,消除瓶颈、充分使用 CPU 硬件 pipeline,实现良好的多核扩展性。性能对比
旧模块,不同场景有 4-8 倍不等的提速。
相关技术:C/C++开发、SIMD 指令、列存、performance tuning
字节版本 jemalloc 基础库维护功能开发
项目简介:对上游 jemalloc 库进行性能优化,例如压缩内部数据结构 cache line size、内存管理算
法空间换时间、使用静态巨页取代 4KB 页等。在字节大部分的在线推荐与广告业务上(80%以
上),取得可观 cpu、服务延迟收益(10%-15%)。鲁棒性增强功能开发,例如业务代码 double free
定位功能,内存火焰图功能。
相关技术:C/C++开发、linux kernel、jemalloc
服务器、新硬件测评,性能监控工具开发
项目简介:参与字节服务器选型、新硬件性能测评。涉及 Intel、AMD 若干代产品,ARM 服务器
(鲲鹏、AWS 自研、Amp、Marvell),测试对比 SPEC CPU,Linpack 等基础 benchmark,并且依
据业务计算特点设计、编写不同的 micro benchmark 对比测试为选型提供依据。完成 AEP 持久化
内存评测,测试 AEP 内存带宽特性,分析不同 workload 下的 AEP 内存的读写时延,分析与 DRAM
相比对 benchmark 结果的影响。
相关技术:C/C++开发、linux 系统编程、服务器硬件与操作系统
内存使用性能刨析工具。 分析业务使用的内存评级,帮助业务进行性能调优。 图片1为最终生成的火焰图,展示了内存分配库内部的函数调用逻辑。 图片2为解析流程图。 图片3为jemalloc软件架构图。
项目简介:参与字节服务器选型、新硬件性能测评。涉及 Intel、AMD 若干代产品,ARM 服务器 (鲲鹏、AWS 自研、Amp、Marvell),测试对比 SPEC CPU,Linpack 等基础 benchmark,并且依 据业务计算特点设计、编写不同的 micro be