The Role of Communication Complexity in Distributed Computing Rotem Oshman
Background: Distributed Computing
Distributed Computing Typical model: – Local computation for free – Charge for “communication”
Distributed Lower Bounds
Shared Memory Processes communicate by accessing objects in shared memory – Read/write registers – Read-modify-write: CAS, T&S, … Typically asynchronous: – Schedule = sequence of process IDs – Adversarially chosen – Sometimes processes may crash
Shared Memory Lower Bounds
Message Passing Processes communicate by sending messages – Over some network graph, often complete Fully synchronous, fully asynchronous, or anywhere in between Processes can crash, recover, cheat, lie,… Many successful applications of CC
Some differences… Complexity measure Problems Input Distributed Computing Comm. Complexity #rounds (limited bandwidth)total #bits SearchDecision Number-In-HandNumber-on- Forehead (usually)
Message-Passing Models MESSAGE-PASSING LOCAL CONGEST SHARED BLACKBOARD #rounds total CC
Talk Overview I.Lower bound techniques a.CONGEST (#rounds): reductions from 2-party communication complexity b.Total CC with private channels II.Shared blackboard a.Number-in-hand b.“Not-quite-number-in-hand”
The CONGEST Model
CONGEST Lower Bounds for Arbitrary Graphs … by reduction from 2-party disjointness
2-Party Reductions
Example: Approximate Diameter
Lower Bound
1 2 …
1 2 …
Approximate Diameter
Multi-Player NIH Communication with Private Channels
The Message-Passing Model
The Coordinator Model
Message-Passing vs. Coordinator Secure multi-party computation!
Message-Passing Lower Bounds
Symmetrization [Phillips, Verbin, Zhang ’12]
Symmetrization Example: Bitwise-XOR
Set Disjointness ?
Symmetrization vs. Disjointness
[BEOPV’13] Lower Bound Outline
Info Cost for Multi-Player
Reduction from D ISJ to graph connectivity [Based on WZ’13] (Players)(Elements)
Number-In-Hand Shared Blackboard
Why Should We Care? Some fundamental question still open Natural model for distributed computing – Single-hop wireless network – More generally, abstracts away network topology – Related to MapReduce, etc. [Hegeman and Pemmaraju’14]
Example: NIH Multi-Party Disjointness
“Not-Quite Number in Hand”
Simulating the Algorithm
More complicated….
Upper Bound on Subgraph Detection
Detecting Triangles
Triangles to 3-Party NOF Disjointness
3-Party NOF Disjointness
Conclusion MESSAGE-PASSING LOCAL CONGEST SHARED BLACKBOARD #rounds total CC
Directions for Future Research Exploiting asynchrony and faults to get stronger communication lower bounds
Example 1: Dynamic Networks
Example 2: Byzantine Consensus