2016 Poster Sessions : Grazelle: Architecture-Optimized In-Memory Graph Processing

Student Name : Samuel Grossman
Advisor : Christos Kozyrakis
Research Areas: Computer Systems
Abstract:
Grazelle is an execution engine for in-memory graph processing on multi-socket, multi-core servers. It is designed from the ground-up to maximize the utility of important hardware features such as wide vector units, shared caches, software prefetching, and simultaneous multithreading. Grazelle's data structures are based on sequential arrays of aligned vector elements and have been optimized to eliminate read-write sharing. Its execution flow is based on a predictable static scheduling scheme that evenly splits work between threads and allows for software prefetching, thus avoiding the overheads of dynamic scheduling. We describe and evaluate, using both synthetic and real-world graphs, how Grazelle optimizes for modern hardware. We also compare Grazelle to state-of-the-art frameworks. Grazelle highlights the benefits of optimizing graph analytics for the underlying hardware architecture.

Bio:

Samuel Grossman holds a Master's of Applied Science in Computer Engineering from University of Waterloo, Ontario, Canada. He is currently working towards his PhD in Electrical Engineering at Stanford University under the supervision of Christos Kozyrakis. Both his Master's and PhD research is funded in part by Post-Graduate Scholarships from the Natural Sciences and Engineering Research Council of Canada.

Sam's research interests lie at the intersection of hardware and software, spanning the related areas of computer architecture, custom hardware design, and high-performance software engineering. His current work focuses on graph analytics and, in particular, its interaction with the underlying hardware on a commodity multi-socket x86-based server.