10 research outputs found

    Enhancing Balanced Graph Edge Partition with Effective Local Search

    Full text link
    Graph partition is a key component to achieve workload balance and reduce job completion time in parallel graph processing systems. Among the various partition strategies, edge partition has demonstrated more promising performance in power-law graphs than vertex partition and thereby has been more widely adopted as the default partition strategy by existing graph systems. The graph edge partition problem, which is to split the edge set into multiple balanced parts to minimize the total number of copied vertices, has been widely studied from the view of optimization and algorithms. In this paper, we study local search algorithms for this problem to further improve the partition results from existing methods. More specifically, we propose two novel concepts, namely adjustable edges and blocks. Based on these, we develop a greedy heuristic as well as an improved search algorithm utilizing the property of the max-flow model. To evaluate the performance of our algorithms, we first provide adequate theoretical analysis in terms of the approximation quality. We significantly improve the previously known approximation ratio for this problem. Then we conduct extensive experiments on a large number of benchmark datasets and state-of-the-art edge partition strategies. The results show that our proposed local search framework can further improve the quality of graph partition by a wide margin.Comment: To appear in AAAI 202

    Node Community Participation for Enhancing Stream-Based Edge Partitioning

    Get PDF
    Η διαμέριση ακμών είναι ένα κρίσιμο βήμα προεπεξεργασίας για τη βελτιστοποίηση κατανεμημένων υπολογιστικών εργασιών σε γράφους. Περιλαμβάνει τη διαχωρισμό του γράφου σε μικρότερους υπο-γράφους, ώστε να είναι δυνατοί οι ταυτόχρονοι υπολογισμοί και να μειωθεί η επιβάρυνση σε χρόνο και κόστος. Ο στόχος της διαμέρισης ακμών είναι να χωριστεί ο δεδομένος γράφος σε έναν δεδομένο αριθμό διαμερίσεων, ελαχιστοποιώντας παράλληλα την αναπαραγωγή κορυφών μεταξύ τους. Με τον τρόπο αυτό ελαχιστοποιούνται τα ερωτήματα που ανταλλάσσονται μεταξύ των διαμερίσεων και βελτιώνονται οι επιδόσεις. Η διαμέριση ακμών μπορεί να κατηγοριοποιηθεί ως stateful ή stateless. Η stateful προσέγγιση οδηγεί σε καλύτερα αποτελέσματα αλλά με υψηλότερο κόστος, ενώ η stateless προσέγγιση είναι ταχύτερη αλλά οδηγεί σε αποτελέσματα χαμηλότερης ποιότητας. Η παρούσα μελέτη επεκτείνει τον αλγόριθμο διαμέρισης 2PS-L, ο οποίος βασίζεται στο stateful μοντέλο ροής ακμών και έχει γραμμικό χρόνο εκτέλεσης. Ο αλγόριθμος 2PS-L αποτελείται από δύο φάσεις: ομαδοποίηση κορυφών και διαμέριση ακμών με βάση τις ομάδες που δημιουργούνται στην αρχική φάση. Στην παρούσα διπλωματική εργασία, εστιάζουμε στη βελτίωση της φάσης συσταδοποίησης, προκειμένου να επιτύχουμε χαμηλότερο παράγοντα αναπαραγωγής σε σύγκριση με την αρχική προσέγγιση. Η ελαχιστοποίηση του παράγοντα αναπαραγωγής στην διαμέριση γράφων συμβάλλει στη βελτιστοποίηση της χρήσης του αποθηκευτικού χώρου, στην ενίσχυση της εξισορρόπησης φορτίου, στη μείωση της επιβάρυνσης επικοινωνίας και στην απλοποίηση του ελέγχου συνέπειας και ταυτόχρονης λειτουργίας, οδηγώντας σε πιο αποδοτικά κατανεμημένα συστήματα επεξεργασίας γράφων. Εστιάζουμε επίσης στα ποιοτικά χαρακτηριστικά της προσέγγισής μας: ανεξαρτησία σειράς ροής ακμών και απαίτηση για ένα μόνο πέρασμα. Ο αρχικός αλγόριθμος 2PS-L εξαρτάται σε μεγάλο βαθμό από τη σειρά της ροής των ακμών του γράφου και απαιτεί τουλάχιστον δύο περάσματα μέσω της ροής ακμών. Αντίθετα, η προσέγγισή μας είναι ανεξάρτητη από τη σειρά της ροής ακμών και απαιτεί μόνο ένα πέρασμα.Edge partitioning is a crucial preprocessing step for optimizing distributed computing tasks on graphs. It involves dividing the graph into smaller sub-graphs to enable simultaneous computations and reduce time and cost overhead. The objective of edge partitioning is to split the given graph into a given number of partitions while minimizing vertex replication across partitions. This minimizes cross-partition queries and improves performance. Edge partitioning can be categorized as stateful or stateless. Stateful partitioning delivers better results but at a higher cost, whereas stateless partitioning is faster but yields lower quality outcomes. This study extends the 2PS-L partitioning algorithm, which operates on the stateful streaming model in linear runtime. 2PS-L consists of two phases: edge clustering and edge partitioning based on the clusters generated in the initial phase. In this thesis, we primarily focus on enhancing the clustering phase of graph partitioning in order to achieve a lower replication factor compared to the original approach. Minimizing the replication factor in graph partitioning helps optimize storage utilization, enhance load balancing, reduce communication overhead, and simplify consistency and concurrency control, leading to more efficient and scalable graph processing systems. We also focus on our approach quality characteristics: edge stream independence and single pass requirement. The original 2PS-L algorithm is heavily dependent on the order of the graph stream and requires at least two passes through the stream. In contrast, our approach is independent of the stream order and only requires a single stream pass

    Predictive analysis of real-time strategy games using graph mining

    Get PDF
    Machine learning and computational intelligence have facilitated the development of recommendation systems for a broad range of domains. Such recommendations are based on contextual information that is explicitly provided or pervasively collected. Recommendation systems often improve decision-making or increase the efficacy of a task. Real-Time Strategy (RTS) video games are not only a popular entertainment medium, they also are an abstraction of many real-world applications where the aim is to increase your resources and decrease those of your opponent. Using predictive analytics, which examines past examples of success and failure, we can learn how to predict positive outcomes for such scenarios. To do this, one way to represent this type of data in order to model relationships between entities is by using graphs. The vast amount of data has resulting in complex and large graphs that are difficult to process. Hence, researchers frequently employ parallelized or distributed processing. But first, the graph data must be partitioned and assigned to multiple processors in such a way that the workload will be balanced, and inter-processor communication will be minimized. The latter problem may be complicated by the existence of edges between vertices in a graph that have been assigned to different processors. One objective of this research is to develop an accurate predictive recommendation system for multiplayer strategic games to determine recommendations for moves that a player should, and should not, make which can provide a competitive advantage. Another objective is to determine how to partition a single undirected graph in order to optimize multiprocessor load balancing and reduce the number of edges between split subgraphs --Abstract, page iv
    corecore