The world today is one with complex networks, where all things, including people and objects, are interconnected and their connections are becoming more and more complicated and diversified. Since many practical problems can be modeled as graphs, with graph technologies like traditional graph mining, graph representation learning and graph neural network, rich information can be mined from massive relational structure data , which mitigates the lack of single point analysis and ultimately bring great benefits in financial payment, security risk control, advertisement recommendation and many other business scenarios.
Angel graph tasks full advantages of Angel parameter server, spark and pytorch, which provides multiple graph technologies like traditional graph computing, graph representation learning and graph neural networks. Its nice implementation makes it a large-scale distributed framework for graph computing, with high performance, inherent reliability and easy usability.
Angel graph has the following core capabilities:
As shown in the figure below, Angel graph framework employs Spark and Pytorch with the lower layer as spark workers and the upper layer as the Angel parameter server.
The module of Spark on Angel in the framework serves as a flexible parameter server in a plug-in way embeded into the native spark, which provides high-efficiency services for data storing, updating and sharing on spark, so it fits well in a framework of distributed graph computing. At the same time, since Spark on Angel uses the native spark interface, developing algorithms on the framework can take full advantage of Spark's capabilities.
In order to apply this graph computing framework easily, we have implemented several common graph algorithms, which have been fully tested in the internal business scenarios in Tencent and have proved their efficiency and correctness, so users can get started without too much concerns。
Algorithm | Algorithm Type | Algorithm Description |
---|---|---|
PageRank | Node importance | Classical graph algorithm |
Hindex | Node importance | Mixed quantitative index, refer to h index |
Kcore | Node importance | Extract the key substructures in network |
Louvain | Community Detection | Community division by optimizing the modularity index |
Closeness | Node Centrality | Measure the centrality of vertices |
CommonFriends | Intimacy calculation | Compute common friends number |
TriangleCountingUndirected | calculate node's triangle number | Calculate node's triangle number |
LPA | Label propagation | A community discovery or propagation algorithm |
ConnectedComponents | Weak connected components | Mining weak connected components of Graphs |
LINE | Graph Embedding | Use the first and second order neighbor information when train representation |
Word2Vec | Graph Embedding | A classical representation learning algorithm |
GraphSage | Graph Neural Network | Representation learning by aggregating the features of node neighbors |
GCN | Graph Neural Network | Similar to CNN operation and apply the algorithm to non Euclidean space |
DGI | Graph Neural Network | Apply DIM to complex network |
We compare the performance between graphx and angel graph in two real datasets. The first dataset DS1 contains 0.8 billion vertices and 11 billion edges. The second dataset DS2 contains 2 billion vertices and 140 billion edges. Performance comparison on traditional graph algorithms:
The detailed introduction to Angel graph, please refer to this paper PSGraph: How Tencent trains extremely large-scale graphs with Spark?
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )