Advertisement

VPPE: A Novel Visual Parallel Programming Environment

  • José L. Quiroz-FabiánEmail author
  • Graciela Román-Alonso
  • Miguel A. Castro-García
  • Jorge Buenabad-Chávez
  • Azzedine Boukerche
  • Manuel Aguilar-Cornejo
Article
  • 14 Downloads
Part of the following topical collections:
  1. Special Issue on High-Level Languages and Frameworks for High-Performance Computing

Abstract

Parallel programming continues to be a challenging task despite the many advances in parallel architectures and their wide availability in the cloud. The need both to partition the workload among various processing elements and to specify communication between them to share code and data, and to coordinate their tasks, requires from the developer a deep understanding of the problem, the parallel architecture and the programming language used in order to develop efficient parallel applications. This problem can be reduced significantly through the use of visual programming languages to hide most aspects related to the specification of communication and processes management. This paper presents VPPE, a novel Visual Parallel Programming Environment that allows developers to program parallel applications through organising workflows of interconnected icons. VPPE is a cloud environment that supports icons for specifying: I/O operations, workflow organisation, communication, and processing. Processing computing patterns supported so far include Single Program Multiple Data, Multiple Program Multiple Data, Pipeline, and Master–Slave. The paper highlights the design of VPPE based on a context-free graph grammar, its current implementation based on Java-MPI, its use in developing various parallel applications, and its evaluation compared to Java-MPI text-based programming.

Keywords

Parallel patterns Workflow Graph grammar Hyperedge replacement grammar Cloud computing 

Notes

Acknowledgements

This work has been funded by scholarship from CONACYT (Mexico).

References

  1. 1.
    Visual programming language. https://en.wikipedia.org/wiki/Visual_programming_language. Accessed 20 July 2016
  2. 2.
    Bohm, S., Bhálek, M.: Kaira: modelling and generation tool based on Petri nets for parallel applications. In: Proceedings of the 2011 UKSim 13th International Conference on Modelling and Simulation, UKSIM ’11, pp. 403–408. IEEE Computer Society, Washington, DC, USA (2011).  https://doi.org/10.1109/UKSIM.2011.83
  3. 3.
    Chan, F., Cao, J., Chan, A.T.S., Zhang, K.: Visual programming support for graph-oriented parallel-distributed processing: research articles. Softw. Pract. Exper. 35(15), 1409–1439 (2005).  https://doi.org/10.1002/spe.v35:15 CrossRefGoogle Scholar
  4. 4.
    Deelman, E., Singh, G., Su, M.H., Blythe, J., Gil, Y., Kesselman, C., Mehta, G., Vahi, K., Berriman, G.B., Good, J., Laity, A., Jacob, J.C., Katz, D.S.: Pegasus: A framework for mapping complex scientific workflows onto distributed systems. Sci. Program. 13(3), 219–237 (2005).  https://doi.org/10.1155/2005/128026 Google Scholar
  5. 5.
    Farkas, Z., Kacsuk, P.: P-grade portal: a generic workflow system to support user communities. Future Gener. Comput. Syst. 27(5), 454–465 (2011).  https://doi.org/10.1016/j.future.2010.12.001 CrossRefGoogle Scholar
  6. 6.
    Schäfers, L., Scheidler, C., Krämer-Fuhrmann, O.: Trapper: a graphical programming environment for parallel systems. Future Gener. Comput. Syst. 11(4–5), 351–361 (1995).  https://doi.org/10.1016/0167-739X(95)00007-F CrossRefGoogle Scholar
  7. 7.
    Dózsa, G.: Visual programming to support parallel program design. In: Cunha, J.A.C., Kacsuk, P., Winter, S.C. (eds.) Parallel program development for cluster computing, pp. 17–44. Nova Science Publishers, Inc. (2001)Google Scholar
  8. 8.
    Quiroz-Fabián, J.L., Román-Alonso, G., Buenabad-Chávez, J., Castro-García, M.A., Aguilar-Cornejo, M., Buenabad-Chávez, J.: A graphical language for development of parallel applications. PDPTA-2013: International Conference on Parallel and Distributed Processing Techniques and Applications. PDPTA’13, pp. 672–678. CSREA Press, USA (2013)Google Scholar
  9. 9.
    Quiroz-Fabián, J.L., Román-Alonso, G., Castro-García, M.A., Buenabad-Chávez, J., Aguilar-Cornejo, M.: A graphical environment for development of mpi applications. In: Proceedings of the 21st European MPI Users’ Group Meeting, EuroMPI/ASIA ’14, pp. 125–126. ACM, New York, NY, USA (2014).  https://doi.org/10.1145/2642769.2642793
  10. 10.
    Goble, C.A., Roure, D.D.: The impact of workflow tools on data-centric research. In: Hey, T., Tansley, S., Tolle, K.M. (eds.) The Fourth Paradigm, pp. 137–145. Microsoft Research, Redmond (2009)Google Scholar
  11. 11.
    Javed, A., Qamar, B., Jameel, M., Shafi, A., Carpenter, B.: Towards scalable java HPC with hybrid and native communication devices in MPJ express. Int. J. Parallel Program. 44(6), 1142–1172 (2016).  https://doi.org/10.1007/s10766-015-0375-4 CrossRefGoogle Scholar
  12. 12.
    Drewes, F., Kreowski, H.J., Habel, A.: Hyperedge replacement, graph grammars. In: Handbook of Graph Grammars, Chap. 2, pp. 95–162. World Scientific, Singapore (1997) (Printed in Singapore) Google Scholar
  13. 13.
    Habel, A.: Hyperedge Replacement: Grammars and Languages. Springer, New York (1992)zbMATHGoogle Scholar
  14. 14.
    Sastry, K., Goldberg, D., Kendall, G.: Genetic Algorithms, pp. 97–125. Springer, Boston (2005).  https://doi.org/10.1007/0-387-28356-0_4 Google Scholar
  15. 15.
    Li, R., Hu, H., Li, H., Wu, Y., Yang, J.: Mapreduce parallel programming model: a state-of-the-art survey. Int. J. Parallel Program. 44(4), 832–866 (2016).  https://doi.org/10.1007/s10766-015-0395-0 CrossRefGoogle Scholar
  16. 16.
    Bruen, A., Dixon, R.: The n-queens problem. Discrete Math. 12(4), 393–395 (1975).  https://doi.org/10.1016/0012-365X(75)90079-5 MathSciNetCrossRefzbMATHGoogle Scholar
  17. 17.
    Jimenez-Alaniz, J., Medina-Banuelos, V., Yanez-Suarez, O.: Data-driven brain MRI segmentation supported on edge confidence and a priori tissue information. IEEE Trans. Med. Imag. 25(1), 74–83 (2006).  https://doi.org/10.1109/TMI.2005.860999 CrossRefGoogle Scholar
  18. 18.
    Al-Mulhem, M., Ali, S.: Visual occam: syntax and semantics. Comput. Lang. 23(1), 1–24 (1997).  https://doi.org/10.1016/S0096-0551(97)00005-2 CrossRefGoogle Scholar
  19. 19.
    Böhm, S., Běhálek, M., Garncarz, O.: Developing parallel applications using Kaira. In: Digital Information Processing and Communications: International Conference 2011, ICDIPC 2011, pp. 237–251. Springer, Berlin, Heidelberg (2011).  https://doi.org/10.1007/978-3-642-22389-1_22
  20. 20.
    Ce, Y., Zhen, X., Ji-zhou, S., Xiao-jing, M., Yan-yan, H., Hua-bei, W.: Paramodel: a visual modeling and code skeleton generation system for programming parallel applications. SIGPLAN Not. 43(4), 4–10 (2008).  https://doi.org/10.1145/1374752.1374753 CrossRefGoogle Scholar
  21. 21.
    Chan, F., Cao, J.N., Chan, A.T.S., Guo, M.Y.: Programming support for MPMD parallel computing in ClusterGOP. IEICE Trans. Inf. Syst. 87(7), 1693–1702 (2004)Google Scholar
  22. 22.
    Chan, F., Cao, J., Guo, M.: ClusterGOP: A High-Level Programming Environment for Clusters, pp. 1–19. Wiley, London (2006).  https://doi.org/10.1002/0471732710.ch1 Google Scholar
  23. 23.
    Chan, F., Cao, J., Sun, Y.: High-level abstractions for message-passing parallel programming. Parallel Comput. 29(11–12), 1589–1621 (2003).  https://doi.org/10.1016/j.parco.2003.05.008 CrossRefGoogle Scholar
  24. 24.
    Ferenc, D., Nabrzyski, J., Stroinski, M., Wierzejewski, P.: Visual MPI—a knowledge-based system for writing efficient MPI applications. In: Proceedings of the 6th European PVM/MPI Users’ Group Meeting on Recent Advances in Parallel Virtual Machine and Message Passing Interface, European PVM/MPI 1999, pp. 257–264. Springer-Verlag, London, UK (1999)Google Scholar
  25. 25.
    Nenad, S., Kang, Z.: Visual programming for message-passing systems. Int. J. Softw. Eng. Knowl. Eng. 9(3), 397–423 (1999).  https://doi.org/10.1142/S0218194099000231 Google Scholar
  26. 26.
    Stankovic, N., Zhang, K.: Visual parallel programming with visper. In: High Performance Computing on the Information Superhighway, HPC Asia ’97, pp. 541–546. IEEE (1997).  https://doi.org/10.1109/HPC.1997.592205
  27. 27.
    Stankovic, N., Zhang, K.: A distributed parallel programming framework. IEEE Trans. Softw. Eng. 28(5), 478–493 (2002).  https://doi.org/10.1109/TSE.2002.1000451 CrossRefGoogle Scholar
  28. 28.
    Beguelin, A., Dongarra, J.J.: Graphical development tools for network-based concurrent supercomputing. In: Proceedings of the 1991 ACM/IEEE Conference on Supercomputing, Supercomputing ’91, pp. 435–444. ACM, New York, NY, USA (1991).  https://doi.org/10.1145/125826.126059
  29. 29.
    Kacsuk, P., Dózsa, G., Fadgyas, T.: Designing parallel programs by the graphical language grapnel. Microprocess. Microprogram. 41(8–9), 625–643 (1996).  https://doi.org/10.1016/0165-6074(96)00005-1 CrossRefGoogle Scholar
  30. 30.
    Kacsuk, P., Dózsa, G., Fadgyas, T., Lovas, R.: The GRED graphical editor for the GRADE parallel program development environment. Future Gener. Comput. Syst. 15(3), 443–452 (1999).  https://doi.org/10.1016/S0167-739X(98)00088-0 CrossRefGoogle Scholar
  31. 31.
    Lee P. A.; Hamilton, M.D.P.S.: Visual language for parallel, object-oriented programming. Technical Report p. 200511, Department of Computing Science, Newcastle upon Tyne University, Newcastle, (England) (2004)Google Scholar
  32. 32.
    Newton, P., Browne, J.C.: The code 2.0 graphical parallel programming language. In: Proceedings of the 6th International Conference on Supercomputing, ICS ’92, pp. 167–177. ACM, New York, NY, USA (1992).  https://doi.org/10.1145/143369.143405
  33. 33.
    Scheidler, C., Schäfers, L., Krämer-Fuhrmann, O.: Trapper: A graphical programming environment for industrial high-performance applications. In: Lecture Notes in Computer Science, PARLE ’93, pp. 403–413. Springer (1993).  https://doi.org/10.1007/3-540-56891-3_32

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2019

Authors and Affiliations

  1. 1.Department of Electrical EngineeringUAM-IztapalapaMexico CityMexico
  2. 2.School of Computer ScienceThe University of ManchesterManchesterUK
  3. 3.School of Information Technology and EngineeringUniversity of OttawaOttawaCanada

Personalised recommendations