Abstract
We present an approximation algorithm for detecting the number of cycles in an undirected graph, using CUDA (Compute Unified Device Architecture) technology from NVIDIA and utilizing the massively parallel multi-threaded processor; GPU (Graphics Processing Unit). Although the cycle detection is an NP-complete problem, this work reduces the execution time and the consumption of hardware resources with only a commodity GPU, such that the algorithm makes a substantial difference compared to the serial counterpart. The idea is to convert the cycle detection from adjacency matrix/list view of the graph, applying DFS (Depth First Search) to a mathematical model so that each thread in the GPU will execute a simple computation procedures and a finite number of loops in a polynomial time. The algorithm is composed of two phases, the first phase is to create a unique number of combinations of the cycle length using combinatorial mathematics. The second phase is to approximate the number of swaps (permutations) for each thread to check the possibility of cycle. An experiment was conducted to compare the results of our algorithm with the results of another algorithm based on the Donald Johnson backtracking algorithm.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Shirazi, S.A.J.: Social networking: Orkut, facebook, and gather Blogcritics (2006)
Safar, M., Ghaith, H.B.: Friends network. In: IADIS International Conference WWW/Internet, Murcia, Spain (2006)
Fiske, A.P.: Human sociality. International Society for the Study of Personal Relationships Bulletin 14(2), 4–9 (1998)
Boykin, P., Roychowdhury, V.: Leveraging social networks to fight spam. Computer 38(4), 61–68 (2005)
Xu, J., Chen, H.: Criminal network analysis and visualization. Communications of the ACM 48(6), 100–107 (2005)
Bagchi, A., Bandyopadhyay, A., Mitra, K.: Design of a data model for social network applications. Journal of Database Management (2006)
Bhanu, C., Mitra, S., Bagchi, A., Bandyopadhyay, A.K., Teja: Pre-processing and path normalization of web graph used as a social network. Communicated to the Special Issue on Web Information Retrieval of JDIM (2006)
Mitra, S., Bagchi, A., Bandyopadhyay, A.: Complex queries on web graph representing a social network. In: 1st International Conference on Digital Information Management, Bangalore (2006)
Wang, B., Tang, H., Guo, C., Xiu, Z.: Entropy optimization of scale-free networks’ robustness to random failures. Physica A 363(2), 591–596 (2005)
Costa, L.d.F., Rodrigues, F.A., Travieso, G., Villas Boas, P.R.: Characterization of complex networks: A survey of measurements (2006)
Albert, R., Barabasi, A.-L.: Statistical mechanics of complex networks. Reviews of Modern Physics 74 (2002)
Mahdi, K., Safar, M., Sorkhoh, I.: Entropy of robust social networks. In: IADIS International Conference e-Society, Algarve, Portugal (2008)
Mahdi, K.A., Safar, M., Sorkhoh, I., Kassem, A.: Cycle-based versus degree-based classification of social networks. Journal of Digital Information Management 7(6) (2009)
Scott, J.: Social Network Analysis: A Handbook. Sage Publication Ltd., Thousand Oaks (2000)
Mahdi, K., Farahat, H., Safar, M.: Temporal Evolution of Social Networks in Paltalk. In: Proceedings of the 10th International Conference on Information Integration and Web-based Applications & Services, iiWAS (2008)
Marinari, E., Semerjian, G.: On the number of circuits in random graphs. Journal of Statistical Mechanics: Theory and Experiment (2006)
Tarjan, R.: Enumaration of the Elementary Circuits of a Directed Graph, Technical Report: TR72-145, Cornell University Ithaca, NY, USA (1972)
Liu, H., Wang, J.: A new way to enumerate cycles in a graph. In: International Conference on Internet and Web Applications and Services (2006)
Safar, M., Alenzi, K., Albehairy, S.: Counting cycles in an undirected graph using DFS-XOR algorithm, Network Digital Technologies. In: First International Conference on, NDT 2009 (2009)
Safar, M., Mahdi, K., Sorkhoh, I.: Maximum entropy of fully connected social network. In: The International Conference on Web Communities (2008)
Halfhill, T.R.: Parallel Processing With Cuda Nvidia’s High-Performance Computing Platform Uses Massive Multithreading ,Microprocessors Report (January 2008), www.MPROnline.com
Che, S., Boyer, M., Meng, J., Tarjan, D., Sheaffer, J.W., Skadron, K.: A Performance Study of General-Purpose Applications on Graphics Processors Using CUDA. The Journal of Parallel and Distributed Computing
Harish, P., Narayanan, P.J.: Accelerating large graph algorithms on the GPU using CUDA. In: Aluru, S., Parashar, M., Badrinath, R., Prasanna, V.K. (eds.) HiPC 2007. LNCS, vol. 4873, pp. 197–208. Springer, Heidelberg (2007)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Mahdi, F., Safar, M., Mahdi, K. (2011). Detecting Cycles in Graphs Using Parallel Capabilities of GPU. In: Cherifi, H., Zain, J.M., El-Qawasmeh, E. (eds) Digital Information and Communication Technology and Its Applications. DICTAP 2011. Communications in Computer and Information Science, vol 167. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-22027-2_17
Download citation
DOI: https://doi.org/10.1007/978-3-642-22027-2_17
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-22026-5
Online ISBN: 978-3-642-22027-2
eBook Packages: Computer ScienceComputer Science (R0)