I teach because I love to learn and love to be around learners. Early in my career, I volunteered to teach high school students basic computer science concepts through an outreach program hosted by AT&T Bell Labs. Over the eight years that I gave my time and energy to this program, I found that teaching deepened my personal understanding of the field and also opened up new worlds to my students. Having a background in both industry and academia gives me a unique perspective on the field of computer science -- one which I try to bring into every class that I teach at Rhodes.
My research focuses on programming models, languages, and runtime systems that make it easier to develop high-performance parallel programs. My work to date has led to new approaches and systems to support parallel applications that use globally shared data structures, such as trees and graphs, on parallel systems without physically shared memory.
Most recently, I have been researching novel techniques for implementing parallel data structures such as a distributed key/value store. This library provides a single, global view of the distributed data, while offloading much of the runtime work onto the network interface hardware. My goal is to make it easy to write software for use on large-scale parallel systems without sacrificing performance.
Outside The Classroom
I joined Rhodes in the fall of 2015. Prior to coming to Rhodes, I was at Coastal Carolina University in Myrtle Beach, SC. I grew up in Kalamazoo, Michigan and went to The Ohio State University in Columbus, Ohio for my undergraduate studies. After graduating, I was hired by Bell Laboratories, where I worked with the group that built the first Internet systems at AT&T. During my time there I developed systems for Internet networking and security infrastructure. I left Bell Labs to work for several startups focusing on network intrusion detection, machine learning, and video compression and streaming. I loved the excitement and energy of the startup environment, but not so much with the income volatility. I decided to head back to school for my M.S. and Ph.D. in 2004.
I live near the University District in Memphis with my wife and two daughters. Outside the classroom, you can find me in search of a good cup of coffee. Other interests include photography, coral reef keeping, cooking, and perfecting my exasperated sigh.
D. Brian Larkins and James Dinan. "Extending a Message Passing Runtime to Support Partitioned, Global Logical Address Spaces." 1st Int'l Workshop on Communication Optimizations in High Performance Computing (COMHPC), 2016.
Benjamin A. Whetstone, Varavut Limpasuvan, and D. Brian Larkins. "GPU Acceleration of the Advanced Regional Prediction System (ARPS)". 52nd ACM Southeast Conference (ACMSE), 2014.
D. Brian Larkins, William M. Jones, H. Erin Rickard. "Using FPGAs As a Reconfigurable Teaching Tool Throughout CS Systems Curriculum". 44th ACM Technical Symposium on Computer Science Education (SIGCSE), 2013.
D. Brian Larkins, J. Christopher Moore, Louis J Rubbo, Laura R. Covington. "Application of the Cognitive Apprenticeship Framework to a Middle School Robotics Camp". 44th ACM Technical Symposium on Computer Science Education (SIGCSE), 2013.
D. Brian Larkins. "Improving Data Locality for Irregular Partitioned Global Address Space Programs". 50th ACM Southeast Conference (ACMSE), 2012.
James Dinan, Sriram Krishnamoorthy, D. Brian Larkins, Jarek Nieplocha, P. Sadayappan. "Scalable Work Stealing". 21st ACM/IEEE Conference on High Performance Computing (SC), 2009.
D. Brian Larkins, Games Dinan, Sriram Krishnamoorthy, Atanas Rountev, P. Sadayappan. "Global Trees: A Framework for Linked Data Structures on Distributed Memory Parallel Systems". 20th ACM/IEEE Conference on High Performance Computing (SC), 2008.
James Dinan, D. Brian Larkins, Jarek Nieplocha, P. Sadayappan. "Scioto: A Framework for Global-View Task Parallelism". 37th International Conference on Parallel Processing (ICPP), 2008.
D. Brian Larkins. "Internet Routing and DNS Voodoo in the Enterprise". 13th Conference on Large Installation Systems Administration (USENIX LISA), 1999
B.S., Computer Science and Engineering, The Ohio State University
M.S., Computer Science and Engineering, The Ohio State University
Ph.D., Parallel and Distributed Computing, The Ohio State University