Skip to main content
Log in

VPPE: A Novel Visual Parallel Programming Environment

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

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.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23
Fig. 24
Fig. 25
Fig. 26
Fig. 27
Fig. 28
Fig. 29

Similar content being viewed by others

Notes

  1. MapReduce is a programming model for processing and generating large data on a cluster.

References

  1. Visual programming language. https://en.wikipedia.org/wiki/Visual_programming_language. Accessed 20 July 2016

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

    Article  Google Scholar 

  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

    Article  Google Scholar 

  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

    Article  Google Scholar 

  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

    Article  Google Scholar 

  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)

  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)

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

    Article  Google Scholar 

  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)

    Chapter  Google Scholar 

  13. Habel, A.: Hyperedge Replacement: Grammars and Languages. Springer, New York (1992)

    MATH  Google Scholar 

  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

    Book  Google Scholar 

  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

    Article  Google Scholar 

  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

    Article  MathSciNet  MATH  Google Scholar 

  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

    Article  Google Scholar 

  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

    Article  Google Scholar 

  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

    Chapter  Google Scholar 

  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

    Article  Google Scholar 

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

    Book  Google Scholar 

  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

    Article  Google Scholar 

  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)

    Chapter  Google Scholar 

  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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

  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

    Article  Google Scholar 

  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)

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

    Google Scholar 

Download references

Acknowledgements

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

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to José L. Quiroz-Fabián.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Quiroz-Fabián, J.L., Román-Alonso, G., Castro-García, M.A. et al. VPPE: A Novel Visual Parallel Programming Environment. Int J Parallel Prog 47, 1117–1151 (2019). https://doi.org/10.1007/s10766-019-00639-w

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10766-019-00639-w

Keywords

Navigation