Towards Correct and Efficient Multi-Core Programming

Speaker Name: 
Trevor Brown
Speaker Title: 
Postdoctoral Fellow
Speaker Organization: 
Institute of Science and Technology, Austria
Start Time: 
Wednesday, February 21, 2018 - 11:00am
End Time: 
Wednesday, February 21, 2018 - 12:15pm
Cormac Flanagan


The last decade of technological advancement has ushered in an era of ubiquitous data, generated by vast swathes of always-on and always-connected consumer devices, industrial processes and academic projects. As the amount of available data and the variety of its potential uses increases, data processing is quickly becoming mission-critical for many organizations. Large scale multi-core systems represent the best available solution to these data processing needs. However, it is notoriously difficult to program such systems, even for experts. The research challenge is to determine how large scale multi-core systems can be programmed easily, correctly and efficiently. 

In this talk, Brown will describe two projects that address different aspects of this challenge. The first project introduces new tools for designing concurrent data structures that are fast and provably correct. These data structures function as essential algorithmic building blocks in concurrent software. The second project encompasses techniques for improving the performance of existing concurrent data structures and expanding their capabilities. These techniques improve performance in application benchmarks by up to three orders of magnitude over previous approaches. 


Trevor Brown is a postdoctoral fellow at the Institute of Science and Technology, Austria. Prior to joining IST Austria, he was a postdoctoral fellow at the Technion, Israel Institute of Technology. His research spans a variety of topics centered around the question of how large multi-core systems can be programmed easily, correctly and efficiently. These topics include non-volatile memory, transactional memory, memory management, concurrent data structures, lock-free algorithms and databases. He obtained his PhD in Computer Science from the University of Toronto in 2017. Before his PhD studies, he worked in industry as a software engineer.