The Department of Computer Science and Engineering (DEI) will organise the lecture “Safer Parallel Programming?”, delivered by professor Tiago Cogumbreiro (Rice University, Houston, Texas), on March 7 at 12 p.m., in Alameda and Taguspark campi.
Taguspark: VC 0-19 (DSI room)
Alameda: Multipurpose room 0.19, Informatics building II.
We live in a world where parallel processors have become the norm. Programs must exploit parallel computing to harness performance benefits from current and future hardware. However, parallel programs suffer from a pernicious class of bugs studied by concurrency theory, where tasks that are running concurrently interfere with each other in unexpected ways.
In this talk, I will present novel techniques that prevent or help debug concurrency errors, with the objective of improving the quality assurance of parallel programming. We will be covering two classes of errors: deadlocks, where tasks are blocked waiting for each other; and data races, where tasks modify the same data while unaware of each other.
An overarching goal of my line of research is to propose a safer parallel programming model, with rigorous semantics and where (concurrency) safety comes first. We will cover three projects to achieve such goal.
First, we will discuss group synchronization, a task coordination pattern with that is the basis for distributed, parallel applications. We propose and formalize a group synchronization API that we proved to be deadlock free, yielding programs that are exempt from synchronization errors by construction.
Second, we introduce a unifying model to detect deadlocks in generalized group synchronization. Our tool supports distributed applications with negligible verification overheads, and includes comprehensive support for Java and X10.
Third, we propose a mathematical argument as to why data races cause deadlocks on awaiting task termination. We use such property to propose a new deadlock-free API for futures, a parallel programming technique with widespread adoption in programming languages.
With hardware becoming more heterogeneous, we can anticipate another wave of disruption on how we write software. In closing, we will discuss how developers require support in porting software to new hardware and how programmers need verification tools that work at scale.
Tiago Cogumbreiro is a Postdoctoral research associate where he pursues data-driven verification, at Rice University, under the supervision of Vivek Sarkar. He is currently a visiting scholar at the Georgia Institute of Technology. Tiago is collaborating in a DARPA initiative on Mining and Understanding Software Enclaves (MUSE), which focuses on changing the way software is built, debugged, and verified by leveraging a corpus of software drawn from the open source code available today.
Tiago completed his doctoral dissertation in February 2015, at the University of Lisbon. He proposed two complementary techniques that improve the reliability of group coordination in parallel computing.
During his PhD, Tiago was a visiting scholar at Rice University, under the supervision of Vivek Sarkar (2012), and was appointed Research Assistant at Imperial College London, under the supervision of Nobuko Yoshida (2014).
professor Rui Prada – E-mail