Parallel Correlation Clustering on Big Graphs
Given a similarity graph between items, correlation clustering (CC) groups similar items together and dissimilar ones apart. One of the most popular CC algorithms is KwikCluster: an algorithm that serially clusters neighborhoods of vertices, and obtains a 3-approximation ratio. Unfortunately, in practice KwikCluster requires a large number of clustering rounds, a potential bottleneck for large graphs. We present C4 and ClusterWild!, two algorithms for parallel correlation clustering that run in a polylogarithmic number of rounds, and provably achieve nearly linear speedups. C4 uses concurrency control to enforce serializability of a parallel clustering process, and guarantees a 3-approximation ratio. ClusterWild! is a coordination free algorithm that abandons consistency for the benefit of better scaling; this leads to a provably small loss in the 3 approximation ratio. We demonstrate experimentally that both algorithms outperform the state of the art, both in terms of clustering accuracy and running time. We show that our algorithms can cluster billion-edge graphs in under 5 seconds on 32 cores, while achieving a 15⇥ speedup.
The authors present a parallel version of a classic approximated solution to the Correlation Clustering problem on complete unweighted signed graphs. They prove it preserves the 3 approximation ratio while requiring less peeling rounds and allowing nearly linear speed-up. Relaxing synchronization constraints, they also introduce a variant which improve running time at the cost of introducing additional error compared with the serial solution. These claims are supported by experiments on real world data.In my opinion, this paper addresses a major problem and provide a solution which is simple, but also well founded and efficient as demonstrated both theoretically and practically. Since its inception in 2002, Correlation Clustering has drawn a lot of attention. Yet until recently, most of the efforts have been directed to either improve the approximation ratio or devise heuristics in a serial fashion. This has started to change in the last years [1a,2a,3a] yet the algorithms proposed here compared favourably with the state of the art. Moreover the exposition is clear and the paper well written.On the other hand, a few points could be improved.- First, the main hypothesis (i.e. that the graph is complete) should be more visible. For instance, the title could replace "Big" by "Complete" to be more accurate and descriptive. It should also appear in the abstract, to avoid confusing the reader in a rush. Furthermore, the graphs presented in the experimental sections are clearly not complete. Therefore it should be explained how this was accommodated (for example, considering all missing edges to be negative yield the same practical result than if this was actually the case, but it lower the theoretical approximation ratio from O(log n) to 3 and thus must be carefully justified). Also, the view of ClusterWild! as a procedure on a noisy graph with deleted edges has to be clarified in that perspective of complete graphs (are they transformed into negative edges).- Second the proof of the running time depends crucially of a recent result to upper bound the number of competing threads. This result has not yet been peer-reviewed.- Third, the sketch of the proof of theorem 4 is a bit confusing to me. Namely it is not clear how ignoring edges induces *new* bad triangles in \hat{G} Minor comments: line 117: C_i inter C_j should be equal to the empty set line 124: missing point after clustered line 136: write iff in full line 169, right: clusterID(v) not u line 173: I assumed Gamma(v) is the positive neighbours of v ordered by pi but it's not defined line 221: define speed-up here rather than in line 371 line 248: it's not clear where in the appendix are the full details line 269: should it be intersection? line 273: I assumed p_t is the probability of the event \mathcal{P}_t from line 280: do \mathcal{S}_u,v S and S_u,v refer to the same quantity? line 285: define C_u,v line 296: is "positive" needed to qualify neighbours? It doesn't seem to appear in the following line line 299: shouldn't the outer be P/n line 301: maybe remind that P<\epsilon n/\delta. Is it by the way? Theorem 2 doesn't mention epsilon line 308: is \delta the same as in line 508? line 308: 4 \epsilon / (1 - exp(-4\epsilon)) is equivalent to         1+2\epsilon around 0, giving a factor of (3+4\epsilon) to OPT. Yet the         experiments use \epsilon=0.9, in which case1 + 2 * [4 \epsilon /         (1 - exp(-4\epsilon))]  8.4 instead of 3. line 360: appendix B line 365: it's not clear to me what is the semantic of signed edges in that case Figure 2: the legends are barely readable when printed line 427: is there any way to tell which version to prefer without running both of them? line 431: could local heuristics of [3] be parallelized as well? line 461: [17] was accepted in COLT'15 line 500: typo in round line 693: should it be intersection?[1a] Ahn, K., Cormode, G., Guha, S., McGregor, A., & Wirth, A. (2015). Correlation Clustering in Data Streams. In Proceedings of The 32nd International Conference on Machine Learning (pp. 2237-2246). Retrieved from http://jmlr.org/proceedings/papers/v37/ahn15.html [2a] Bonchi, F., Gionis, A., & Ukkonen, A. (2012). Overlapping correlation clustering. Knowledge and Information Systems, 35(1), 1-32. doi:10.1007/s10115-012-0522-9 [3a] Chierichetti, F., Dalvi, N., & Kumar, R. (2014). Correlation clustering in MapReduce. In Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery and data mining - KDD '14 (pp. 641-650). New York, New York, USA. doi:10.1145/2623330.2623743