People of ACM - Panagiota Fatourou

February 4, 2020

How did you come to specialize in the theory of parallel and distributed computing?

I have always been passionate about mathematics. I love the purity behind them and the beauty of understanding the properties and limitations of the research problems I study, as well as of their solutions. It is thus not surprising that theory was my favorite research direction during my studies, a challenging, intellectually demanding and intriguing research area.

Parallel and distributed computing is a field that came into existence with the advent of operating systems and networks and is almost as old as computing itself. Despite its long history in computer science, this field is still actively evolving and involves some of the biggest research challenges in computing.

By specializing in the theory of parallel and distributed computing, I combined my passion about theory with an exciting research field that has had significant impact in the evolution of computing in the past, and the potential to be even more impactful in the future.

What are some interesting recent developments in this field?

The proliferation of the multicore architectures, the enormous growth in digital devices, and the huge increase of the internet made parallel and distributed computing ubiquitous. The area is very broad and comes in many flavors, ranging from multicore and multiprocessor settings, and concurrency and synchronization, to high performance computing, to communication networks (including sensor, mesh, ad hoc, and mobile networks), to social and peer-to-peer systems, to security in distributed computing, including cryptographic protocols, cryptocurrency and blockchains, to fault-tolerance and reliability, to replication and consistency, and many other topics.

Concurrent computing, which my research mainly focuses on, still struggles to answer fundamental open problems. This might seem surprising, since plenty of concurrent programming models and languages have already been invented. Still, major questions have not been answered in a satisfactory way. For instance, one of the most pressing challenges is how to help naive programmers think in parallel, and how to tame concurrency. Addressing these challenges entails inventing the appropriate programming abstractions that will enable programmers to easily express parallelism in their code and developing runtime systems that will facilitate the efficient execution of this code in concurrent settings.

In a similar avenue, the design and implementation of libraries of efficient synchronization and communication primitives and algorithms, of concurrent data structures and indices and, more generally, of those building blocks that lie at the heart of most concurrent and distributed applications are of vital importance, as they could be used to efficiently build more complex parallel and distributed software.

Another important issue is ensuring scalability. Despite recent advances in NUMA-aware parallel computing and the exploitation of the power of adaptive algorithms, it is still true that most of the current concurrent software is not scalable.

Hot research directions in the field include computing on top of emerging technologies, such as non-volatile memories, and addressing the challenge of how to harness the power of large-scale systems.

What is the key insight of the paper you co-authored, “The PCL theorem: transactions cannot be parallel, consistent and live”? Why is this important to parallel computing?

The multicore regime that chip manufacturing has witnessed in the last decades has led to the concurrency-at-large revolution in software, i.e., to the necessity of supporting concurrency for the masses. This has posed the major challenge of overcoming the difficulty of concurrent programming. Transactional memory (TM) has emerged as a promising way to tackle this challenge by employing the well-known paradigm of transactions from the database world. TM allows nonexpert programmers to encapsulate blocks of sequential code within transactions that might run concurrently with each other, in an atomic way, thus providing an easy solution to the introduction of concurrency within modern applications. The TM paradigm has gained momentum as the preferable approach for replacing lock-based synchronization and achieving easier concurrent programming.

To properly understand TM systems, and be able to assess and improve them, a rigorous theoretical study of their properties, benefits and limitations is necessary. The paper contributes in this direction by proving a fundamental limitation of TM systems. Specifically, the paper proves the PCL theorem stating that no TM system can achieve all of the following three major properties: parallelism, correctness, and liveness. The paper also explores the limits of this impossibility result in all its different requirements, drawing a sharp line between the requirements of parallelism, correctness and liveness studied in the paper and their weaker variants.

As the new Chair, in what areas would you like to see the ACM Europe Council grow?

The ACM Europe Council focuses on a wide range of ACM activities and on encouraging greater participation of Europeans in all dimensions of ACM. It aims to promote dialogue and the exchange of ideas on technology and computing policy issues between the European Commission and other governmental bodies in Europe, and the informatics and computing communities. It also aims to foster education in the computer science field in Europe, to recognize the achievements of European computer professionals, to support gender equality in the European computing landscape, and to promote access to computer-related scientific frontiers.

During my term as a Chair, I would like to see the ACM Europe Council strengthen the excellence aspect of ACM in Europe. Specifically, I would like it to empower its activity in acknowledging the work of distinguished European researchers. For this purpose, a new Council Committee will be established, whose role will be to come up with the appropriate mechanisms to help increase the number of successful nominations of European researchers for the advanced ACM member grades and the ACM awards. I also anticipate the Council’s contribution to enhancing the list of ACM Distinguished Speakers by coming up with a comprehensive list of well-known European professionals who are also acknowledged as excellent speakers, as well as to work toward expanding the landscape of ACM conferences that are held in Europe. Finally, I would like the Council to take a more active role in encouraging greater participation of young European scientists in ACM activities.

Panagiota Fatourou is an Associate Professor at the University of Crete and at the Foundation of Research and Technology-Hellas (FORTH ICS), Greece. Her research interests focus on theoretical aspects of computer science with emphasis on the theory of parallel and distributed computing.

Fatourou was recently appointed as the Chair of the ACM Europe Council, which aims to increase the visibility and availability of ACM activities across Europe. She is also the Chair of the Greek ACM-W Chapter, and a Member-at-Large of the Steering Committee of the ACM Symposium on the Principles of Distributed Computing (PODC 2020).