Brian Railing

Brian Railing is an assistant teaching professor in the Computer Science Department. His technical research interests are the efficient instrumentation and analysis of parallel programs using architecture and compiler techniques.

He also continually studies and analyzes his teaching, as part of a continual effort to improve student learning and the efficiency of their classroom experience. This effort focuses on the usage of active learning techniques in systems courses.

He likes to play soccer, bicycle, and climb mountains. And take photos too.

He can be contacted at bpr at cs dot cmu dot edu.

He maintains a blog, Elegant C, which reflects his own personal opinions and experiences in Computer Science.

Possible student research projects are maintained in a wiki.

Office: GHC 6005


Spring 2018

15-213 / 513 Introduction to Computing Systems

15-410 / 605 Operating System Design and Implementation

Fall 2017

15-213 / 513 Introduction to Computing Systems

15-418 Parallel Computer Architecture and Programming

Summer 2017

15-213 / 513 Introduction to Computing Systems

Spring 2017

Parental Leave

Fall 2016

15-213 / 513 Introduction to Computing Systems

15-418 Parallel Computer Architecture and Programming

Summer 2016

15-213 / 513 Introduction to Computing Systems

Spring 2016

15-213 / 513 Introduction to Computing Systems

15-418 Parallel Computer Architecture and Programming


SIGCSE'18 BoF - Active Learning in Systems Courses

LLVM-Performance @ CGO'17 - Improving LLVM Instrumentation Overheads or PDF


IISWC'15 Tutorial - Contech


ACM DL Author-ize serviceImplementing Malloc: Students and Systems Programming
Brian P. Railing, Randal E. Bryant
SIGCSE '18 Proceedings of the 49th ACM Technical Symposium on Computer Science Education, 2018

ACM DL Author-ize serviceContech: Efficiently Generating Dynamic Task Graphs for Arbitrary Parallel Programs
Brian P. Railing, Eric R. Hein, Thomas M. Conte
ACM Transactions on Architecture and Code Optimization (TACO), 2015

Using Active-Learning Techniques in Mixed Undergraduate / Graduate Courses (abstract only). Brian P. Railing. In Proceedings of the 46th ACM technical symposium on Computer science education (SIGCSE '15). ACM, New York, NY, USA

Extrapolation Pitfalls When Evaluating Limited Endurance Memory Rishiraj A. Bheda, Jesse G. Beu, Brian P. Railing, Thomas M. Conte. IEEE 20th International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems (MASCOTS) August 2012

ACM DL Author-ize serviceBrainy: effective selection of data structures
Changhee Jung, Silvius Rus, Brian P. Railing, Nathan Clark, Santosh Pande
ACM SIGPLAN Notices - PLDI '11, 2011

Parallel Pattern Detection for Architectural Improvements Jason A Poovey, Brian P Railing, Thomas M Conte. Hot Topics in Parallelism (HotPar) May 2011


Srikanth, S., Railing, B. P., and Conte, T. M. "Dynamically reconfiguring multi-core architectures using task graph based analysis," in Proceedings of the 24th International Conference on Parallel Architectures and Compilation, PACT '15, (New York, NY, USA), ACM, 2015.

Student Projects

David Vernet and Brian P. Railing. JCoz: A causal Java profiler. In Student Research Competition at the 2017 International Symposium on Code Generation and Optimization, New York, NY, USA, 2017. ACM

Other Writings

PhD Dissertation, Dec 2015


7,783,811 - Efficient Interrupt Message Definition

7,788,435 - Interrupt Redirection with Coalescing

8,024,504 - Processor interrupt determination

Last Modified: March 4, 2018