Zhanghan Wang
I am Zhanghan Wang, a PhD student at New York University now.
And I am widely interested in works about building high-performance and reliable systems.
More specifically, I am now working on safety of distributed system advised by
Prof. Aurojit Panda.
Research
Experience
Below are my research experience and coursework projects.
-
Incremental Specialization of Network Programs
HotNets 2024
Fabian Ruffy, Zhanghan Wang, Gianni Antichi, Aurojit Panda, and Anirudh Sivaraman
-
Checking correctness of distributed protocol implementation at runtime
Sept 2022 - Sept 2024
Advisor: Aurojit Panda (NYU) and Jinyang Li (NYU)
Distributed systems are notoriously difficult to implement correctly. By exploring interleavings of messages and maintaining a protocol simulator with potential states, we can check whether the implementation is consistent with the protocol specification. Our work avoids inter-server communication by only using the sent and received messages from/to every single server, and reduces exploration cost with some pruning optimizations.
-
Improve Load Balance for DLRM with Programmable Switch
Jan 2022 - Sept 2022
Advisor: Jialin Li (NUS) and Liang Luo (Meta, US)
Deep Learning Recommendation Model(DLRM) is a widely used recommendation model developed by Meta. DLRM uses embedding tables that encode sparse features like movie genres. However, there are a lot of such tables, and the number of embeddings and the embedding sizes vary a lot. Thus, they are usually partitioned into different machines. Nevertheless, the accessing pattern is skewed due to the popularity of data. Thus, we tried to use the programmable switch to improve the load balance by caching several embedding entries and routing the lookup requests based on caching status. The work hasn't been completely done and the problem might already be obsolete.
-
Database Deadlock Diagnosis for Large-scale ORM-based Web Application
July 2021 - Jan 2022
Advisor: Jinyang Li (NYU) and Zhaoguo Wang (SJTU)
Database-backed web application usually relies database to handle deadlocks. However, the common-used detect-and-recover strategy could be costly. Although developers can sometimes reorganize their application to removedeadlocks, the large number of LOC and third-party ORM frameworks they use make this much more difficult. In thisproject, we use symbolic execution to extract the APIs' statement templates with symbolic inputs and path conditions forthe issued statements. Based on the information, we then analyze and report the potential deadlocks.
-
RocksDB with Disaggregated Block Cache.
March 2022 - June 2022
Advisor: Cheng Li (USTC)
This is my undergraduate thesis. In this work, I explored using RDMA to disaggregate the block cache of RocksDB to improve the overal throughput of LSM-Tree-based KV store. This project help alleviate the memory burden of block cache in RocksDB and disaggregate more than 75% memory with only 15% performance drop.
-
SQL Query Plan Optimization
Oct 2020 - Dec 2020In this project, we develop a greedy algorithm to reorder left-deep-join tree in SQL query plan, and achieved better performance.
-
Graph DataBase File System
March 2019 - July 2019Zhanghan Wang, Chuqing Gao, Zhiyuan Huang, Xinmei Wang, Jiacheng Wan (in no particular order)
We utilize Neo4j(one of the best graph database) to build a FUSE-based file system with a fantastic web UI. The files are connected in the graph based on their contents. We used some machine learning techniques to extract keywords and description. Due to the limitation of early AI techniques, GDBFS can only process some simple files.
A Note in 2024: we noticed that, with the emerging LLM, there are some new works similar to our GDBFS design philosophy. This again proves that new techniques always enable some old ideas...
Education
Experience
Below are my Education Experience
New York University
2022.09 - PresentI am now an PhD student at NYU, researching on safety of distributed systems, advised by Prof. Aurojit Panda.
University of Science and Technology of China
2018.09 - 2022.06USTC is where I started my Computer Science Study Science in June 2022. And I met Prof. Cheng Li here, who offers me lots of help in digging into system works.
Shanghai Jiao Tong University
2021.07-2022.01I went to SJTU for research about concolic execution, advised by Prof. Zhaoguo Wang and Prof. Jinyang Li
Projects
for Fun
-
P4 language extension for VSCode
Started from May 2021
VSCode Extension for p4 language. This extension support simple but not complete syntax and semantic highlights. This project is mainly for learning p4lang specification and review visitor pattern. It is not maintained anymore.