130 likes | 271 Vues
This project investigates the depth-bounded communication complexity in distributed computation, focusing on minimizing communication for two physically separated parties engaged in a computation task within specified depth limits. It highlights the importance of localizing computation tasks in system-on-chip designs to mitigate long-distance communication costs. The project reviews prior work in communication complexity, introduces new problem formulations, and categorizes various combinational and sequential instances. Future work is suggested, exploring effective techniques and potential formulations.
E N D
Depth-Bounded Communication Complexity for Distributed Computation Student: Jie-Hong Jiang Mentor: Prof. Robert Brayton EE249 Class Project 12/3/2002
Motivation • In system-on-chip design, computation tasks may be localized in some particular locations (e.g. analog/digital separations) • Avoid long distance (delay) communication • An embedded system interacts with its environment, which may span over a large area • Localize computation tasks • Communication costs among different locations may be quite high (due to implementation, noise, delay, etc.) • Minimize communication links and depths
Problem formulation • Given a computation task T(I,O) , two physically separated parties A(I1,O1) and B(I2,O2) want to fulfill task T using minimum amount of communication within a specified depth • Assume X1 X2 = X and X1 X2 = , where X = {I, O}
Prior work • Communication complexity has been intensively studied in the community of theoretical computer science since 1979 • Yao’s formulation is the most well-studied • Assume the two parties in communication have unbounded computation power • Use protocol tree to represent the communication behavior • The height of tree = bits communicated
What has been missing ? • Communication depths • Sharing of communication links
Categorization • Combinational instances with one-sided outputs, i.e. (O1= O, O2= ) • Combinational instances with two-sided outputs, i.e. (O1, O2) • Sequential instances (finite-state machines)
Combinational instance: One-sided output (O1= O, O2= ) • Reduce functional matrix representation • Merge identical rows and columns • Equivalent communication complexity analysis • Use multi-valued representation for multi-output functions
Combinational instance: One-sided output (O1= O, O2= ) • Communication depths should be captured in embedded system design • Assume the two parties in communication have unbounded computation power. This is fine even for combinational implementations.
Combinational instance: One-sided output (O1= O, O2= ) • Slicing functional matrices vs. building protocol trees • Limited alternating communication • Lower bounds • Depth-1, lg (#column) • Depth-k, minall protocol { i=1,…,k lg (max #branch at level i) }
Combinational instance: Two-sided output (O1, O2) • Reduce functional matrix representation • Use multi-valued representation for multi-output functions row merging column merging
Combinational instance: Two-sided output (O1, O2) • Sharing communication links may result in combinational cycles • Sometimes is essential to achieve minimum communication • Might possibly have ambiguous causalities (cause bi-stable, oscillation behaviors)
Sequential instance • Degenerate state equivalence relation between two parties in communication • Take advantage of this partial information to reduce interaction • Compute partial information by Galois connection • Approximate by combinational techniques
Conclusions and future work • We give a formulation for the analysis of the depth-bounded communication complexity problem • Effective techniques need to be explored • Language equation formulation ? • Game-theoretic formulation ? • Nash equilibrium may not even be local optimal for selfish row and column players • Cooperative games