"Tri, Tri again": Finding Triangles and Small Subgraphs in a Distributed   Setting
  Let G = (V,E) be an n-vertex graph and M_d a d-vertex graph, for some constant d. Is M_d a subgraph of G? We consider this problem in a model where all n processes are connected to all other processes, and each message contains up to O(log n) bits. A simple deterministic algorithm that requires O(n^((d-2)/d) / log n) communication rounds is presented. For the special case that M_d is a triangle, we present a probabilistic algorithm that requires an expected O(ceil(n^(1/3) / (t^(2/3) + 1))) rounds of communication, where t is the number of triangles in the graph, and O(min{n^(1/3) log^(2/3) n / (t^(2/3) + 1), n^(1/3)}) with high probability.   We also present deterministic algorithms specially suited for sparse graphs. In any graph of maximum degree Delta, we can test for arbitrary subgraphs of diameter D in O(ceil(Delta^(D+1) / n)) rounds. For triangles, we devise an algorithm featuring a round complexity of O(A^2 / n + log_(2+n/A^2) n), where A denotes the arboricity of G. 
Danny Dolev, Christoph Lenzen, Shir Peled
cs.DC