Parallel and distributed algorithms for pattern matching in big graphs
Algorithmes parallèles et distribués pour le matching dans les grands graphes
Résumé
Graph Pattern Matching (GPM), usually evaluated through subgraph isomorphism, finds subgraphs of a large data graph that are similar to an input query graph. It has many applications, such as pattern recognition and finding communities in social networks. However, besides its NP-completeness, the strict constraints of subgraph isomorphism are making it impractical for GPM in the context of big data. As a result, relaxed GPM models emerged such as graph simulation as they yield interesting results in polynomial time. Moreover, massive graphs generated by mostly social networks require distributed storing and processing of the data over multiple machines. Therefore, the existing algorithms for relaxed GPM need to be revised to this context by adopting new paradigms for big graph processing, e.g. Think-Like-A-Vertex and its derivatives. In this thesis, we investigate the use of distributed graph processing paradigms and systems in the evaluation of GPM queries. Our goal is to identify the programming models that are best suited for this problem. Furthermore, we study the existing GPM approaches, with more emphasis on the relaxed ones in the aim of proposing new parallel and distributed algorithms for relaxed GPM that guarantee linear scalability. Our contributions are summarized as follows. First, we propose a taxonomy of prior work on distributed GPM based on multiple criteria such as the GPM model and the programming paradigm. Next, we introduce BDSim as a new model that captures more semantic similarities compared to the existing models while being feasible in cubic time. Besides, we design distributed vertex-centric algorithms that are adapted to the context of massive graphs for evaluating BDSim. Furthermore, we propose the first fully distributed and scalable approach for strong simulation, a relaxed GPM model that strikes a balance between flexibility and tractability. Finally, we propose the first efficient parallel edge-centric approach for evaluating graph simulation and dual simulation in distributed graphs. We validate the effectiveness and efficiency of our approaches through theoretical guarantees and reliable testing over synthetic and real-world graphs. We confirmed in this thesis that different paradigms can be used in designing distributed GPM algorithms depending on the GPM model adopted. Indeed, algorithms for neighborhood-based models such as subgraph isomorphism and strong simulation perform better with a vertex-centric or subgraph-centric paradigm as the latter involves some data locality, while the most efficient algorithms for graph simulation and dual simulation are edge-based and offer linear scalability guarantees.
L’appariement des sous-graphes (ASG) est un problème classique, souvent modélisé à l’aide de l’isomorphisme de sous-graphes. Il est utilisé dans différents domaines d’application tels que la reconnaissance de motifs et la détection de communautés dans les réseaux sociaux. Néanmoins, en plus du fait qu’il soit NP-Complet, l’isomorphisme de sous-graphes s’avère très strict pour l’ASG dans le contexte actuel des grands graphes. Par conséquence, de nouveaux modèles d’ASG relaxé ont apparu comme la Graph Simulation, permettant d’avoir des résultats intéressants dans un temps polynomial. De plus, les graphes massifs qui sont issus des réseaux sociaux nécessitent un stockage et un traitement distribués sur plusieurs machines, d’où la nécessité de revisiter les algorithmes d’ASG relaxé en adoptant de nouveaux paradigmes, dédiés au traitement des grands graphes, notamment le Think-Like-A-Vertex et ses variantes. Dans cette thèse, nous étudions l’intérêt des systèmes et paradigmes distribués de traitement des grands graphes dans l’évaluation des requêtes d’ASG. L’objectif est d'identifier les modèles de programmation qui sont les mieux adaptés pour ce problème. Par ailleurs, nous visons à proposer de nouveaux algorithmes d’ASG qui sont parallèles, distribués et offrant une scalabilité linéaire. Nos contributions se résument en quatre points : (1) nous proposons une nouvelle classification des approches distribuées d’ASG, en nous basant sur plusieurs critères tels que le modèle d’ASG et le paradigme de programmation, (2) nous introduisons le nouveau modèle d’ASG relaxé BDSim qui permet de mieux capturer les similarités entre les graphes, tout en ayant une complexité cubique. En plus, nous proposons des algorithmes distribués centré sommet pour l’évaluation de BDSim sur des grands graphes, (3) nous développons le premier algorithme scalable et complètement distribué pour évaluer Strong Simulation, un modèle d’ASG relaxé offrant un compromis entre la flexibilité et la faisabilité, (4) enfin, nous proposons la première approche parallèle et centrée arêtes pour évaluer Graph Simulation et Dual Simulation dans les graphes massifs et distribués. Nous validons les différents algorithmes proposés théoriquement et expérimentalement sur des graphes massifs synthétiques et réels. A travers ce travail de recherche, nous avons confirmé que différents modèles de programmation peuvent être utilisés pour la conception d'algorithmes d'ASG et cela dépend du modèle d'ASG adopté. Effectivement, l'isomorphisme de sous-graphes et Strong Simulation sont des modèles basés sur la localité et le voisinage à plusieurs sauts, ce qui nécessite un paradigme centré sommet ou encore centré sous-graphe. En revanche, les algorithmes les plus efficaces pour évaluer graph simulation et dual simulation effectuent des traitements centrés arêtes et garantissent une scalabilité linéaire.
Origine | Version validée par le jury (STAR) |
---|