Picture

Keval Vora

Assistant 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







   LinkedIn
   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 closely 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 (upcoming CMPT 984/459 in Spring-22) to get started.
RECENT PUBLICATIONS
(Click here for complete list of publications.)
  1. [OSDI'21] Dorylus: Affordable, Scalable, and Accurate GNN Training over Billion-Edge Graphs (18.8%)
  2. [ATC'21] Controlling Memory Footprint of Stateful Streaming Graph Processing (18.7%)
  3. [EuroSys'21] DZiG: Sparsity-Aware Incremental Processing of Streaming Graphs (19.8%)
  4. [EuroSys'20] Peregrine: A Pattern-Aware Graph Mining System (18.4%)
  5. [ATC'19] Lumos: Dependency-Driven Disk-based Graph Processing (19.9%)
  6. [EuroSys'19] GraphBolt: Dependency-Driven Synchronous Processing of Streaming Graphs (21.7%)
SOFTWARE
(Click here for PDCL on GitHub.)
Peregrine
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
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
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.