Abstract
Many big data applications are usually categorized as irregular. Irregular problems feature unpredictable and unstructured properties in terms of the program flow, data access pattern and typically use pointer-based data structures such as graphs. The problems are data, compute and communication intensive in nature. The algorithms are therefore designed and implemented on high performance architectures. The first stage of the parallel algorithm design is data partitioning. In this stage, the data is sub-divided into equally sized disjoint elements such that the communication volume among the processors is minimized. If the data is represented as a graph, it can be stated as the graph partitioning problem, which is NP-hard. In this work, we consider the meta-heuristic, ant brooding algorithm based on larval sorting by ants to solve the graph partitioning problem. The parallel ant brooding algorithm is implemented on a cluster using MIT’s Julia language. We test the parallel algorithm on different benchmark and synthetic graphs. We compare our Julia parallel implementation with Julia sequential and C sequential implementations. We found that the performance of Julia is comparable to C with good scalability, and the parallel Julia implementation achieves speedup greater than 1 for a synthetic graph with 200 vertices and 1000 edges.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Thulasiraman, P.: Irregular Computations on Fine-grain Multithreaded Architecture. Lambert Publishing Company (2009)
Karypis, G., Kumar, V.: Multilevel k-way partitioning scheme for irregular graphs. J. Parallel Distrib. Comput. 48(1), 96–129 (1998)
Bui, T.N., Moon, B.R.: Genetic algorithm and graph partitioning. IEEE Trans. Comput. 45(7), 841–855 (1996)
Kernighan, W.B., Lin, S.: An efficient heuristic procedure for partitioning graphs. Bell Syst. Tech. J. 49(2), 291–307 (1970)
Pothen, A., Simon, H.D., Liou, K.-P.: Partitioning sparse matrices with eigenvectors of graphs. SIAM J. Matrix Anal. Appl. 11(3), 430–452 (1990)
Hendrickson, B., Kolda, T.G.: Graph partitioning models for parallel computing. Parallel Comput. 26, 1519–1534 (2000)
Kuntz, P., Snyers, D., Layzell, P.: A stochastic heuristic for visualising graph clusters in a bi-dimensional space prior to partitioning. J. Heuristics 5(3), 327–351 (1999)
Bianchi, L., Dorigo, M., Gambardella, L.M., Gutjahr, W.J.: A survey on metaheuristics for stochastic combinatorial optimization. Nat. Comput. Int. J. 8(2), 239–287 (2009)
Tashkova, K., Korošec, P., Šilc, J.: A distributed multilevel ant-colony algorithm for the multi-way graph partitioning. Int. J. Bio-Inspired Comput. 3(5), 286–296 (2011)
Picarougne, F., Azzag, H., Venturini, G., Guinot, C.: A new approach of data clustering using a flock of agents. Evol. Comput. 15(3), 345–367 (2007)
Soper, A.J., Walshaw, C., Cross, M.: A combined evolutionary search and multilevel optimisation approach to graph-partitioning. J. Global Optim. 29(2), 225–241 (2004)
Deneubourg, J.-L., Goss, S., Franks, N., Sendova-Franks, A., Detrain, C., Chrétien, L.: The dynamics of collective sorting robot-like ants and ant-like robots. In: Proceedings of the First International Conference on Simulation of Adaptive Behavior on From Animals to Animats, pp. 356–363 (1991)
Lumer, E.D., Faieta, B.: Diversity, adaptation in populations of clustering ants. In: Proceedings of the Third International Conference on Simulation of Adaptive Behavior: From Animals to Animats 3, pp. 501–508. MIT Press (1994)
Handl, J., Knowles, J., Dorigo, M.: Ant-based clustering: a comparative study of its relative performance with respect to k-means, average link and id-som. In: Proceedings of the Third International Conference on Hybrid Intelligent Systems. IOS Press (2003)
The julia language. http://julialang.org/. Accessed on 05 October 2015
Bezanson, J., Chen, J., Karpinski, S., Shah, V., Edelman, A.: Array operators using multiple dispatch: a design methodology for array implementations in dynamic languages. In: Proceedings of ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming, p. 56. ACM (2014)
Julia package listing. http://pkg.julialang.org/. Accessed on 05 October 2015
Zachary, W.W.: An information flow model for conflict and fission in small groups. J. Anthropol. Res. 33, 452–473 (1977)
Lusseau, D., Schneider, K., Boisseau, O.J., Haase, P., Slooten, E., Dawson, S.M.: The bottlenose dolphin community of doubtful sound features a large proportion of long-lasting associations. Behav. Ecol. Sociobiol. 54(4), 396–405 (2003)
Girvan, M., Newman, M.E.J.: Community structure in social and biological networks. Proc. Nat. Acad. Sci. 99(12), 7821–7826 (2002)
Chakrabarti, D., Zhan, Y., Faloutsos, C.: R-MAT: a recursive model for graph mining. In: SDM, vol. 4, pp. 442–446. SIAM (2004)
Strogatz, H.S.: Exploring complex networks. Nature 410(6825), 268–276 (2001)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Chan, J.J.M., Mao, Y., Liu, Y.Y., Thulasiraman, P., Thulasiram, R.K. (2016). Parallel Ant Brood Graph Partitioning in Julia. In: Wyrzykowski, R., Deelman, E., Dongarra, J., Karczewski, K., Kitowski, J., Wiatr, K. (eds) Parallel Processing and Applied Mathematics. Lecture Notes in Computer Science(), vol 9574. Springer, Cham. https://doi.org/10.1007/978-3-319-32152-3_17
Download citation
DOI: https://doi.org/10.1007/978-3-319-32152-3_17
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-32151-6
Online ISBN: 978-3-319-32152-3
eBook Packages: Computer ScienceComputer Science (R0)