Alex Chi

Code for fun, Make things happen

Curriculum Vitae

Education

Shanghai Jiao Tong University

Bachelor of Engineering, Computer Science
September 2018 — June 2022 (Expected)
Shanghai, China

First 3 years GPA: 93.97 / 100 (Rank: 1 / 154)
(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

Experience

TerarkDB Team @ Bytedance

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. Key-value separation in TerarkDB would lead to a high garbage rate in ZenFS. The new GC scheme in TerarkDB will reduce 3~4x of space amplification, while write amplification remains nearly the same as before.
  • Worked on ZenFS by Western Digital. I added observability facilities to ZenFS to trace time-consuming operations in the critical path, analyzed bottlenecks of current implementation, and worked on a new WAL-aware zone allocator, which reduces tail latency from several seconds to several milliseconds.
  • Co-designed an unnamed file system for the next-generation key-value storage engine. I proposed several core techniques based on my prior experience with ZenFS.

TiKV Storage Team @ PingCAP

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

I built a key-value storage engine AgateDB.

  • 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)
    • 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 LaTeX thesis template for all 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

  • Paper Reading on “Lethe: A Tunable Delete-Aware LSM Engine” (October 2020)
  • Paper Reading on “FPTree: A Hybrid SCM-DRAM Persistent and Concurrent B-Tree for Storage Class Memory” (May 2021)
  • Sharing of “The SJTUG Mirror Service” (July 2021, at Tunight)

Projects

See Build things for fun, for all.

Skills

  • Fan of Rust programming language.
  • Know a little about LSM-based key-value storage engines.

Honors and Awards

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

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 Aug 25, 2021