Teaching
I teach because I am passionate about learning. Throughout my life, I have been dedicated to deepening my understanding of the world, both professionally and personally. I am fortunate to have a diverse set of both academic and work experiences that blend theory and practice to help me solve problems. I wish to encourage and develop this mix of formality, practicality, and creativity with every student so that they may become better problem solvers, better thinkers, and better people.
I strive to continually improve and refine my teaching through practice and have published on improving computer science pedagogy for both undergraduates as well as K-12 students. In 2021, I was honored to receive the Clarence Day Award for Outstanding Teaching.
Research
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.
More recently, I have been researching novel ways to use network offload hardware to accelerate distributed data structures and dynamic load-balancing applications. This work has looked at re-purposing message matching mechanisms, triggered operations, and various network atomic operations to reduce communication and improve performance in parallel applications.
I am the XSEDE Campus Champion for Rhodes and help faculty and students use large-scale high-performance computing (HPC) systems across the U.S. I am also the principal investigator for a recent NSF award to install a 2,112 node HPC cluster in Briggs Hall for use by researchers at Rhodes.
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.
Selected Publications
Hannah Cartier, James Dinan and D. Brian Larkins, "Optimizing Work Stealing Communication with Structured Atomic Operations", 50th International Conference on Parallel Processing (ICPP ’21). Chicago, IL„ August 9-12, 2021.
D. Brian Larkins, John Snyder, and James Dinan, "Accelerated Work Stealing", 48th International Conference on Parallel Processing (ICPP ’19). Kyoto, JP, August 5-8, 2019. DOI:10.1145/3337821.3337878
D. Brian Larkins, John Snyder, and James Dinan, "Efficient Runtime Support for a Partitioned Global Logical Address Space", 47th International Conference on Parallel Processing (ICPP ’18). Eugene, OR, August 13-16, 2018. DOI:10.1145/3225058.3225092
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.