Keval Vora

Associate Professor
School of Computing Science
Simon Fraser University
TASC 1 9419, 8888 University Drive
Burnaby, BC V5A 1S6, Canada
Email: keval@sfu.ca
Tel: (778) 782-5295

   PDCL GitHub
   Google Scholar       DBLP
I develop scalable solutions to build modern data analytics systems, with a focus on graph data processing & management. My work lies at the intersection of runtime systems (often touching various parts of the technology stack) and algorithmic semantics (to build smarter solutions). I specialize in developing efficient techniques with provable guarantees for large-scale graph systems.
I lead a team of incredible students at SFU. Peregrine (for pattern-based graph analytics) and GraphBolt / DZiG (for dynamic graph analytics) are some of the popular works we've recently produced. I am also part of the Systems group at SFU.
I completed my PhD with Rajiv Gupta from University of California, Riverside. I also worked with Harry Xu as a visiting researcher at University of California, Irvine. Before my PhD, I worked at Morgan Stanley, developing low-latency trading software.
Open Positions! There are multiple opportunities to become part of our research team. Contact me to get started.
Prospective Grads: Send a brief description about your work interests along with a copy of your CV.
SFU Undergrads: Send a copy of your CV. You can also take my courses to get started.
(Click here for complete list of publications.)
  1. [EuroSys '24] Contigra: Graph Mining with Containment Constraints (14.7%)
  2. [PPoPP '24] OsirisBFT: Say No to Task Replication for Scalable Byzantine Fault Tolerant Analytics (21.2%)
  3. [EuroSys '23] Accelerating Graph Mining Systems with Subgraph Morphing (16.2%)
  4. [OSDI '21] Dorylus: Affordable, Scalable, and Accurate GNN Training over Billion-Edge Graphs (18.8%)
  5. [ATC '21] Controlling Memory Footprint of Stateful Streaming Graph Processing (18.7%)
  6. [EuroSys '21] DZiG: Sparsity-Aware Incremental Processing of Streaming Graphs (19.8%)
  7. [EuroSys '20] Peregrine: A Pattern-Aware Graph Mining System (18.4%)
  8. [ATC '19] Lumos: Dependency-Driven Disk-based Graph Processing (19.9%)
  9. [EuroSys '19] GraphBolt: Dependency-Driven Synchronous Processing of Streaming Graphs (21.7%)
(Click here for PDCL on GitHub.)
Peregrine is a programmable system for performing data mining tasks on large graphs. Example use-cases include: Frequent Subgraph Mining, Motif/Graphlet Distribution, Pattern Matching. The backend is powered by an efficient subgraph isomorphism engine and pattern-aware techniques.
GraphBolt is a programmable system for performing graph-based analytics on dynamic graphs. Example use-cases include: PageRank, Shortest Paths, Collaborative Filtering. The backend is powered by an efficient dependency-driven incremental processing engine.
Lumos is a programmable disk-based system for scaling graph-based analytics on a single machine. Example use-cases include: PageRank, Shortest Paths, Collaborative Filtering. The backend is powered by an efficient dependency-driven cross-iteration value propagation engine.