Alex Chi

Code for fun, Make things happen

Curriculum Vitae

A more concise pdf version can be viewed here.

Education

Shanghai Jiao Tong University

B. Eng in Computer Science and Engineering
September 2018 — June 2022 (Expected)
Shanghai, China

  • GPA 93.97/100 (or 4.07/4.3), Rank 1/154, National Scholarship 2019 (Top 0.2% national-wide)
  • A+ Courses: Operating Systems, Computer Architecture, Computer Networks, and 28 others
(Click to Expand)
  • Full-score (100/100) courses
    • CS154: C++ Programming Language (Fall 2018)
    • CS149: Data Structure (Spring 2019)
    • MS125: Principle and Practice of Computer Algorithms (Summer 2019)
    • CS241: Principles and Practice of Problem Solving (Fall 2019) [final project + presentation]
    • CS307: Operating System (Spring 2020)
    • CS356: Operating System Projects (Spring 2020) [final project + presentation]
    • CS145: Computer Architecture Experiments (Spring 2020) [final project + report]
    • … and 2 more
  • Other A+ courses
    • (95/100) CS359: Computer Architecture (Spring 2020)
    • (96/100) EI209: Computer Organization (Spring 2020)
    • (96/100) CS339: Computer Networks (Fall 2020)
    • (95/100) CS236: Cloud Computing (Fall 2020)
    • (99/100) CS410: Artificial Intelligence (Fall 2020)
    • (99/100) CS467: Theory of Computation (Fall 2020)
    • … and 16 more

No.2 High School Attached to East China Normal University

High School
September 2015 — June 2018
Shanghai, China

Work Experience

Singularity Data, Inc.

Database System R&D Intern
September 2021 — Now
Shanghai, China

  • Mainly work on design and implementation of the streaming engine from scratch in Singularity’s database product, which is aimed to provide real-time materialized view in the database system.

TerarkDB Team @ Bytedance, Ltd.

Storage System R&D Intern
June 2021 — August 2021
Beijing, China

I worked on TerarkDB for Zoned Namespace SSDs, contributed to ZenFS, and co-designed an unnamed file system for the next-generation key-value storage engine.

  • Implemented Zone-Aware Garbage Collection in TerarkDB for Zoned Namespace SSDs, which reduces 3-4x of space amplification caused by interleaving write lifetime.
  • Added observability facilities to ZenFS (by Western Digital) to analyze bottlenecks and implemented a WAL-Aware Zone Allocator, which reduces tail latency from 1000 to 10 msec.

TiKV Storage Team @ PingCAP, Inc.

Storage System R&D Intern
August 2020 — January 2021
Shanghai, China

I built a key-value storage engine AgateDB.

  • Built LSM-based storage engine AgateDB from ground-up. Inspired by WiscKey paper, AgateDB separates large values from the LSM tree into a value log. This design leads to a 10x write speedup on large values in some cases, compared with the current storage engine used by TiKV.

Open-Source Contributions

TiKV Community

May 2020 — Now

TiKV is a distributed key-value storage engine behind the MySQL-compatible HTAP database TiDB. I worked on several components of TiKV.

  • TiKV Maintainer, Co-leader of Coprocessor SIG
    • Migrate the TiKV Coprocessor framework to use TiDB Chunk format (similar to Apache Arrow) during the computation process, as a mentee in Community Bridge mentorship. This is so-called Full Chunk-based Computing project. (May 2020 — July 2020)
      [RFC] [Tracking Issue] [Blog Post] [Presentation]
    • Review patches and help grow the community.
  • Mentor of TiKV LFX Mentorship
  • Develop AgateDB after my internship in PingCAP.

Shanghai Jiao Tong University Linux User Group

May 2019 — Now

SJTUG, or Shanghai Jiao Tong University Linux User Group, is an open-source community as well as a Linux user group in SJTU. I maintains the SJTUG mirror service and the SJTUThesis LaTeX template.

  • Maintainer of SJTUG mirror service (May 2019 — Now)
  • Maintainer of SJTU TeX Templates (May 2021 — Now)
    • Maintainer of SJTUThesis, the de-facto LaTeX thesis template used by SJTU students.
    • Incubate SJTUBeamer template.

Other Experience

TA in PPCA Ray-Tracing Project

July 2020 — August 2020

Principle and Practice of Computer Algorithms (PPCA) is a project-oriented course for first-year undergraduates, where they use what they have learned to build a toy application in one month. I designed a lab based on Ray Tracing In One Weekend and mentored 13 students to make a ray-tracer with the Rust programming language.

You may take a look at Student Project Showcase and Project Template and Tutorials.

Talks

Projects

See Build things for fun, for all.

Skills

Programming Languages

Rust (proficient), C++ (novice), Golang (able to read), Python and Node.js

Tech Skills

  • Local Storage Systems (RocksDB, TitanDB, TerarkDB, BadgerDB)
  • Linux I/O and File Systems (io_uring, ZenFS, Ext4, XFS)
  • Database Systems (TiDB)
  • Stream-Processing Systems (Flink)

Honors and Awards

National Scholarship (Ministry of Education of P.R. China), 2019

Fun fact: I was also qualified for National Scholarship in 2020, but I gave that chance to my classmates. It’s boring to get the same award every year.

Updated at Sep 30, 2021