cmu15618_kcore_project

A Systems Study on Parallel Batch-Dynamic k-Core Maintenance of Dynamic Graph with Asynchronous Reads

CMU 15-618 S26 Project Web page

Instructors: Prof. Todd C. Mowry, and Prof. Brian Railing

Students: Zhengfei Li (zhengfel) and Max Wang (junkaiw)

Summary

This project implements and analyzes a parallel system for maintaining an approximate k-core decomposition of a dynamic graph under batched edge updates. The project is based on recent work on parallel batch-dynamic k-core maintenance and asynchronous reads (Liu, Shun, & Zablotchi, 2024), but uses our own C++/std::thread implementation rather than the paper’s ParlayLib/GBBS codebase.

Our implementation includes a sequential LDS oracle, a conservative parallel update path, profiling-guided graph-update optimizations, and a conservative one-root CPLDS-inspired asynchronous read mechanism. We evaluate tradeoffs among safe synchronized reads, unsafe non-synchronized reads, and descriptor-based asynchronous reads, focusing on throughput, scalability, tail latency, and update-side bottlenecks.

Schedule and Progress

Week 1: Replication and Sequential Baseline

Week 2: Conservative Parallel Update Path

Week 3: Milestone, Correctness, and Initial Profiling

Week 4: Profiling-Guided Optimization and Async Reads

Week 5: Final Evaluation and Report

Proposals and Reports

References

Liu, Q. C., Shun, J., & Zablotchi, I. (2024). Parallel k-core decomposition with batched updates and asynchronous reads. arXiv. https://arxiv.org/abs/2401.08015