Big Graph Processing: Partitioning and Aggregated Querying
Total Page:16
File Type:pdf, Size:1020Kb
Big Graph Processing : Partitioning and Aggregated Querying Ghizlane Echbarthi To cite this version: Ghizlane Echbarthi. Big Graph Processing : Partitioning and Aggregated Querying. Databases [cs.DB]. Université de Lyon, 2017. English. NNT : 2017LYSE1225. tel-01707153 HAL Id: tel-01707153 https://tel.archives-ouvertes.fr/tel-01707153 Submitted on 12 Feb 2018 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. No d’ordre NNT : 2017LYSE1225 THESEDEDOCTORATDEL’UNIVERSIT` EDELYON´ op´er´ee au sein de l’Universit´e Claude Bernard Lyon 1 Ecole´ Doctorale ED512 Infomath Sp´ecialit´e de doctorat : Informatique Soutenue publiquement le 23/10/2017, par : Ghizlane ECHBARTHI Big Graph Processing: Partitioning and Aggregated Querying Devant le jury compos´ede: Nom Pr´enom, grade/qualit´e, ´etablissement/entreprise Pr´esident(e) Karine Zeitouni, Professeur, Universit´e de Versaille Rapporteure Raphael Couturier, Professeur, Universit´e de Franche-Comt´e Rapporteur Angela Bonifati, Professeur, Universit´e Lyon 1 Examinatrice Mohand Boughanem, Professeur, Universit´e Paul Sabatier Examinateur Hamamache Kheddouci, Professeur, Universit´e Lyon 1 Directeur de th`ese Remerciements Tout d’abord je tiens `a remercier mon directeur de th`ese Hamamache KHEDDOUCI, de m’avoir acceuilli au sein de l’´equipe GOAL, d’avoir constamment veill´e sur la qualit´e de mon travail et de m’avoir apport´e un soutien scientifique et morale d’une grande importance. Mes sinc`eres remerciements vont aux membres de jury, pour avoir accept´e d’´evaluer mon travail et de r´eviser ce manuscrit. Mes remerciements chaleureux vont `a l’ensemble du personnel du laboratoire LIRIS et de l’universit´e de Lyon, et en particulier le personnel administratif que j’ai pu cˆotoyer, Isabelle, Brigitte, Jean-Pierre, Catherine, pour leur efficacit´e et leur bienveillance. Je tiensa ` remercier mon amie Kaoutar Klaye, pour sa fid´elit´e et son soutien intarissable et aussi pour l’inspiration qu’elle me donne pour toujours pers´ev´erer et donner le meilleur de moi-mˆeme. Je remercie ma famille, mon p`ere, ma m`ere, mon fr`ere et sa petite famille, ma soeur et sa petite famille, mes deux soeurs Fati et Meriem d’ˆetre l`a pour moi et de m’apporter toujours un soutien tr`es chaleureux. Je tiensa ` remercier mon mari Ouadie, je lui dois beaucoup dans ce travail de th`ese, je tiens `a le remercier pour sa patience, son ´ecoute, sa disponibilit´e, sa g´en´erosit´eetson pr´ecieux soutien. Ghizlane ii Abstract The advent of ”big data” has tremendous repercussions on a broad range of data related domains, and it has impelled the use of novel techniques that achieve the best tradeoff between computational cost and precision. In the graph theory field, graphs represent a powerful tool for data and problem modeling where all kinds of problems, starting from the very simple to the very complicated, can be effectively formalized. To resolve NP-complete or NP-hard problems in this field, research is being directed to approximation algorithms and heuristic solutions rather than exact solutions, which exhibit a very high computational cost that makes them impossible to use for massive graph datasets. In this thesis, we tackle two main problems: first, the graph partitioning problem is studied in the context of ”big data”, where the focus is put on large graph streaming partitioning. In fact, the graph partitioning is an important and challenging problem when performing computation tasks over large distributed graphs, the reason is that a good partitioning leads to faster computations. We studied and proposed several streaming partitioning models and heuristics, and we studied their performances theoretically and experimentally as well. The second problem that we tackle in this thesis, is the querying of partitioned/dis- tributed graphs. In fact, querying graph datasets proves to be an important task as most of the real-life datasets are represented by networks of labeled entities. In this context, we study the problem of ”aggregated graph search” that aims to answer queries on several graph fragments, and has the task to build a coherent final answer such that it forms an ”approximate matching” to the initial query. We proposed a new method for ”aggregated graph search”, and we studied its performances theoretically and experimentally on different real word graph datasets. Key words: Balanced graph partitioning, Streaming partitioning, Streaming heuristics, Graph querying, Graph matching, Graph similarity metric, Aggregated search. iii R´esum´e Avec l’av`enement du ”big data”, de nombreuses r´epercussions ont eu lieu dans tous les domaines de la technologie de l’information, pr´econisant des solutions innovantes rem- portant le meilleur compromis entre coˆuts et pr´ecision. En th´eorie des graphes, o`ules graphes constituent un support de mod´elisation puissant qui permet de formaliser des probl`emes allant des plus simples aux plus complexes, la recherche pour des probl`emes NP-complet ou NP-difficil se tourne plutˆot vers des solutions approch´ees, mettant ainsi en avant les algorithmes d’approximation et les heuristiques alors que les solutions ex- actes deviennent extrˆemement coˆuteuses et impossible d’utilisation. Nous abordons dans cette th`ese deux probl´ematiques principales: dans un premier temps, le probl`eme du partitionnement des graphes est abord´e d’une perspective ”big data”, o`u les graphes massifs sont partitionn´es en streaming. En effet, le partitionnement de graphe est une tˆache cruciale et importante lors de la mise en place des graphes de donn´ees distribu´ees, pour la principale raison est qu’un bon partitionnement permet d’acc´elerer les calculs sur ces graphes de donn´ees distribu´ees. Dans ce contexte, nous ´etudions et proposons plusieurs mod`eles et heuristiques de partitionnement en streaming et nous ´evaluons leurs performances autant sur le plan th´eorique qu’empirique. Dans un second temps, nous nous int´eressons au requˆetage des graphes distribu´es ou par- titionn´es. En effet, une grande majorit´ededonn´ees est mod´elis´ee sous formes d’entit´es ´etiquet´ees et interconnect´ees, ce qui fait du requˆetage des graphes distribu´es une tˆache importante dans une large liste d’applications. Dans ce cadre, nous ´etudions la probl´ematique de la ”recherche agr´egative dans les graphes” qui a pour but de r´epondre `adesrequˆetes interrogeant plusieurs fragments de graphes et qui se charge de la reconstruction de la r´eponse finale tel que l’on obtient un ”matching approch´e” avec la requˆete initiale. Mots cl´es: Requˆete de graphes, Matching de graphes, Mesure de similarit´edansles graphes, Recherche agr´egative dans les graphes, Partitionnement des graphes, Partition- nement en streaming, Heuristiques de streaming, Partitionnement ´equilibr´e des graphes. iv Contents Remerciements ii Abstract iii R´esum´e iv List of Figures ix List of Tables xi 1 Introduction 1 1.1 Scope of the thesis and contributions ..................... 2 I Massive Graph Partitioning 4 2 Graph Partitioning Problem 6 2.1 Graph Partitioning: Problem Definition and Application .......... 6 2.1.1 Notations ................................ 6 2.1.2 Problem Definition ........................... 7 2.1.2.1 Balanced & Unbalanced Graph Partitioning ....... 7 2.1.2.2 Hardness Results and Approximation ........... 8 2.1.3 Hypergraph Partitioning ........................ 8 2.1.4 Graph Partitioning Applications ................... 9 2.1.4.1 Parallel Processing ...................... 10 2.1.4.2 Complex networks ...................... 10 2.1.4.3 Road networks ........................ 11 2.1.4.4 Image Segmentation ..................... 11 2.1.4.5 VLSI Physical Design .................... 11 2.2 Offline Partitioning ............................... 12 2.2.1 Spectral Partitioning .......................... 12 2.2.2 Multilevel Partitioning ......................... 14 2.2.2.1 Coarsening phase ...................... 15 2.2.2.2 Partitioning phase ...................... 17 2.2.2.3 Uncoarsening and refinement phase ............ 18 2.2.3 Geometric Partitioning ......................... 19 2.2.3.1 Geometric partitioning: Linear Embedding based Graph Partitioning ......................... 20 2.3 Online Partitioning: Streaming Graph Partitioning ............. 21 v Contents vi 2.3.1 Problem Setting & Definition ..................... 21 2.3.1.1 Streaming Model ....................... 21 2.3.1.2 Problem Definition ...................... 23 2.3.2 One Pass Streaming Partitioning ................... 23 2.3.2.1 Linear Deterministic Greedy heuristic ........... 24 2.3.2.2 FENNEL heuristic ...................... 24 2.3.2.3 Fractional Greedy heuristic ................. 25 2.3.3 Restreaming Partitioning ....................... 25 2.3.3.1 Restreaming the one-pass streaming partitioning heurtis- tics .............................. 26 2.4 Chapter Summary ............................... 27 3 Fractional Greedy Heuristic & Partial Restreaming Partitioning 28 3.1 Fractional Greedy: a proposed streaming partitioning heuristic for large graphs .....................................