Skip to main content
Log in

Remote Method Delegation: a Platform for Grid Computing

  • Published:
Journal of Grid Computing Aims and scope Submit manuscript

Abstract

While many cluster and grid computing frameworks are available, the task of building secure distributed systems or implementing distributed algorithms continue to be a challenging task due to the inherent distributed nature of such systems with multiple failure modes and security issues. In this paper, we present the design and development of remote method delegation (RMD), which is a secure lightweight grid computing platform with load balancing and code migration. RMD is focused on improving the usability issues that plague related industry solutions. The platform is implemented on the JVM (Java Virtual Machine) and supports the Java and Kotlin programming languages, however, the platform should theoretically work with other JVM languages. RMD was designed to simplify the implementation of distributed algorithms by providing a Kotlin DSL (domain specific language) that allows the programmer to define jobs within dedicated code blocks. Users from around the world can donate their own computing resources by hosting their own job server. RMD is secured by placing all untrusted code within a sandbox environment that prevents potentially malicious actions from taking place. To demonstrate the feasibility of the proposed model, a proof of concept implementation has been constructed with real examples demonstrating the usefulness of the proposed solution.

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.

Similar content being viewed by others

References

  1. Alt, M., Gorlatch, S.: Adapting java rmi for grid computing. Fut. Gener. Comp. Syst. 21, 699–707 (2005). https://doi.org/10.1016/j.future.2004.05.010

    Article  Google Scholar 

  2. Anderson, D.P.: Boinc: a system for public-resource computing and storage. In: Fifth IEEE/ACM International Workshop on Grid Computing, pp. 4–10. https://doi.org/10.1109/GRID.2004.14 (2004)

  3. Anderson, D.P., Cobb, J., Korpela, E., Lebofsky, M., Werthimer, D.: Seti@ home: an experiment in public-resource computing. Commun. ACM 45(11), 56–61 (2002)

    Article  Google Scholar 

  4. Borthakur, D.: The hadoop distributed file system: Architecture and design. Hadoop Proj. Website 11(2007), 21 (2007)

    Google Scholar 

  5. Bruneton, E.: ASM 4.0 A Java bytecode engineering library (2011)

  6. Chamberlain, B.L., Callahan, D., Zima, H.P.: Parallel programmability and the chapel language. Int. J. High Perform. Comput. Appl. 21(3), 291–312 (2007)

    Article  Google Scholar 

  7. Choi, H., Choi, W., Quan, T.M., Hildebrand, D.G., Pfister, H., Jeong, W.K.: Vivaldi: a domain-specific language for volume processing and visualization on distributed heterogeneous systems. IEEE Trans. Visual. Comput. Graph. 20(12), 2407–2416 (2014)

    Article  Google Scholar 

  8. Dagum, L., Menon, R.: Openmp: an industry standard api for shared-memory programming. IEEE Comput. Sci. Eng. 5(1), 46–55 (1998)

    Article  Google Scholar 

  9. Dean, J., Ghemawat, S.: Mapreduce: simplified data processing on large clusters. Commun. ACM 51(1), 107–113 (2008)

    Article  Google Scholar 

  10. DeVito, Z., Joubert, N., Palacios, F., Oakley, S., Medina, M., Barrientos, M., Elsen, E., Ham, F., Aiken, A., Duraisamy, K., Darve, E., Alonso, J., Hanrahan, P.: Liszt: A domain specific language for building portable mesh-based pde solvers. In: SC ’11: Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis, pp. 1–12 (2011)

  11. Estrada, T., Taufer, M., Anderson, D.P.: Performance prediction and analysis of boinc projects: an empirical study with emboinc. J. Grid Comput. 7(4), 537 (2009). https://doi.org/10.1007/s10723-009-9126-3

    Article  Google Scholar 

  12. Ferrari, T., Giacomini, F.: Network monitoring for grid performance optimization. Comput. Commun. 27(14), 1357–1363 (2004)

    Article  Google Scholar 

  13. Foster, I., Zhao, Y., Raicu, I., Lu, S.: Cloud computing and grid computing 360-degree compared. Cloud Computing and Grid Computing 360-Degree Compared, 5. https://doi.org/10.1109/GCE.2008.4738445(2009)

  14. Graham, R.L., Woodall, T.S., Squyres, J.M.: Open mpi: A flexible high performance mpi. In: Proceedings of the 6th International Conference on Parallel Processing and Applied Mathematics, Springer, Berlin, PPAM’05, pp 228–239. https://doi.org/10.1007/11752578_29 (2006)

  15. Gropp, W., Lusk, E., Doss, N., Skjellum, A.: A high-performance, portable implementation of the mpi message passing interface standard. Parallel Comput. 22(6):789–828, https://doi.org/10.1016/0167-8191(96)00024-5, http://www.sciencedirect.com/science/article/pii/0167819196000245 (1996)

  16. Günther, S., Cleenewerck, T.: Design principles for internal domain-specific languages: A pattern catalog illustrated by ruby. In: Proceedings of the 17th Conference on Pattern Languages of Programs, PLOP’10, pp 3:1–3:35. ACM, New York. https://doi.org/10.1145/2493288.2493291 (2010)

  17. Iqbal, M.H., Soomro, T.R.: Big data analysis: Apache storm perspective. Int. J Comput. Trends Technol. 19(1), 9–14 (2015)

    Article  Google Scholar 

  18. Islam, S., Balasubramaniam, S., Goyal, P., Sati, M., Goyal, N.: A Domain Specific Language for Clustering. In: Krishnan, P., Radha Krishna, P., Parida, L. (eds.) Distributed Computing and Internet Technology, pp 231–234. Springer International Publishing, Cham (2017)

  19. Kong, L., Mapetu, J.P.B., Chen, Z.: Heuristic load balancing based zero imbalance mechanism in cloud computing. J Grid Comput, 1–26 (2019)

  20. Krašovec, B., Filipčič, A.: Enhancing the grid with cloud computing. J. Grid Comput. 17(1), 119–135 (2019)

    Article  Google Scholar 

  21. Lindholm, T., Yellin, F., Bracha, G., Buckley, A.: The Java Virtual Machine Specification, Java SE 8 Edition, 1st edn. Addison-Wesley Professional (2014)

  22. Massey N, Jones R, Otto F, Aina T, Wilson S, Murphy J, Hassell D, Yamazaki Y, Allen M: weather@ home—development and validation of a very large ensemble modelling system for probabilistic event attribution. Quart. J. R. Meteorol. Soc. 141(690), 1528–1545 (2015)

    Article  Google Scholar 

  23. Moeller, R., et al: Fast-serialization. https://github.com/RuedigerMoeller/fast-serialization (2014)

  24. Silvano, C., Agosta, G., Bartolini, A., Beccari, A.R., Benini, L., Besnard, L., Bispo, J., Cmar, R., Cardoso, J.M., Cavazzoni, C., et al.: The antarex domain specific language for high performance computing. Microprocess. Microsyst. 68, 58–73 (2019)

    Article  Google Scholar 

  25. Stevenson A, MacDonald S: Smart proxies in java rmi with dynamic aspect-oriented programming. In: 2008 IEEE International Symposium on Parallel and Distributed Processing, pp. 1–6. IEEE (2008)

  26. Van Nieuwpoort, R., Maassen, J., Wrzesinska, G., Hofman, R., Jacobs, C., Kielmann, T., Bal, H.: Ibis: a flexible and efficient java-based grid programming environment. Concurr. Comput. Pract. Exper. 17, 1079–1107 (2005). https://doi.org/10.1002/cpe.860

    Article  Google Scholar 

  27. Vinter, B., Bjørndalen, J, Anshus, O., Larsen, T.: A Comparison of Three MPI implementations., IOS Press, Netherlands, pp. 127–136 (2004)

  28. W Stamos, J., Gifford, D.: Implementing remote evaluation. IEEE Trans Softw. Eng. 16, 710–722 (1990). https://doi.org/10.1109/32.56097

    Article  Google Scholar 

  29. Wilbur, S.R., Bacarisse, B.: Building distributed systems with remote procedure call. Softw. Eng. J. 2, 148–159 (1987)

    Article  Google Scholar 

  30. Wood, B., Watling, B., Winn, Z., Messiha, D., H Mahmoud, Q., Azim, A.: Source code for the rmd project. https://github.com/BradleyWood/RMD (2019)

  31. Zaharia, M., Xin, R.S., Wendell, P., Das, T., Armbrust, M., Dave, A., Meng, X., Rosen, J., Venkataraman, S., Franklin, M.J., Ghodsi, A., Gonzalez, J., Shenker, S., Stoica, I.: Apache spark: a unified engine for big data processing. Commun ACM 59(11), 56–65 (2016). https://doi.org/10.1145/2934664

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Bradley Wood.

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

Wood, B., Watling, B., Winn, Z. et al. Remote Method Delegation: a Platform for Grid Computing. J Grid Computing 18, 711–725 (2020). https://doi.org/10.1007/s10723-020-09525-z

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10723-020-09525-z

Keywords

Navigation