About Me

I am a current Master of Science in Computer Science student on the thesis track at Columbia University.

I am generally interested in computer systems. I aspire to become a well-seasoned system programmer, hacker, and researcher.

I mostly go by Teng, sometimes by Sebastian, a name not of my heritage but somehow I feel connected to (See Why Sebastian?).

Education

  • Columbia University: MS in Computer Science, 2024~Now
  • Columbia University: MS in Financial Engineering, 2022~2023
  • Peking University: BS in Electrical Engineering, 2018~2022
  • Peking University: BA in Economics, 2019~2022

Research Interests

My research interests revolve around modern operating systems. Currently, I’m looking into how advancements across the software and hardware stack can enhance the performance, reliability, and environmental sustainability of established technologies such as virtualization and networking.

Ongoing Projects:

  • Scheduling and resource provisioning for virtual CPUs (vCPUs) at a microsecond time scale.
  • User-handled page faulting in multiple scenarios, such as virtual machine migration and embedded databases.

Keywords: Operating Systems, Virtualization, eBPF, Scheduling, FPGA, Programmable Networks, smartNICs

Selected Projects

FPGA-based Network Switch

dafpgaswitch Ongoing project, source code available upon request. A customizable FPGA-based network switch that comes with the following components: A MAC-to-port lookup table unit, per-ingress-port virtual output queues (VOQs), a queue management unit that manages the mapping between packets stored in memory and the VOQ, a scheduling unit that controls the dequeuing decision (which packets get sent to the switching fabric), and a crossbar switching fabric. Different patterns of packet traffic are generated with software to test the performance of different scheduling algorithms.

Cesame: A C-like programming language with First-class Functions and More

Cesame Ongoing project, source code available upon request. Cesame is a C-like programming language that features native support for first-class functions. Cesame also supports non-primitive types such as String, Array, Struct, Socket, and File. Cesame abstracts away pointers and stores most data on the heap, except for primitives and references to objects, similar to Java.

(MyDB) x (MyMake with cache) in C++

Source Code available upon request. A simplistic database that stores structs in binary form, which can be written to/read from with Writer/Reader, along with a customized mymake program that mimics and extends GNU make’s functionality by adding a cache layer. Parsing MyMakefile and storing target-rule pairs in .mymake.cache file (with MyDB mentioned above) to avoid RegEx processing, variable mapping, and implicit rules generating overheads.

Parallel Computing

Accelerating Poisson Equation Solving with CUDA

CUDA Github repo here. In this project, my goal was to enhance the efficiency of solving the Poisson system of equations on a 3D rectangular grid by parallelizing and offloading calculations to the GPU using CUDA. Specifically, I:

  • Optimized binary tree parallel reduction in CUDA up to a warp level. Utilized techniques such as sequential addressing, first add during load, and warp unrolling.
  • Numerically computed Poisson equation with Jacobi method, Red & Black Gauss-Seidel method, and Block-wise Gauss-Seidel method on GPU. Tuned hyper-parameters with grid search and optimized memory access with 3-D texture memory. Enhanced the time/bandwidth efficiency by 26 times.

AllReduce with MPI

MPI Github repo here. The AllReduce operation reduces the target arrays across all processes to a single array and distributes the resultant array back to all processes.

In this project, I implemented the SUM All Reduce operation, commonly used in Deep Learning to compute the mean of gradients, using four different algorithms: Brute Force, Butterfly, Tree, and Ring AllReduce. These algorithms were designed to address challenges in complex cross-node network environments, such as bandwidth limitations.

Time Series Research

Time Series

During my undergraduate studies, I developed an interest in time series and conducted research on using time series to capture the dynamic landscape of China’s burgeoning financial market. Here are the topics I explored during my research.

Price Discovery and Synergistic Effect: An Observation of the Commodity Futures Market

An Observation of the Chinese Soybean-related Commodity Futures Market from a Time Series Perspective. We found these two key phenomena in the commodity futures market with impulse response analysis, SVECM model, and causality test.

  • Price discovery: Co-integration of spot and futures prices.
  • Synergistic Effect: the synergistic relationship between related agricultural products.

Monetary Policy Shocks with SVAR and DSGE: A Comparison between China and the US

Using the SVAR and DSGE models, we obtain that, compared to the US, high interest rates in China create a positive short-term shock to GDP and a negative long-term shock. The decline in inflation when interest rates become higher is evidence that monetary policy is effective in curbing inflation overall.

From the impulse response, we can see the problem of stagflation in high-growth countries (the US), which illustrates the failure of traditional monetary policy in highly developed economies. In China, on the other hand, monetary policy based on interest rate adjustments is still effective.

RegexHub

RegexHub Github repo here. A platform to find, share and test regular expressions (with convention in Ruby) in one place. Written in Ruby, powered by Ruby on Rails and deployed to Heroku.

Professional Experience

Amazon

I worked as a software development intern at Amazon Fulfillment Technology during the summer of 2023. During my internship, I migrated the existing storage bin validation service from internal frameworks to Native AWS.

Tesla

My work at Tesla’s Roadside Service team during summer 2022 could be divided into two parts:

  • Log data analysis, visualization, error forecast and prevention with Splunk.
  • Microservice decoupling with RabbitMQ.

Teaching Experience

I have TAed for the following courses:

  • Head TA for CS4111 Introduction to Databases Systems: Offered by Professor Luis Gravano at Columbia University during Fall 2024.
  • CS6113 Advanced Database System: Offered by Professor Luis Gravano at Columbia University during Spring 2023.
  • Advanced Python Programming and Data Science: Offered by Professor Junfeng Hu at Peking University during Spring 2022. Selected homework designed by me here.

Personal

Here are some facts about me that you may find interesting:

  • I used to aim for a career as a quantitative developer but I took a sharp turn into Computer Science (See Detour to Quant), and I’m convinced that I’ve made the right decision.
  • I am an influencer/blogger with over 10k fans on a Chinese social media platform called Xiaohongshu(小红书).
  • Beyoncé is my muse. Her music changed my life.
  • I am a Broadway musical fan. My all-time-favorites are Chicago and The Book of Mormon.
  • I love Latin Dance. Me jiving with my dancing partner: jiving