Abstract
The paper concerns the use of global application states monitoring in distributed programs for advanced graph partitioning optimization. Two strategies for the control design of advanced parallel/distributed graph partitioning algorithms are presented and discussed. In the first one, the parallel algorithm control runs on top of the ready to use basic graph partitioning functions available inside an existing graph partitioning METIS tool. The second control strategy is based on a genetic programing algorithm in which the applied basic graph partitioning primitives and the overall algorithmic parallel/distributed control can be freely designed by the user. In these strategies, the graph partitioning control is executed by processes/threads supervised by the application global states monitoring facilities provided inside a novel distributed program design framework PEGASUS DA. This framework provides system support to construct user-defined strongly consistent global application states and an API to define corresponding execution control. In particular, it concerns computing global control predicates on the constructed global states, the predicates evaluation and asynchronous execution control handling to obtain application global state-driven reactions. Based on such implementation, different features of the graph partitioning optimization strategies have been designed and tested. The experimental results have shown benefits of the new graph partitioning control methods designed with the use of the application global states monitoring.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Garey, M., Johnson, D., Stockmeyer, L.: Some simplified NP-complete graph problems. Theor. Comput. Sci. 1, 237–367 (1976)
Karypis, D.: METIS a Software Package for Partitioning Unstructured Graphs, Partitioning Meshes, and Computing Fill-Reducing Orderings of Sparse Matrices Version 5.1.0, Department of Computer Science & Engineering, University of Minnesota, Minneapolis, March (2013)
https://www.glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/manual.pdf
Khan, M.S., Li, K.F.: Fast graph partitioning algorithms. In: IEEE Pacific Rim Conference on Communication, Computers, and Signal Processing, Victoria, B.C., Canada, May 1995, pp. 337–342 (1995)
Kerighan, B.W., Lin, S.: An efficient heuristic procedure for partitioning graphs. AT&T Bell Labs. Tech. J. 49, 291–307 (1970)
Kirkpatrick, S., Gelatt, C.D., Vecchi, M.P.: Optimization by simulated annealing. Science 220(4598), 671–680 (1983)
Tudruj, M., Borkowski, J., Kopanski, D., Laskowski, E., Masko, L., Smyk, A.: PEGASUS DA framework for distributed program execution control based on application global states monitoring. Concurr. Comput.: Pract. Exp. 27(4), 1027–1053 (2015)
Pellegrini, F.: PT-Scotch and libPTScotch 6.0 User’s Guide, (ver. 6) Universite Bordeaux 1 & LaBRI, UMR CNRS 5800 Bacchus team, INRIA Bordeaux Sud-Ouest December (2012)
http://www.cs.sandia.gov/CRF/chac_p2.html. http://www.cs.sandia.gov/zoltan/Zoltan_phil.html
Roy, A., Mihailovic, I., Zwaenepoel, W.: X-stream: edge-centric graph processing using streaming partitions. In: 24th ACM Symposium on Operating Systems Principles, pp. 472–488. ACM (2013)
Wang, Y., et al.: GPU graph analytics. ACM Trans. Parallel Comput. (TOPC) 4(1) (2017). Invited papers from PPoPP 2016
Smyk, A., Tudruj, M., Grochal, L.: Global application states monitoring applied to graph partitioning optimization. In: 17th International Symposium on Parallel and Distributed Computing, ISPDC2018, Geneva, Switzerland, June 2018, pp. 85–92. IEEE CS Press (2018)
Poli, R., Langdon, W.B., McPhee, N.F., Koza, J.R.: Genetic programming: an introduction and tutorial, with a survey of techniques and applications. University of Essex, UK Technical report [CES-475] (2007)
Wenhua, Y.: Advanced FDTD Methods: Parallelization, Acceleration, and Engineering Applications. Artech House (2011)
Tian, Y., et al.: From “think like a vertex” to “think like a graph”. Proc. VLDB Endow. 7(3), 193–204 (2013)
Sanders, P., Schulz, C.: High Quality Graph Partitioning (2013). https://doi.org/10.1090/conm/588/11700
Sanders, P., Schulz, C.: Distributed evolutionary graph partitioning. In: Proceedings of the 12th Workshop on Algorithm Engineering and Experimentation (ALENEX 2012), pp. 16–29 (2012)
Raghavan, U.N., Albert, R., Kumara, S.: Near linear time algorithm to detect community structures in large-scale networks. Phys. Rev. E 76(3), 036106 (2007)
Rahimian, F., et al.: JA-BE-JA: a distributed algorithm for balanced graph partitioning. In: 7th International Conference on Self-Adaptive and Self-organizing Systems, pp. 51–60. IEEE (2013)
Walshaw, C.: Multilevel refinement for combinatorial optimisation problems. Ann. OR 131(1), 325–372 (2004)
Masko, L., Tudruj, M.: Application global state monitoring in optimization of parallel event-driven simulation. Concurr. Comput. Pract. Exp. 31(19), e5015 (2019)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Smyk, A., Tudruj, M., Grochal, L. (2020). Parallel Graph Partitioning Optimization Under PEGASUS DA Application Global State Monitoring. In: Wyrzykowski, R., Deelman, E., Dongarra, J., Karczewski, K. (eds) Parallel Processing and Applied Mathematics. PPAM 2019. Lecture Notes in Computer Science(), vol 12043. Springer, Cham. https://doi.org/10.1007/978-3-030-43229-4_24
Download citation
DOI: https://doi.org/10.1007/978-3-030-43229-4_24
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-43228-7
Online ISBN: 978-3-030-43229-4
eBook Packages: Computer ScienceComputer Science (R0)