A GPU Based Fast Community Detection Implementation for Social ...

6 downloads 38861 Views 2MB Size Report
Mar 21, 2017 - Community is usually referred as a group of nodes in social network. ... parallel computing makes GPU good at floating point calculation ...
A GPU Based Fast Community Detection Implementation for Social Network Guo Li1 , Dafang Zhang1(B) , Kun Xie1 , Tanlong Huang1,2 , and Yanbiao Li1 1

College of Computer Science and Electronic Engineering, Hunan University, Changsha 410082, China {liguo,dfzhang,xiekun,lybmath cs}@hnu.edu.cn 2 PLA 95874, Nanjing 210016, China [email protected]

Abstract. Community structure represents a group of nodes which have similar characteristics in social network, so community detection is an important and popular work. However, community detection algorithms face the problem of low efficiency, due to complicated community definition and large amount of calculation. In order to implement efficient community detecting, we design Inner Outer Ratio (IOR) community metric, and propose Neighbor Compare Bidirectional Iteration (NCBI) detecting algorithm on GPU platform. IOR metirc uses (InnerEdges/InnerNodes)/(OuterEdges/OuterNodes) ratio for community structure definition. IOR metric only needs local network information and has a balanced consideration on both edges and nodes, and it is suit for high-performance parallel computing on GPU. NCBI algorithm adopts quick initialization mechanism through neighbor comparison, and uses bidirectional iteration to detect most probable communities based on IOR metric. To certify our community metric, we compare with traditional metrics including modularity and normal conductance. Experiment results show IOR metric is accuracy and works well in parallel computing, NCBI detecting algorithm is faster based on GPU accelerating platform. Keywords: GPU · Community metric network · Parallel computing

1

· Community detection · Social

Introduction

Community is usually referred as a group of nodes in social network. The nodes in the group have strong connections while nodes between groups have weak connections [1]. Community detection has been widely used in social networks, such as advertisement and recommendation [1–5]. It attracts more and more interest recently [6–10]. Community detection is generally a NP-Hard problem, which confirmed in [11–15]. Traditional community metrics are complicated, it’s difficult to guarantee the community detection efficiency, and hard to expand to parallel distributed computing. c Springer International Publishing Switzerland 2015  G. Wang et al. (Eds.): ICA3PP 2015, Part I, LNCS 9528, pp. 688–701, 2015. DOI: 10.1007/978-3-319-27119-4 48

A GPU Based Fast Community Detection Implementation

689

Therefore, designing an appropriate community metric to fit for parallel and distributed computing platform is critical. GPU (graphics processing units) achieves great success in high-performance computing at many scientific research fields, such as gene engineering, data mining et al. Dedicating more resources on parallel computing makes GPU good at floating point calculation compared to CPU, especially on large scale data. To realize full potential of GPU hardware, needing parallelization data. However, it is not easy to do for the traditional community definition, because the degree of data dependency is high. In order to overcome above problems and improve community detection efficient, we need to design a community metric, which should be a precise definition to fit for task decomposition and data parallelization, and can be applied to detection algorithm for parallel distributed computing. The challenges are converting data requirement from global information to local information, and transforming computation algorithm from serial to parallel. This paper proposes a novel Inner Outer Ratio (IOR) metric to measure community structure with local network information, making less dependence between the data. In addition, IOR Metric has a balanced consideration on both edges and nodes which can improve measurement accuracy. Based on IOR metric, we propose neighbor compare bidirectional iteration (NCBI) detecting algorithm which utilizes both partition and aggregation methods to improve the search coverage concurrently. Meanwhile, adding a quick initialization mechanism through neighbor comparison, which makes detecting communities faster. The contributions of this paper can be summarized as follows: – We propose an accurate and practical Inner Outer Ratio Metric to give a quantification definition on community structure. Depending on only local information and considering network element in equilibrium, IOR metric calculation is lightweight and fits for GPU platform with parallel data. – Based on IOR metric, we propose Neighbor Compare Bidirectional Iteration detecting algorithm to detect the communities in a network. The NCBI detecting algorithm obtains both the advantages of partition and aggregation for community detection, and can expand to high-performance GPU hardware platform. Therefore, it can detect communities quickly. – We have carried out theoretical comparison and experimental verification to evaluate the performance of proposed metric and algorithm. The results show IOR metric is accuracy and practicability, NCBI algorithm is efficiency. The rest of this paper is organized as follows. Section 2 presents related work of community metrics and detection algorithms, Sect. 3 gives problem statement in community metric. Our community metric is proposed in Sect. 4, Sect. 5 puts forward our detection algorithm. In Sect. 6, we conduct experiments and analyze the results. The paper is concluded in Sect. 7.

2 2.1

Related Work Community Metrics and Detection Algorithms

Edge betweenness is a community metric proposed by Girvan and Newman [1]. Modularity community metric is adopted by Thang and Nam, et al. [2,11].

690

G. Li et al.

Modularity metric is most widely accepted in real social networks. Conductance is already a widely adopted metric in quantifying the goodness of a community structure, but it is biased towards large communities. Consequently, Bimal and Alan, et al. [16,17] propose normalized conductance. Traditional community detection algorithms are mainly based on above metrics. The community detection algorithms use segmentation or aggregation methods to detect community. For example, the QCA (Quick Community Adaptation) algorithm [2] based on modularity is from a previous known structure, updates the network communities along with inserting nodes adaptively. The community detection algorithm based on normalized conductance [17] selects seed node first of all, and then adding neighboring nodes greedily, until a sufficient strong community is found. In summary, the algorithms in [1] are remove edges with a certain feature iteratively, the approaches in [3,12,16–18] are similar to greedy adding, the algorithms in [2,11] use dynamic mechanism to add or remove community element. They are all one-way iteration. 2.2

Community Detection Based on GPU in Social Network

Recently, GPU is applying to community detection and social network due to the high-performance parallel computing ability. In the processing flow on GPU, there has three important steps. Step 1, instructions transfer from main processor CPU to co-processor GPU, data transfer from host (CPU Memory) to device (GPU memory). Step 2, GPU launch a mass of threads for parallel computing. Step 3, the compute result will return back to host. The reason to transfer data between host and device is that GPU threads can not access host memory directly in generally, GPU only can operate its own memory due to the limitation of hardware [19]. [20] shown GPU has promising potential in accelerating computation on social network, due to its parallel processing capacity and ample memory bandwidth, GPU is able to scale up to large-scale social networks. [21] proposed hierarchical parallel algorithm on single-GPU and multi-GPU architectures and used modularity to measure community quality. [22] used GPU for high-performance computing in large-scale social network with data from Stanford Network Analysis Project. [23,24] improved the compute speed in GPU platform more than twice compared to CPU platform, their community detection algorithms both are based on Newman algorithm. [25] used modularity metric to detect communities based on GPU. [26] designed a novel parallel community detection algorithm based on weighted label propagation in GPU platform, and used modularity to measure community quality. In Summary, GPU can speed up significantly on social network computing. However, traditional community metrics and algorithms are transferred from serial method, lack the parallelism in data and algorithm structure, which can not develop full potential on GPU platform.

A GPU Based Fast Community Detection Implementation

3

691

Problem Statement

The existing community definitions are still ambiguous by adopting ‘more’, ‘denser’ and so on words. This brings a challenge problem, how to give a quantitative definition on community structure. To resolve this issue, community metric must be figured out firstly. There are three traditional metrics to identify community: betweenness, modularity, and conductance [1,2,17]. (1) Edge betweenness metric [1]. The definition of edge betweenness is the number of shortest paths between pairs of vertices that run along the edge. There are several disadvantages. First, need global network information. Second, community metric is an indirect and complicated evaluation criteria. Third, the applied range is limited in the network where information flow follows the shortest available path. (2) Modularity metric [2,11]. Modularity is defined as Formula 1. Q=

 mc d2 ( − c2) M 4M C∈c

(1)

mc is the numbers of edges inside community, M is the total edges in network, dc is the total degree of the nodes in community, the degree of a node is the number of edges connected to the node. This metric has some disadvantages. First, need an initial community structure. Second, community metric is non-locality and resolution limit. (3) Conductance metric [16,17]. The definition of conductance metric is let G = (V, E) denotes a network, V represents node and E indicates edge, A ∈ V and A is a subset of the vertices that form a community, and let B = V - A. Then defines eAB is the number of edges between A and B, eAA is the number of edges with in A, as shown in Fig. 1(a).

Fig. 1. Demo networks

692

G. Li et al.

The traditional conductance is eAA /eAB , but if all vertices are in a single community, the result would be 0. Hence, improved normalized conductance metric has proposed, as Formula 2, eA = eAA + eBB , eB = eBB + eAB . C=

eAA eA eA − eAA + eAB eA eA + eA eB

(2)

This metric has some deficiencies. First, still the non-locality problem. Second, the normalized conductance metric focused on edges in networks and ignored nodes. In summary, current mainstream community metrics exist two primary issues. Firstly, needing global information of network seems inevitable. Secondly, considering both edges and nodes scarcely in the same extent. For instance, let’s construct a community to compare different metrics, as shown in Fig. 1(b). Obviously, node A, B, C and D compose a community which inside connections are denser than outside. Edge betweenness is an indirect metric, so we take modularity and normalized conductance to measure. According to formula 1, the result Q value is -0.016. According to formula 2, the result C value is -0.06. However, if result is not positive, neither modularity metric nor normalized conductance metric indicates a community structure. Strangely, back to the network in Fig. 1(a) which community is (1, 2, 3, 4, 5) distinctly, the result Q is 0.16 and C is 0.13, both are positive and represent community structure normally. There is no doubt that exist a question why modularity and normalized conductance metric work in network from Fig. 1(a), but failure in network from Fig. 1(b). The answer is these metrics place biased emphasis on edges, when the number of edges inside community is less than the number of community neighbor edges in the network, there exist mistake. That’s the weakness of nonlocality too. We can add irrelevant edges to the network arbitrarily, which has no effect on community, but could hit the community metric value, because the calculation need the number of edges in whole networks. In addition, GPU memory has hierarchy memory architecture, independent data have advantages in parallel computing. Therefore, our key work is to design a novel metric which don’t need global network information, and have a balanced consideration on both edges and nodes. Meanwhile, ensuring the community metric to fit for efficient parallel detection algorithm on GPU. Our work should figure out the inaccuracy problem in existing metrics, and improve community detection effectiveness.

4

IOR Community Metric

We propose Inner Outer Ratio (IOR) community metric, instead of trying to construct an optimized method based on previous metric. We focus on the requirement of local information, independent data, balance between edges and nodes, much of attention in our metric will be devoted to the property of parallel and distributed computing.

A GPU Based Fast Community Detection Implementation

693

Fig. 2. Inner Outer Ratio community metric

In order to avoid the disadvantages of global information requirement, we introduce adjacency network to replace global network. We define four keywords: Def inition 1 (InnerN odes): Nodes in community. Def inition 2 (OuterN odes): Neighbor nodes of community. Def inition 3 (InnerEdges): Edges with two endpoints in community. Def inition 4 (OuterEdges): Edges with exactly only one endpoint in community. The adjacency network is composed of InnerNodes, OuterNodes, InnerEdges and OuterEdges, it contains a community with neighbor nodes and edges. Such treatments can narrow down the scope form global network to local adjacency network effectively. Next, we consider the equilibrium between nodes and edges. We define three ratio notions: Def inition 5 (InnerRatio): InnerEdges/InnerNodes. Def inition 6 (OuterRatio): OuterEdges/OuterNodes. Def inition 7 (InnerOuterRatio): InnerRatio/OuterRatio. IOR = (InnerEdges/InnerN odes) / (OuterEdges/OuterN odes)

(3)

The IOR value compute formula is Formula 3. There are several design points of IOR community metric: P oint 1: InnerNodes must be more than 4, because too few nodes can’t constitute community. Only if the nodes number is equal or greater than 4, the InnerEdges number is bigger than InnerNodes number. P oint 2: OuterNodes couldn’t be 0, otherwise it means the community is the network. P oint 3: InnerEdges must be greater than 0, or it demonstrates no connections in the community. P oint 4: OuterEdges must be greater than 0, as OuterNodes could not be 0 and greater than or equal 1, the definition of OuterEdges suggests that if exists one outer node, there must at least exists one edge. Accordingly, we arrange OuterNodes as the denominator, to prevent special circumstance that the community becomes whole network. Finally, the Inner

694

G. Li et al.

Outer Ratio must be greater than 0, on account of InnerRatio and OuterRatio both are positive. In practical community detection, community has a limited number of sizes, and the community detection scale should be adjustable, so we give definition 8 and 9 to control community detecting scale. Def inition 8 (M inCommunityScale): The minimum nodes number in a community. Def inition 9 (M axCommunityScale): The maximum nodes number in a community. The M inCommunityScale should be equal or greater than 4. Obviously, the M axCommunityScale should be less than network nodes number. Setting a reasonable community scale can increase detection speed. T heorem 1: Suppose C is the combination of nodes and edges structure, if Inner Outer Ratio of the structure is equal or more than 1, C is community structure, and the more the better. P roof : When Inner Outer Ratio >= 1, it means InnerRatio > OuterRatio, which indicates a tighter connection inside community than the outside. Much more, the IOR value is the bigger the better, which depicts a powerful community structure with more connections inside. Through the simple ratio formula, we combine general community definition and mathematical formula together delicately. Judging from compute process of IOR, our community metric is practical and suits for parallel computing, therefore can make full use of GPU performance.

5

NCBI Community Detection Algorithms

We propose Neighbor Compare Bidirectional Iteration (NCBI) Algorithm, it has two design points. First, comparing neighbor nodes number before detecting community. Second, detecting directions contain both add and remove. Through neighbor compare initialization, we detect most probable communities at the beginning instead of random search. Through bidirectional iterative, we improve accurate and search range compared to one-way iterative. In fact, the most accurate detecting algorithm is not the iterative search, but the complete search based combination, which can cover all situations. However, nodes combination amount can be very huge even the number of nodes is not much. The community detecting algorithm based on combination is to list all nodes combination exhaustively. For instance, conducting a combination of 50 50 = 1.00891E + 29, while a 64-bit nodes from 100 nodes, the number is C100 unsigned integer only reaches 1.84467E +19, the exponent 29 is far outnumbered by exponent 19. The reality makes us to seek a more practical algorithm [27,28]. As a complete search algorithm, detecting algorithm based on combination can avoid NP hard problem, but will occupy huge memory and need tremendous computing power that we can not afford, and the time complexity is O(n!). Therefore, we have to use incomplete search algorithm, that is iterative search algorithm.

A GPU Based Fast Community Detection Implementation

695

Fig. 3. NCBI algorithm

Most iterative search algorithms have a direction, search in increasing or decreasing. We find that the two directions can combine in social network community detecting, which can bring a more wider search range, we call it bidirectional iteration, as shown in Fig. 3(a). Bidirectional iteration based on neighbor comparison initialization can replace the former one-way iteration and suit for parallel computing. Compared to detection algorithm based on combination, the time complexity drops to O(nlog(n)), and NCBI also suits for parallel computing on GPU. As shown in Algorithm 1, The initialization sorts all nodes in network by their neighbor nodes amount from most to least, then constructs a set of structures, each structure contains the node and its neighbor nodes. Afterwards, conducting bidirectional iteration search. One way is iterative adding the neighbor node, the other way is iterative removing the inner node, as depicted in Fig. 3(b). It is important to be aware of the differences between serial and parallel thinking when programming on GPU hardware platform. In parallel computing, every thread has its own data space, and can access simultaneously, so allocating memory is important unlike serial computing.

6

Experiment

In this section, we validate NCBI community detection algorithms based on IOR Metric in CPU and GPU platform. Our data sets consists of two parts, one is test data for accuracy validation, coming from our demo networks Fig. 1(a) and (b). The other is real community data coming from popular community data sets, ‘dolphin’ data set contains an undirected social network of frequent associations between 62 dolphins [29], ‘karate’ data set contains the network of friendships between the 34 members of a karate club [30], these data sets also used in [1,12]. ‘Adjnoun’ data set contains the network of common adjective and noun adjacencies in the novel ‘David Copperfield’ [31]. The purpose of using real community data is to verify practicability and efficiency of our algorithm.

696

G. Li et al.

Algorithm 1. NCBI algorithm Input: network structure Output: communities 1: //sort all nodes by the number of their neighbor nodes 2: for each node in sorted.nodes do 3: //construct initial structures which include their neighbours; 4: end for 5: //loop: each initial structures 6: for each struct in structures do 7: if(struct is community) 8: add to detected communities; 9: //iterative: generate new structures from add and remove directions 10: iterativeFunction(communities, structures) { 11: if(newstructures == 0) 12: return; 13: for each node in neighbour nodes do 14: add a neighbour node to generate a new structure; 15: end for 16: for each node in inner nodes do 17: remove a node to generate a new structure; 18: end for 19: } 20: refine(structures); //distinct, sort 21: iterativeFunction(communities, structures); 22: end for 23: refine(communities); //distinct, sort

Our evaluating indicators are the accuracy of community metric, the best community detection time and the detected time proportion, the coverage of different algorithms, the computing time between CPU and GPU. Then, we expand experiments with these indicators on different data sets and heterogeneous hardware platform. We compare NCBI with several existed community detection algorithms, including Quick Community Adaptation algorithm based on modularity metric [2,11], and greedy detect algorithm based on normalized conductance metric [16,17]. The results are shown in Table 1. Table 1. The comparison of community metric Figure 1(a) Network Figure 1(b) Network Modularity

0.16

−0.016

Normalized conductance 0.13

−0.06

Inner Outer Ratio

1.5

1.6

A GPU Based Fast Community Detection Implementation

697

Fig. 4. Detected communities

We find out that under the special situation of the inner edges is less than outer edges in the network, the traditional community metrics can not work, while our IOR metric still valid. Besides, our algorithm result is more stable and accurate in community structure. We perform several experiments using three different real-world dataset: dolphins, karate and adjnoun. Figure 4(a), (c) and (e) are the relations of nodes and edges in the community structure. The community detection experiment results are the best communities, which IOR value is highest, as shown in Fig. 4(b), (d) and (f), marked with bold lines. The corresponding performance experiments are as follows: First, we validate the advantage of neighbor comparison initialization. In Fig. 5(a), the left column represents initialization by sorting the amount of neighbor nodes, and the right column stands for initialization randomly. From the results, we notice that neighbor comparison initialization can find the best community earlier. Second, we compare the proportion of the best community detect time in the total time. The results are shown in Fig. 5(b), the series ‘NCBI’ stands for our algorithm, the series ‘IA’ represents iterative add algorithm, and the series ‘IR’ indicates iterative remove algorithm. The experiments show NCBI algorithm achieves a better performance than the two traditional algorithms. Third, we verify the advantage of NCBI algorithm compared to segmentation or aggregation algorithms, to validate our algorithm whether has a wider search range. The bidirectional iteration algorithm combines the removing edges algorithm and adding nodes algorithm, so it can coverage more range compared to a single search direction. A wider range can increase the prospects of getting a better community, the results are shown in Fig. 5(c). In the three data sets, the proportion of NCBI algorithm is all bigger than IA and IR algorithms. Fourth, we compare the accuracy of our algorithm with traditional single direction iterative algorithms in Fig. 6. There are some points from different algorithms but have the same IOR value, that is normal, because in the same scale, the detected best IOR value is easy to overlap. The experiment results show

698

G. Li et al.

Fig. 5. Comparison experiments

Fig. 6. The comparison of IOR values

NCBI algorithm has a better IOR value, that is because compare to traditional single direction iterative algorithms, our algorithm has a wider coverage. Fifth, we compare computing performance between CPU and GPU platform. In Fig. 7(a), The X-axis is the number of communities for computing, the Yaxis is the computing time. We find that in large-scale computing of 50,000 communities, the performance improvement is noticeable based on GPU. In Fig. 7(b), we compare the memory copy time and computing time during GPU internal processing. The X-axis and Y-axis are the same as Fig. 7(a), the column data can divide into three sections, section ‘h2d’ represents the time

A GPU Based Fast Community Detection Implementation

699

Fig. 7. GPU experiments

copying data from host memory to device memory, ‘d2h’ is device to host, and ‘kernel’ indicates the parallel executing time of multi-threads. It’s obviously, data copy occupying a major proportion in the total processing time, showing the enormous potential of parallel computing, and data migration between CPU and GPU is worth to optimize in the future. In summary, from the experiments of demo data, we verify the accuracy of IOR metric, from the experiments of real data, we compare the computing speed, computing time proportion, detecting range, and GPU parallel extensible ability, to prove the efficiency and practicability of NCBI algorithm.

7

Conclusion

In this paper, we solve the problem: how to detect community in social network quickly based on GPU parallel computing platform. To achieve the goal, we propose an innovative Inner Outer Ratio metric. IOR metric only needs local information instead of global information, and gives a balanced consideration both on nodes and edges. Moreover, IOR metric is lightweight, which needs less calculation and suits for parallel computing. Afterwards, we design NCBI community defection algorithm based on IOR metric, and implement in high-performance parallel hardware platform GPU for accelerating. The NCBI algorithm has an initialization mechanism to ensure that detecting most probable communities at the beginning, then we combine the advantages of segmentation and aggregation algorithms, by expanding search range to improve detection efficiency. Through experiments, we show that IOR metric has advantages of accuracy and practicability, NCBI algorithm is suits for high-performance parallel GPU computing, which can provide a fast and stable performance. Acknowledgments. This work is supported by the National Science Foundation of China under Grant 61472130, the National Basic Research Program of China (973) under Grant 2012CB315805, the National Science Foundation of China under Grant 61572184, the Prospective Research Project on Future Networks of Jiangsu Future

700

G. Li et al.

Networks Innovation Institute under Grant BY2013095-1-05 and the Hunan Provincial Innovation Foundation For Postgraduate under Grant CX2014B150.

References 1. Girvan, M., Newman, M.E.J.: Community structure in social and biological networks. Proc. Natl. Acad. Sci. 99, 7821–7826 (2002) 2. Nguyen, N.P., Dinh, T.N., Xuan, Y., Thai, M.T.: Adaptive algorithms for detecting community structure in dynamic social networks. In: Proceedings of IEEE INFOCOM, pp. 2282–2290 (2011) 3. Wu, J., Xiao, M., Huang, L.: Homing spread: community home-based multi-copy routing in mobile social networks. In: Proceedings of IEEE INFOCOM, pp. 2319– 2327 (2013) 4. Wang, Y., Wu, J., Xiao, M., Zhang, D.: Heterogeneous community-based routing in opportunistic mobile social networks. In: 2014 IEEE 11th International Conference on Mobile Ad Hoc and Sensor Systems (MASS), pp. 600–605 (2014) 5. Zhang, D., Zhang, D., Xiong, H., Hsu, C.H., Vasilakos, A.V.: Basa: building mobile ad-hoc social networks on top of android. IEEE Netw. 28(1), 4–9 (2014) 6. Nascimento, M.C.: Community detection in networks via a spectral heuristic based on the clustering coefficient. Discrete Appl. Math. 176, 89–99 (2014) 7. Wu, Z., Zou, M.: An incremental community detection method for social tagging systems using locality-sensitive hashing. Neural Netw. 58, 14–28 (2014) 8. Liu, R., Feng, S., Shi, R., Guo, W.: Weighted graph clustering for community detection of large social networks. Procedia Comput. Sci. 31, 85–94 (2014) 9. Navakas, R., Dziugys, A., Peters, B.: A community-detection based approach to identification of inhomogeneities in granular matter. Phys. A Stat. Mech. Appl. 407, 312–331 (2014) 10. Zhang, D., Hsu, C.H., Chen, M., Chen, Q., Xiong, N., Lloret, J.: Cold-start recommendation using bi-clustering and fusion for large-scale social recommender systems. IEEE Trans. Emerg. Top. Comput. 2(2), 239–250 (2014) 11. Dinh, T.N., Nguyen, N.P., Thai, M.T.: An adaptive approximation algorithm for community detection in dynamic scale-free networks. In: Proceedings of IEEE INFOCOM, pp. 55–59 (2013) 12. Chang, C.S., Hsu, C.Y., Cheng, J., Lee, D.S.: A general probabilistic framework for detecting community structure in networks. In: Proceedings of IEEE INFOCOM, pp. 730–738 (2011) 13. Jaho, E., Karaliopoulos, M., Stavrakakis, I.: Iscode: a framework for interest similarity-based community detection in social networks. In: INFOCOM WKSHPS NetSciCom, pp. 912–917 (2011) 14. Olsen, M.: A general view on computing communities. Math. Soc. Sci. 66(3), 331– 336 (2013) 15. Xie, K., Wang, L., Wang, X., Xie, G., Zhang, G., Xie, D., Wen, J.: Sequential and adaptive sampling for matrix completion in network monitoring systems. In: 2015 IEEE Conference on Computer Communications (INFOCOM), pp. 2443– 2451. IEEE (2015) 16. Viswanath, B., Post, A., Gummadi, K.P., Mislove, A.: An analysis of social network-based sybil defenses. In: Proceedings of SIGCOMM (2010) 17. Mislove, A., Viswanath, B., Gummadi, K.P., Druschel, P.: You are who you know: inferring user profiles in online social networks. In: Proceedings of WSDM (2010)

A GPU Based Fast Community Detection Implementation

701

18. Hui, P., Yoneki, E., Chan, S.Y., Crowcroft, J.: Distributed community detection in delay tolerant networks. In: Proceedings of ACM SIGCOMM Workshop MOBIARCH (2007) 19. Wang, Y., Li, C., Tian, Y., Yan, H., Zhao, C., Zhang, J.: A parallel algorithm of Kirchhoff pre-stack depth migration based on GPU. In: Sun, X., Qu, W., Stojmenovic, I., Zhou, W., Li, Z., Guo, H., Min, G., Yang, T., Wu, Y., Liu, L. (eds.) ICA3PP 2014, Part II. LNCS, vol. 8631, pp. 207–218. Springer, Heidelberg (2014) 20. Liu, X., Li, M., Li, S., Peng, S.: IMGPU: GPU-accelerated influence maximization in large-scale social networks. IEEE Trans. Parallel Distrib. Syst. 25(1), 136–145 (2014) 21. Cheong, C.Y., Huynh, H.P., Lo, D., Goh, R.S.M.: Hierarchical parallel algorithm for modularity-based community detection using GPUs. In: Wolf, F., Mohr, B., Mey, D. (eds.) Euro-Par 2013. LNCS, vol. 8097, pp. 775–787. Springer, Heidelberg (2013) 22. Seo, S.W., Kyong, J., Im, E.J.: Social network analysis algorithm on a manycore GPU. In: 2012 Fourth International Conference on Ubiquitous and Future Networks (ICUFN), pp. 217–218 (2012) 23. Yaduan, Z., Gang, L., Ying, Z., Lan, S.: Community mining algorithms for complex network based on GPU parallel computing. Appl. Res. Comput. 30, 2426–2428 (2013) 24. Li, P.: Community structure discovery algorithm on GPU with CUDA. In: 2010 3rd IEEE International Conference on Broadband Network and Multimedia Technology (IC-BNMT), pp. 1136–1139 (2010) 25. Mrzek, M., Blazic, B.J.: Fast network communities visualization on massively parallel gpu architecture. In: 2013 36th International Convention on Information & Communication Technology Electronics & Microelectronics (MIPRO), vol. 264, no. 6, pp. 269–274 (2013) 26. Soman, J., Narang, A.: Fast community detection algorithm with gpus and multicore architectures. In: 2011 IEEE International Parallel & Distributed Processing Symposium (IPDPS), pp. 568–579 (2011) 27. Xie, K., Wang, L., Liu, X.L., Wen, J., Cao, J.: Cooperative routing with relay assignment in multi-radio multi-hop wireless networks. In: 2014 IEEE 22nd International Symposium of Quality of Service (IWQoS), pp. 248–257 (2014) 28. Kun, X., Jiannong, C., Jigang, W.: Distributed load-balancing algorithm for fast tag reading. Int. J. Parallel Emergent Distrib. Syst. 28(5), 434–448 (2013) 29. Lusseau, D., Schneider, K., Boisseau, O.J., Haase, P., Slooten, E., Dawson, S.M.: The bottlenose dolphin community of doubtful sound featuresa large proportion of long-lasting associations. Behav. Ecol. Sociobiol. 54, 396–405 (2003) 30. Zachary, W.W.: An information flow model for conflict and fission in small groups. J. Anthropol. Res. 33, 452–473 (1977) 31. Newman, M.E.J.: Finding community structure in networks using the eigenvectors of matrices. Phys. Rev. E 74(3), 92–100 (2006)

Suggest Documents