Hello! I am an Assistant Professor in the Computer Science and Engineering (CSE) Department at the University of California, Riverside (UCR). I received my Ph.D. degree from Carnegie Mellon University advised by Professor Guy Blelloch. Prior to that, I received my Bachelor’s degree in Computer Science from Tsinghua University. [CV]

My research interests include broad topics in the theory and practice of parallel computing, including algorithms, data structures, frameworks, implementations, programming tools and their applications. My work involves both designing algorithms with improved asymptotical theoretical bounds and developing efficient solutions to large-scale real-world problems.

I’m looking for self-motivated Ph.D. students. If you are interested, please contact me via email with your CV. If you are a UCR student who is interested in doing research/project with me, you need to take at least one of my graduate courses and get an A or A+.

This is the homepage of my lovely husband.

View my publication list:

Google Scholar DBLP By Year

Ph.D. Thesis:

Join-based Parallel Balanced Binary Trees. [Thesis]

Selected Research Topics:

A full list of my publications can be found here.

I have been working on parallel and concurrent tree structures, both in theory and in practice. In particular, I developed the join-based algorithms on trees, which base all other tree algorithms on a single function join. Other than join, all tree algorithms are generic across multiple balancing schemes. The tree structure is highly-parallelized, work-efficient, safe for concurrency, persistent (and functional), and also supports a full interface for commonly-used functions. This tree data structure is later referred to as P-trees (Parallel trees).

The tree structure is implemented in a library called PAM, which is applied to and tested in vairious applications. See my publication list with tags #join-based tree algorithms, #the PAM libaray, and #P-trees, or see all related publications here.

Download PAM Tutorial Video Tutorial Slides

Related Wikipedia Pages:

The join-based algorithms are also used in Hackage (the Haskell central package archive) Data.Set and Data.Map, and C-trees (a compressed purely-functional search tree structure) in Aspen (a graph-streaming framework).

I have been working on write-efficient algorithms, which means to optimize the overall (asymptotical) cost considering more expensive writes to the memory than reads. The research is motivated by the new Non-Volatile Memory (NVM) technology. See my publication list with tag #write-effienct algorithms, or see all related publications here.

I have been working on algorithms on computational geometry, most of them in parallel. Some of them are also write-efficient. The topics include range, segment, interval, rectangle queries in low dimensions, Delaunay triangulations, closest pair, smallest enclosing disk, etc. Many of them are based on efficient parallel tree structures, and the others use a parallel randomized incremental construction framework proposed by us. See my publication list with tag #geometry algorithms, or see all related publications here.

I have been working on many graph algorithms in both sequential and parallel setting. These include single-source shortest path (SSSP), graph metric embedding, strongly-connected component (SCC), and applications in data mining and compuational biology. See my publication list with tag #graph algorithms, or see all related publications here.

I have also been working on parallel algorithms under the randomized incremental construction (RIC) framework. We show that many incremental algorithms are highly parallel, with shallow dependence depth. See my publication list with tag #randomized incremental algorithms, or see all related publications here.

Other Topics

I have also been working on other interested research topics, including parallel sorting and semisorting, data mining on social networks, and computational biology.