Streaming Hypergraph Partitioning Algorithms on Limited Memory

Streaming Hypergraph Partitioning Algorithms on Limited Memory

1 Streaming Hypergraph Partitioning Algorithms on Limited Memory Environments Fatih Tas¸yaran∗, Berkay Demireller∗, Kamer Kaya∗ and Bora Uc¸ary ∗Computer Science and Engineering, Sabancı University, Istanbul,˙ Turkey ffatihtasyaran, bdemireller, [email protected] yCNRS and LIP, (UMR5668 Univ. de Lyon, ENS Lyon, Inria, UCBL 1), France [email protected] Abstract—Many well-known, real-world problems involve dy- communication, i.e., data transfer, overhead of the further anal- namic data which describe the relationship among the entities. yses. With the increasing popularity of data-centric paradigms Hypergraphs are powerful combinatorial structures that are such as Internet of Things and Edge Computing, the data that frequently used to model such data. For many of today’s data- centric applications, this data is streaming; new items arrive is fed to these stores started to have a streaming fashion. In continuously, and the data grows with time. With paradigms such this work, we assume that the data is generated/processed at as Internet of Things and Edge Computing, such applications the edge of a network and partitioned on a memory-restricted become more natural and more practical. In this work, we device such as single-board computers (SBC). There exist assume a streaming model where the data is modeled as a many algorithms to partition streaming graphs [7], [8], [9], and hypergraph, which is generated at the edge. This data then partitioned and sent to remote nodes via an algorithm running two recent benchmarks to evaluate the performance of such on a memory-restricted device such as a single board computer. algorithms [10], [11]. Although hypergraphs tend to have a Such a partitioning is usually performed by taking a connectivity better modeling capability, and we have fine-tuned, optimized, metric into account to minimize the communication cost of fast offline hypergraph partitioning tools, e.g., [12], [13], [14], later analyses that will be performed in a distributed fashion. [2], the streaming setting is not analyzed thoroughly in the Although there are many offline tools that can partition static hypergraphs excellently, algorithms for the streaming settings context of hypergraph partitioning. are rare. We analyze a well-known algorithm from the literature Hypergraphs are considered as a generalization of graphs; and significantly improve its running time by altering its inner in a graph, the edges represent pairwise connections. On the data structure. For instance, on a medium-scale hypergraph, the other hand, in a hypergraph, connectivity is modeled with nets new algorithm reduces the runtime from 17800 seconds to 10 seconds. We then propose sketch- and hash-based algorithms, which can represent multi-wise connections. That is, a single as well as ones that can leverage extra memory to store a small net connects more than two vertices. In a streaming setting, portion of the data to enable the refinement of partitioning when this difference makes the hypergraph partitioning problem is possible. We experimentally analyze the performance of these much harder than its graph counterpart. For graph partitioning, algorithms and report their run times, connectivity metric scores, when a vertex appears with its edges, the endpoint vertex IDs and memory uses on a high-end server and four different single- board computer architectures. are implicit; hence, just the part information of the vertices is sufficient to judiciously decide on the part of the vertex at hand. However, in a hypergraph, a vertex appears with its nets I. INTRODUCTION and the neighbor vertices are not implicit. Hence, one needs to keep track of the connectivity among the nets and the parts arXiv:2103.05394v1 [cs.DS] 9 Mar 2021 Real-world data can be complex and there can be natural to judiciously decide the part of the current vertex. and irregular relations within, which makes most of the models In this work, we assume a streaming setting where the such as column- or row-oriented tabular representation fail in vertices of a hypergraph appear in some order along with their capturing the essence of knowledge contained. Hypergraphs, nets, i.e., their connections to other vertices. The contribution which are generalizations of graphs, are highly flexible and of the study is three-fold: appropriate for such data. Simply being a set of sets, a hyper- graph is widely used in various areas to model the data at hand. • We take one of the existing and popular algorithms from the For instance, they are employed for DNA sequencing [1], literature [15] and make it significantly faster by altering its VLSI design [2], citation recommentation [3], and finding inner data structure used to store the part-to-net connectivity. semantic similarities between documents [4] or descriptor • We propose techniques to refine the existing partitioning at similarities between images [5]. They are also used in machine hand with the help of some extra memory to store some learning since their inherent structure makes them an easy way portion of the hypergraph. of representing labels and attributes [6]. • We propose and experiment with various algorithms and Distributed graph and hypergraph stores became popular in benchmark their run times, memory usages, and partitioning the last decade to store massive-scale data that we have in quality on a high-end server and multiple SBCs. today’s applications. A good partitioning of the data among the The rest of the paper is organized as follows: Section II nodes in the distributed framework is necessary to reduce the presents the notation and background on streaming hyper- 2 graph partitioning. The proposed algorithms are presented in In the text, we use parts[n] to denote the set of parts net n Section III. The related work is summarized in Section IV. is connected to. Let Λ(n; p) = jpins[n] \Vpj be the number Section V presents the experiments and Section VI concludes of pins of net n in part p. Hence, Λ(n; p) > 0 if and only the paper. if p 2 parts[n]. There are various metrics to measure the quality of a partitioning in terms of the connectivity of the II. NOTATION AND BACKGROUND nets [16]. The one which is widely used in the literature and A hypergraph H = (V; N ) is composed of a vertex set V shown to accurately model the total communication volume and a net (hyperedge) set N connecting the vertices in V. of many data-processing kernels is called the connectivity-1 A net n 2 N is also a vertex set and the vertices in n are metric. This cutsize metric is defined as: the pins of n. The size of n 2 N is the number of pins in it, and the degree of v 2 V is the number of nets it is X χ(Π) = (λn − 1) (1) [n] [v] connected to. The notation pins and nets represent the n2N pin set of a net n, and the set of nets containing a vertex v, respectively. In this work, we assume that the vertices and the In this metric, each cut net n contributes (λn − 1) to the cut nets are homogeneous, i.e., they all have equal weights and size. The hypergraph partitioning problem can be defined as costs. However, in practice, vertices can be associated with the task of finding a balanced partition Π with K parts such weights, and nets can be associated with costs. that χ(Π) is minimized. This problem is NP-hard even in the A K-way partition of H, which is denoted as Π = offline setting [16], where all the vertices can be considered fV1; V2;:::; VK g, is a vertex partition where to appear at once, and the balance requirement is only tested at the end of partitioning. • parts are pairwise disjoint, i.e., Vk \V` = ; for all 1 ≤ k < ` ≤ K, • each part Vk is a nonempty subset of V, i.e., Vk ⊆ V and III. PARTITIONING STREAMING HYPERGRAPHS Vk 6= ; for 1 ≤ k ≤ K, The simplest partitioning algorithm one can employ in the SK • the union of K parts is equal to V, i.e., k=1 Vk =V. streaming setting is random partitioning, RANDOM, which as- A K-way partition of H, which is denoted as Π = signs each appearing vertex to a random part while keeping the fV1; V2;:::; VK g, is a vertex partition where partitioning always balanced as shown in Algorithm 1. In the • parts are pairwise disjoint, i.e., Vk \V` = ; for all 1 ≤ k < algorithm, p is the candidate part, pmin is the part ID having ` ≤ K, the least number of vertices, and rand(1;K) chooses a ran- • each part Vk is a nonempty subset of V, i.e., Vk ⊆ V and dom integer in between [1;K]. When the difference between Vk 6= ; for 1 ≤ k ≤ K, the number of vertices is equal to s, v cannot be assigned to SK • the union of K parts is equal to V, i.e., k=1 Vk =V. p since this decision makes the partitioning unbalanced. In the streaming setting, the vertices in V appear one after another. The elements of the stream are pairs (v; nets[v]). Algorithm 1: RANDOM For each element, v is be partitioned, i.e., the part vector Input: H, K, s entry part[v] is set by the partitioning algorithm. In the strict Output: part[:] streaming setting, each element (v; nets[v]) is forgotten after for all (v; nets[v]) in streaming order do part[v] is decided. Besides, none of the partitioning decisions p rand(1;K) jV j − jV j = s can be revoked. In a more flexible streaming setting, a buffer while p pmin do with a capacity B is reserved to store some of the net sets.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    8 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us