Passing Messages while Sharing Memory
May 9, 2018 (GHC 6115 )

The shared-memory and message-passing models have traditionally been studied separately in the distributed computing community. However, recent trends in hardware have led to machines that may use both shared memory and message-passing primitives. Motivated by these trends, we consider a hybrid message-and-memory model that allows programs to both share memory and pass messages.

We show that the message-and-memory model can leverage the shared memory to become more powerful than the message-passing model in isolation.

In this talk, I will exemplify the power of a message-and-memory network by considering the classic consensus problem. I will show that such a network can tolerate more failures when solving consensus than a purely message-passing one. This is true even when limiting shared memory communication to be only between neighbors in a shared-memory graph, rather than between every pair of processes. In particular, I will show that graphs with good expansion properties provide a good trade-off between scalability and fault-tolerance in this context, and prove upper and lower bounds on the fault-tolerance of a message-and-memory network.

Based on joint work with Marcos Aguilera, Irina Calciu, Rachid Guerraoui, Erez Petrank, and Sam Toueg.