Skip to main content

Implementation Techniques to Parallelize Agent-Based Graph Analysis

  • Conference paper
  • First Online:
Highlights of Practical Applications of Survivable Agents and Multi-Agent Systems. The PAAMS Collection (PAAMS 2019)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    https://hadoop.apache.org/docs/r1.2.1/mapred_tutorial.html.

  2. 2.

    https://spark.apache.org/graphx/.

  3. 3.

    http://storm.apache.org/.

  4. 4.

    https://www.baeldung.com/kryo.

References

  1. Argonne National Laboratory: Repast for High Performance Computing. https://repast.gifhub.io/repast_hpc.html

  2. Bic, L., Fukuda, M., Dillencourt, M.: Distributed computing using autonomous objects. IEEE Comput. 29(8), 55–61 (1996)

    Article  Google Scholar 

  3. 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

    Google Scholar 

  4. 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

    Google Scholar 

  5. Milojicic, D., Douglis, F., Wheeler, R.: Mobility: Processes, Computers, and Agents. ACM Press, New York (1999)

    Google Scholar 

  6. Fukuda, M., Bic, L., Dillencourt, M., Merchant, F.: Distributed Coordination with MESSENGERS. Sci. Comput. Programm. 31(2–3), 291–311 (1998)

    Article  Google Scholar 

  7. Fukuda, M., et al.: An agent-based computational framework for distributed data analysis. IEEE Computer (in review)

    Google Scholar 

  8. Geenough, C., Holcombe, M.: FLAME Flexible Large-scale Agent Modeling Environment. http://www.flame.ac.uk

  9. 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)

    Google Scholar 

  10. 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

    Google Scholar 

  11. Lin, J., Dyer, C.: Parallel breadth-first search. In: Data-Intensive Text Processing with MapReduce, Chap. 5.2. Morgan & Claypool (2010)

    Google Scholar 

  12. 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

    Article  Google Scholar 

  13. Malewicz, G., et al.: Pregel: a system for large-scale graph processing. In: Proceedings of SIGMOD 2010, pp. 135–145. ACM, Indianapolis, June 2010

    Google Scholar 

  14. 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)

    Google Scholar 

  15. Rogers, A., et al.: Supporting dyanmic data structures on distributed-memory machines. ACM Trans. Programm. Lang. Syst. 17(2), 233–263 (1995)

    Article  MathSciNet  Google Scholar 

  16. 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

    Chapter  Google Scholar 

  17. 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

    Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Collin Gordon .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-24298-5

  • Online ISBN: 978-3-030-24299-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics