Processing-in-Memory: Theory and Practice
Content
Speaker
Abstract
Data movement is fast becoming the dominant cost in computing. Processing-in-Memory (a.k.a., near-data-processing), an idea dating back to 1970, is now emerging as a key technique for reducing costly data movement, by enabling computation to be executed on compute resources embedded in memory modules. While there has been considerable recent work on the architecture/technology side of PIM, there has been very little work addressing the theory/programming side. Open problems include: How should programming and algorithm design on PIM systems differ from traditional parallel or distributed settings? What are the fundamental limitations and trade-offs in using PIM?
This talk highlights our results-to-date addressing these questions. As a driving application kernel, we focus on designing PIM-friendly indexes, i.e., what are PIM-optimized replacements for B-trees, radix trees, and kd-trees? Our indexes address head-on the inherent tension between minimizing communication and achieving load balance in PIM systems, achieving provable guarantees regardless of query or data skew. Experimental results on UPMEM’s 2,560 module PIM system demonstrate that our indexes outperform prior PIM indexes by up to 59x. Finally, we report on our ongoing work designing and implementing a PIM-friendly OLTP database.
Bio
Phillip Gibbons is a Professor in the Computer Science Department and in the Electrical & Computer Engineering Department at Carnegie Mellon University (CMU). He received his Ph.D. in Computer Science from the University of California at Berkeley. Prior to joining CMU, Gibbons was a researcher at Bell Laboratories and Intel Research Pittsburgh, and co-director of the Intel Science and Technology Center for Cloud Computing. His research areas include parallel computing, distributed systems, databases, computer architecture and machine learning. Recent projects range from the theory and practice of processing-in-memory (e.g., best paper runner-up at VLDB’23) to computer architecture support for robotics (e.g., best paper at Sigmetrics’24). His 200+ publications span theory and systems, and have been cited 38,000 times with an h-index of 88. Gibbons won the ACM Paris Kanellakis Theory and Practice Award for pioneering the foundations of streaming data analytics (2019). He was founding Editor-in-Chief for the ACM Transactions on Parallel Computing, Associate Editor for the Journal of the ACM and other journals, and program/area/general chair for over a dozen conferences. Gibbons is both an ACM and IEEE Fellow.