孙 辉
- 邮箱:polar9527@gmail.com
- GitHub:
- 个人账户 https://github.com/polar9527
- Intel账户 https://github.com/hui2980
- 个人主页:https://polar9527.github.io
技能
- 熟悉 Golang, 理解 Golang 编程特性,如 goroutine, channel 等,阅读过 Golang runtime 部分的源代码,理解 Golang 的并发机制
- 熟悉 Docker、Kubernetes,理解 Docker 的基本原理,有 Kubernetes 的使用经验
- 使用过的其他编程语言: Python; Javascript; C/C++
- 熟悉 Linux、AWS 等开发环境
- 能够突破高级编程语言层面的限制,了解 x86 平台下的汇编,了解 Unix/Linux 环境下下的 C 语言系统编程
- 对操作系统原理有一定认识,目前正在研读xv6源代码
- 有 Web 前后端完整的知识体系,了解 HTML/CSS/Javascript 等前端知识,有 Vue 的使用经验
- 熟练使用 Git 进行版本控制
- 熟悉基本的数据结构和算法
- 英语水平 CET-6,熟练使用 Google/StackOverflow/Wikipedia, 能够从源头搜集研读英文技术资料,并输出英文技术文档
项目经验
OpenNESS(Open Network Edge Service Software)
2020 年 7 月 - 今
OpenNESS是一个基于Kubernetes的开源边缘应用程序管理系统,使服务提供商和企业能够在任何网络的边缘上构建、部署和操作自己的边缘应用程序,支持通过简易的方式将运行在 Telco/Public Cloud 中的APP迁移到边缘。
2020 年 7 月 - 2020 年 8 月
OpenNESS 部分核心微服务组件的单元测试的开发,将代码单元测试覆盖度提高到100%,开发语言为Golang。
- 在开发过程中测试并发现项目成员通过go.mod引入的bug。
- 引入monkey patch 工具,将常规流程下测试框架无法测试覆盖的代码分支覆盖。
2020 年 9 月 - 2020 年 11 月
OpenNESS 应用落地预研,主要是 Hyperledger 开源项目下 Avalon1 和 Fabric2 这两个子项目的 Ramp-Up,以及支撑 Avalon 在 OpenNESS 中落地的 开源第三方 Intel K8s Device Plugin3 和 K8s Add-on NFD(Node Feature Discovery)4 的调研。
这个应用落地的大体构想是,区块链的方案采用Fabric, 用 Avalon 对接 Fabric 处理链下数据,同时在 Avalon 端采用 TEE 模式提供可信计算,TEE 具体采用 Intel SGX(Software Guard Extensions)指令集扩展以及相关支撑软件,包括SGX PSW(Platform Software)、Intel K8s SGX Device Plugin 以及 NFD 和 定制的 NFD SGX 扩展插件, 而又因为Fabric 以及 Avalon 都是分布式计算平台,通过两者结合并利用OpenNESS做边缘部署以及管理,从而展现 OpenNESS 在区块链和可信计算场景下的能力。
在预研过程中:
- 研读 Fabric 和 Avalon 项目官方文档,了解 Fabric 和 Avalon 整体架构,根据业务逻辑流程走读了 Avalon 的代码,了解待计算数据上链并通过 Avalon 做链下计算的流程。
- 部署 Fabric 测试集群,部署 Avalon, 基于Intel SGX 硬件平台,搭建了一套完整的软硬件验证环境,测试验证了整个可信计算的流程。
- 研读 Intel SGX 官方文档,了解 SGX 概念,为正确使用 Intel K8s Device Plugin 以及 NFD 做知识储备。
- 研读 Intel K8s Device Plugin 的SGX相关部分源代码,以及 NFD 的源代码,搭建测试环境,部署评估如何使用两者在 OpenNESS 上使能 SGX。
- 输出了 Avalon Ramp-up 和 SGX NFD 两份技术slide,以及若干技术说明文档。
2020 年 11 月 - 2021 年 04 月
参与 EMCO(Edge Multi-Cluster OrChestrator)与 OpenNESS 的集成开发,保证任务在关键时间节点正常交付。EMCO 是一个提供多集群云原生应用部署功能的软件框架,集成到OpenNESS中是为了增强其边缘部署能力。
工作内容:
- 迅速完成 EMCO 的 Ramp-Up, 接手已有的工作,理清开发任务,与EMCO项目国外的开发人员协作,完成 OpenNESS 自动化集成工具的 ansible 脚本开发。
- 协调EMCO集成工作中涉及的其他模块(Harbor 和 Smart City)集成开发人员的工作,确保任务顺利推进。
- 完成相关自动化脚本以及输出内部测试文档,并协助测试人员工作。
- 解决测试人员和组外人员使用集成工具时上报的Bug。
2021 年 05 月 - 今
参与 PWEK(Private Wireless Experience Kit)All in One 的集成开发,PWEK All in One 是 SE(Smart Edge Open) 平台的一个子项目。SE 底层基于K8s以及Intel相关的硬件,利用ansible实现自动化部署边缘服务器端计算环境,PWEK All in One 在 SE 的基础上,向边缘服务器端部署5G核心网数据平面和控制平面的。
工作内容:
- 负责 PWEK 在 SE 上的 整体的 ansible playbook 设计以及 ansible 脚本开发
- 负责 PWEK All in One 开发测试过程中, ansible 脚本的调试,以及在部署过程中涉及到的K8s, Docker故障的定位和修复,对涉及故障的相关开发人员提交的修复代码做code review。
XTAR
2019 年 7 月 - 2019 年 12 月
基于区块链的去中心化的交易系统
项目简介
XTAR 是以 VRF(可验证随机函数算法)和 PBFT(实用拜占庭容错算法)为基础来实现 DPOS(Delegated Proof of Stake,委任权益证明)机制的去中心化价值交易平台。独有的两阶段共识算法,提高了整个系统的区块出块速度,并通过 native 系统合约实现了链上治理,保证了共识的民主公平。
主要职责
- XTAR 系统对等网络层(P2P 网络层)的功能重构和性能优化
- XTAR 底层代码的交叉 review
- XTAR 系统 Bug 排查修复
- XTAR 系统生态圈内后端服务的开发
- 基于 XTAR 系统 SDK 的系统流程测试开发
技术细节
- 开发语言为
Golang
- 网络层第三方库为
libp2p
- 将 XTAR 系统生态圈内后端服务的开发系统 P2P 网络层由结构化 P2P 网络(采用 Kademlia 算法实现)修改为无结构化 P2P 网络以提高网络中节点查找性能
- 在 XTAR 系统 P2P 层进行节点网络质量管理,利用 EWMA(指数加权移动平均法)记录的 Peer 节点的 RTT(Round-Trip Time,往返时延)的统计值,对当前节点的 Peer 做排名
- 在 XTAR 系统 P2P 层实现消息限流功能,预防消息过载导致的节点崩溃
- 在 XTAR 系统 P2P 层实现协程池,以降低 GC 压力提升系统性能
- 搭建 XTAR 系统 docker 集群的开发调试的环境
- XTAR 系统 native 系统合约测试流程开发
- XTAR 系统在线 IDE(集成开发环境)后端部分的开发
Linkeychain 公链系统
2018 年 6 月 - 2019 年 2 月
基于DPOS
的区块链公链
项目简介
Linkeychain 是第二代区块链系统,支持智能合约,授权股权证明机制 DPOS
,为公司的区块链商业应用提供底层技术支撑。
主要职责
- 搭建基于区块链的底层服务
- 负责公链系统的
p2p
网络层的搭建和维护
技术细节
- 开发语言为
Golang
- 参考开源项目星云链
- 基于第三方
p2p
网络库libp2p
做的开发,该第三方的库提供了开发p2p
网络服务所需的数据结构和函数
ConSpace 对象存储系统
2017 年 5 月 - 2017 年 10 月
基于Ceph
的对象存储系统
项目简介
ConSpace 一个基于Ceph
的网盘系统
主要职责
- 开发环境中
Ceph
集群的搭建部署 - 开发环境中
Ceph
对象存储系统的搭建部署 - 基于
Ceph
对象存储提供的Amazon S3
兼容的 RESTful 接口开发Django
后端逻辑
技术细节
- 采用了 Python 第三方库
boto3
和requests
,在Ceph
对象存储系统提供的与 Amazon S3 兼容的 RESTful 接口上,完成了 Http 协议层的 AWSv4 签名认证,以及与对象存储相关的文件操作功能和对象存储层用户信息的管理 - 用
Django
管理 ConSpace 对象存储系统业务层数据 - 前后端分离,
Django
逻辑层采用Django REST framework
为前端提供json
格式数据
工作经历
瞬联软件科技(北京)有限公司上海分公司
-
2020 年 7 月 - 今
-
系统集成软件工程师
- 边缘计算云平台软件集成开发
- 边缘计算云平台应用落地预研
上海启日信息技术有限公司
-
2019 年 7 月 - 2019 年 12 月
-
Golang 开发工程师
- 区块链底层功能开发
- 服务器后端开发
链极智能科技(上海)有限公司
-
2018 年 6 月 - 2019 年 3 月
-
软件开发工程师
- 研究区块链协议及运行机制
- 参与底层实现,并编写网络应用层代码
内蒙古君正互联网小额贷款有限公司
-
2017 年 11 月 - 2018 年 5 月
-
Python 开发工程师
- 使用 shell,python 编写公司内部工具,并进行维护
- 在 AWS 云平台上管理服务器和应用,编写运维相关的文档、手册、流程,制定安全、备份、统计策略
上海容数信息科技有限公司
-
2017 年 5 月 - 2017 年 10 月
-
Python 后端开发工程师
- 学习研究 Ceph(一种开源分布式文件系统)
- 通过 Ceph 的对象存储接口,基于 Django 开发文档内容管理系统
自雇
- 2013 年 9 月 - 2017 年 4 月 打理自家的商业业务
中航华东光电(上海)有限公司
-
2012 年 3 月 - 2013 年 9 月
-
FPGA 工程师
- 参与项目前期技术调研,负责硬件系统中 FPGA 部分通信接口协议的编码、测试工作
- 设计了基于 FPGA 的某型设备外部驱动电路模块,实现了 UART 通信协议到 I2C 通信协议解析转换功能,使硬件系统能够通过该模块和 I2C 总线接口器件进行数据通讯。
教育经历
- 华中科技大学,软件工程(硕士) 2012 年毕业
- 武汉理工大学,电子信息工程(本科) 2008 年毕业
注释
-
Avalon (Python/C++) 则是一个可信计算(TCF, Trusted Compute Service)框架,旨在为区块链提供链下可信计算,在取保交易的安全性和弹性的同时,解决可扩展性和隐私性等痛点。 支持授信执行环境(TEE,Trusted Execution Environment)、零知识证明(ZKP, Zero Knowledge Proofs)和多方计算(MPC, Multi-Party Compute)。 ↩︎
-
Fabric (Golang) 是一个区块链领域里带有准入机制的企业级联盟链项目, 其核心共识组件已经由 Kafka消息队列集群 升级到 CFT(Crash Fault Tolerance) 的 Raft 集群,未来将继续进化到 PBFT(Practical Byzantine Fault Tolerance)集群 以便增强其区块链的去中心化属性。 ↩︎
-
Intel K8s Device Plugin 主要是以定制 K8s 系统Pod controller 的形式,给 K8s 集群增加 发现 worker node 硬件feature 的能力,有一定的运维自动化特点。 ↩︎
-
NFD 则是通过常规的部署 K8s 应用Pod 的形式,给 K8s 集群 提供发现 worker node 硬件feature 的能力,但是提供扩展接口,能够灵活定制 发现 worker node 硬件feature 的时采用的策略。 ↩︎