GYM: A Multiround Distributed Join Algorithm

Foto Afrati, Manas Joglekar, Christopher Re, Semih Salihoglu, Jeffrey Ullman, Foto, N Afrati, Manas Joglekar, Chris Re, Semih Salihoglu, Jeffrey Ullman
2017 18 Leibniz International Proceedings in Informatics Schloss Dagstuhl-Leibniz-Zentrum für Informatik   unpublished
Multiround algorithms are now commonly used in distributed data processing systems, yet the extent to which algorithms can benefit from running more rounds is not well understood. This paper answers this question for several rounds for the problem of computing the equijoin of n relations. Given any query Q with width w, intersection width iw, input size IN, output size OUT, and a cluster of machines with M = Ω(IN 1) memory available per machine, where > 1 and w ≥ 1 are constants, we show that:
more » ... . Q can be computed in O(n) rounds with O(n (IN w +OUT) 2 M) communication cost with high probability. 2. Q can be computed in O(log(n)) rounds with O(n (IN max(w,3iw) +OUT) 2 M) communication cost with high probability. Intersection width is a new notion we introduce for queries and generalized hypertree decompos-itions (GHDs) of queries that captures how connected the adjacent components of the GHDs are. We achieve our first result by introducing a distributed and generalized version of Yannaka-kis's algorithm, called GYM. GYM takes as input any GHD of Q with width w and depth d, and computes Q in O(d + log(n)) rounds and O(n (IN w +OUT) 2 M) communication cost. We achieve our second result by showing how to construct GHDs of Q with width max(w, 3iw) and depth O(log(n)). We describe another technique to construct GHDs with longer widths and lower depths, demonstrating other tradeoffs one can make between communication and the number of rounds. 1998 ACM Subject Classification H.2.4 [Systems] Query Processing 1 Introduction The problem of evaluating joins efficiently in distributed environments has gained importance since the advent of Google's MapReduce [9] and the emergence of a series of distributed systems with relational operators, such as Pig [24], Hive [28], SparkSQL [27], and Myria [18]. These systems are conceptually based on Valiant's bulk synchronous parallel (BSP) computational model [29]. Briefly, there are a set of machines that do not share any memory and are