Abstract
The current trend for parallelizing scalable graph analysis is to use major big-data tools such as MapReduce, Spark/GraphX, and Storm. Each programming framework uses graph analysis strategies based on either (1) message passing among graph vertices or (2) screening of graph edges. The former keeps exchanging messages among all neighboring vertices until all of them fall into a stable state and thus no more messages are generated. The latter examines the connectivity of edges to find particular network shapes, (e.g., counting the number of triangles). Although these two approaches are well established as conventional graph solutions, the underlying algorithms may not be clear enough to keep track of how vertices, edges, and messages are processed in parallel. Contrary to these conventional approaches, agent-based graph analysis drives agents over a graph, which allows programmers to code their solutions from the drivers seat view. However, there are performance drawbacks, mainly resulting from agent management overheads, that make it impractical to use agents. The Multi-Agent Spatial Simulation (MASS) library uses reactive agents, small enough to spawn, move, and get terminated quickly. By implementing two optimization techniques in MASS: agent population control and asynchronous agent migration, we have facilitated agent-based graph analysis. This paper presents these two techniques, demonstrates agents intuitive programmability, and their competitive execution performance.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Argonne National Laboratory: Repast for High Performance Computing. https://repast.gifhub.io/repast_hpc.html
Bic, L., Fukuda, M., Dillencourt, M.: Distributed computing using autonomous objects. IEEE Comput. 29(8), 55–61 (1996)
Borst, P.: The first implementation of the WAVE system for UNIX and TCP/IP computer networks. Technical report 18/92, University of Karlsruhe, December 1992
Chuang, T., Fukuda, M.: A parallel multi-agent spatial simulation environment for cluster systems. In: Proceedings of the 16th IEEE International Conference on Computational Science and Engineering - CSE 2013, pp. 140–153. IEEE CS, Sydney, December 2013
Milojicic, D., Douglis, F., Wheeler, R.: Mobility: Processes, Computers, and Agents. ACM Press, New York (1999)
Fukuda, M., Bic, L., Dillencourt, M., Merchant, F.: Distributed Coordination with MESSENGERS. Sci. Comput. Programm. 31(2–3), 291–311 (1998)
Fukuda, M., et al.: An agent-based computational framework for distributed data analysis. IEEE Computer (in review)
Geenough, C., Holcombe, M.: FLAME Flexible Large-scale Agent Modeling Environment. http://www.flame.ac.uk
Jenks, S., Gaudiot, J.: Nomadic threads: a migrating multithreaded approach to remote memory accesses in multiprocessors. In: Proceedings of the 5th International Conference on Parallel Architectures and Compilation Techniques, pp. 2–11 (1996)
Kosiachenko, L., Hart, N., Fukuda, M.: MASS CUDA: a general GPU parallelization framework for agent-based models. In: Proceedings of the 18th International Conference on Autonomous Agents and Multiagent Systems. International Foundation for AAMAS, Montreal, Canada, May 2019, to appear
Lin, J., Dyer, C.: Parallel breadth-first search. In: Data-Intensive Text Processing with MapReduce, Chap. 5.2. Morgan & Claypool (2010)
Low, Y., Gonzalez, J., Kyrola, A., Bickson, D., Guestrin, C., Hellerstein, J.M.: Distributed GraphLab: a framework fro machine learning and data mining in the cloud. In: Proceedings of the 38th International Conference on Very Large Data Bases, vol. 5, no. 8, pp. 716–727. VLDB Endowment, Istanbul, August 2012
Malewicz, G., et al.: Pregel: a system for large-scale graph processing. In: Proceedings of SIGMOD 2010, pp. 135–145. ACM, Indianapolis, June 2010
Parsian, M.: Finding, counting, and listing all triangles in large graphs. In: Data Algorithms - Recipes for Scaling up with Hadoop and Spark, chap. 16. O’Reilly (2015)
Rogers, A., et al.: Supporting dyanmic data structures on distributed-memory machines. ACM Trans. Programm. Lang. Syst. 17(2), 233–263 (1995)
Shih, C., Yang, C., Fukuda, M.: Benchmarking the agent descriptivity of parallel multi-agent simulators. In: Bajo, J., et al. (eds.) PAAMS 2018. CCIS, vol. 887, pp. 480–492. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-94779-2_41
Shih, Y.M., Gordon, C., Fukuda, M., van de Ven, J., Freksa, C.: Translation of string-and-pin-based shortest path construction into data-scalable agent-based computational models. In: Proceedings of the 2018 Winter Simulation Conference, pp. 881–892. IEEE, Gothenburg, December 2018
Acknowledgments
The cluster system used for this research was donated by Fluke Corporation. Two of the authors were supported by the UWB Computing & Software System Division’s research assistantship. We would also like to thank Mr. Sinchai DeLong, the divisional senior computer specialist for all his technical supports.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Gordon, C., Mert, U., Sell, M., Fukuda, M. (2019). Implementation Techniques to Parallelize Agent-Based Graph Analysis. In: De La Prieta, F., et al. Highlights of Practical Applications of Survivable Agents and Multi-Agent Systems. The PAAMS Collection. PAAMS 2019. Communications in Computer and Information Science, vol 1047. Springer, Cham. https://doi.org/10.1007/978-3-030-24299-2_1
Download citation
DOI: https://doi.org/10.1007/978-3-030-24299-2_1
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-24298-5
Online ISBN: 978-3-030-24299-2
eBook Packages: Computer ScienceComputer Science (R0)