The Parallel & Distributed Computing Lab (PDCL) conducts research at the intersection of high performance computing and big data processing. Our group works in the broad area of Parallel & Distributed Computing with focus on issues related to Programmability, Performance, Scalability and Fault Tolerance. We build smart scalable systems to power efficient analytics over massive structured and unstructured data. 

Our work focuses on exposing algorithmic characteristics and exploiting them to develop system-level solutions for large-scale graph processing. We look at different ways to leverage the algorithmic semantics, and identify properties for high-level functional computations (vertex/edge functions, map, reduce, scatter, gather) that affect the runtime behavior and correctness under different processing contexts like streaming graph processing, asynchronous execution and incremental computation. 

We further develop system-aware parallel graph algorithms that enable runtime optimizations for faster and safer processing, hence bridging high-performance computing and big data analytics. Finally, we push the boundaries of asynchronous processing by leveraging it under the hood while guaranteeing strict synchronous processing semantics for easier programmability.

Our works get regularly published at premier venues in systems research such as EuroSys and ASPLOS. PDCL is generously supported by funds from industry partners and research council of Canada.

Visit Website.