130 likes | 264 Views
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)
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