Teng Jiang's Projects
Selected homework problems for Advanced Programming and Data Science offered at Peking University in Spring 2022 designed by me.
Apache Arrow DataFusion SQL Query Engine
A CDC8600 computer (4 CPUs, shared memory, SIMD) from scratch, to simulate and evaluate architectural design choices (pipelining, cache design, branch predictor, OoO execution, register renaming...). Simulate on 3 levels: 1. An execution-driven functional (ISA) simulator 2. An execution-driven timing model. 3. A trace-driven pipeline simulator.
Checkpoint/Restore tool
The docker source and materials for CS:APP labs
Revamping Gauss-Seidel for CUDA: A parallelized 3-D Poisson Equation Solver
eBPF Tutorial for class EECS6891 (eBPF Seminar) - Columbia University Spring 2024
A distributed deep learning framework that supports flexible parallelization strategies.
Experimenting with GhOSt for my scheduling project.
User-Space delegation of Linux scheduling policies.
Wordguess: a scaffolded (!) ESaaS getting-started assignment using Sinatra
:mortar_board::whale: Lab Assignments and Developing Environments of the Introduction to Computer Systems, 15-213 CMU
Simple program using eBPF to trace IO latency.
Load generation.
A simple and elegant Jekyll theme for an academic personal homepage
AllReduce is an operation that reduces the target arrays in all processes to a single array and returns the resultant array to all processes. In this project, I implemented SUM AllReduce (Commonly used in DL to compute the mean of gradients) in four ways: Brute Force, Butterfly, Tree and Ring AllReduce. These algorithms were proposed to accommodate complex cross-node network environment such as bandwidth limits.
Reinforcement Learning in Options Hedging: A Deep-Deterministic-Policy-Gradient-based Dynamic Hedging Strategy
Professional Hugo theme for dev bloggers. Based on Mdo's classic Hyde theme.
Project Proposals for Spring 2023
A place to search, share, and play around with regular expressions.
sched_ext schedulers and tools
Multicore in-memory storage engine
Using spaCy & SpanBERT for relation extraction from web documents.
SparseP is the first open-source Sparse Matrix Vector Multiplication (SpMV) software package for real-world Processing-In-Memory (PIM) architectures. SparseP is developed to evaluate and characterize the first publicly-available real-world PIM architecture, the UPMEM PIM architecture. Described by C. Giannoula et al. [https://arxiv.org/abs/2201.050
This is the stress-ng upstream project git repository. stress-ng will stress test a computer system in various selectable ways. It was designed to exercise various physical subsystems of a computer as well as the various operating system kernel interfaces.