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.

GitHub     hankzhwang AT gmail.com    

Research
Experience

Below are my research experience and coursework projects.

  • Checking correctness of distributed protocol implementation at runtime

    Sept 2023 - Present
    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 2023 - Sept 2023
    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. Due to some time arrangements, this work hasn't been completely done.

  • 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 2020

    In 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 2019

    We utilize Neo4j(one of the best graph database) to build a FUSE-based file system with a fantastic web UI.

Education
Experience

Below are my Education Experience

Projects
for Fun

Below are my research experience and coursework projects.

  • 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.

Miscellaneous

A link to my GF Shirley Wu.