JCL: A High Performance Computing Java Middleware

André Luís Barroso Almeida, Saul Emanuel Delabrida Silva, Antonio C. Nazaré Jr., Joubert de Castro Lima


Java Cá&Lá or just JCL is a distributed shared memory reflective lightweight middleware for Java developers whose main goals are: i) provide a simple deployment strategy, where automatic code registration occurs, ii) support a collaborative multi-developer cluster environment where applications can interact without explicit dependencies, iii) execute existing sequential Java code over both multi-core machines and cluster of multi-core machines without refactorings, enabling the separation of business logic from distribution issues in the development process, iv) provide a multi-core/multi-computer portable code. This paper describes JCL’s features and architecture; compares and contrasts JCL to other Java based middleware systems, and reports performance measurements of JCL applications.


  1. Brynjolfsson, E. M. (2012). Big data: The management revolution. Harvard Business Review, 90(10):6066.
  2. Cohen, L. (2015). Java Parallel Processing Framework. Available from: hhttp://www.jppf.org/i.[15 Dezember 2015].
  3. Coulouris, G., Dollimore, J., and Kindberg, T. (2007). Sistemas Distribuídos - 4ed: Conceitos e Projeto . Bookman Companhia.
  4. (2014). A flexible framework for accurate simulation of cloud in-memory data stores. arXiv preprint arXiv:1411.7910.
  5. Egan, S. (2005). Open Source Messaging Application Development: Building and Extending Gaim. Apress.
  6. Forum, M. P. (1994). Mpi: A message-passing interface standard. Technical report, Knoxville, TN, USA.
  7. Gelibert, A., Rudametkin, W., Donsez, D., and Jean, S. (2011). Clustering osgi applications using distributed shared memory. In Proceedings of International Conference on New Technologies of Distributed Systems (NOTERE 2011), pages 1-8.
  8. Ghosh, S. (2014). Distributed systems: an algorithmic approach. CRC press.
  9. Gokhale, A., Balasubramanian, K., Krishna, A. S., Balasubramanian, J., Edwards, G., Deng, G., Turkay, E., Parsons, J., and Schmidt, D. C. (2008). Model driven middleware: A new paradigm for developing distributed real-time and embedded systems. Science of Computer programming, 73(1):39-58.
  10. Han, J., Kamber, M., and Pei, J. (2011). Data Mining: Concepts and Techniques. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 3rd edition.
  11. Henning, M. and Spruiell, M. (2006). Distributed programming with ice reading.
  12. Hindman, B., Konwinski, A., Zaharia, M., Ghodsi, A., Joseph, A. D., Katz, R., Shenker, S., and Stoica, I. (2011). Mesos: A platform for fine-grained resource sharing in the data center. In Proceedings of the USENIX Conference on Networked Systems Design and Implementation (NSDI 2011), pages 295-308.
  13. Kaminsky, A. (2015). Big CPU, Big Data: Solving the World's Toughest Computational Problems with Parallel Computing. Unpublished manuscript. Retrieved from http://www.cs.rit.edu/˜ark/bcbd.
  14. Karantasis, K. and Polychronopoulos, E. (2011). Programming gpu clusters with shared memory abstraction in software. In Proceedings of Euromicro International Conference on Parallel, Distributed and Network-Based Processing (PDP 2011), pages 223- 230.
  15. Karantasis, K. I. and Polychronopoulos, E. D. (2009). Pleiad: A cross-environment middleware providing efficient multithreading on clusters. InProceedings of ACM Conference on Computing Frontiers (CF 2009), pages 109-116.
  16. Murphy, A. L., Picco, G. P., and Roman, G.-C. (2006). Lime: A coordination model and middleware supporting mobility of hosts and agents. ACM Trans. Softw. Eng. Methodol., 15(3):279-328.
  17. Nester, C., Philippsen, M., and Haumacher, B. (1999). A more efficient rmi for java. In Proceedings of the ACM 1999 conference on Java Grande, pages 152- 159. ACM.
  18. OSGi (2010). Osgi specification release 4.2.
  19. Perera, C., Liu, C. H., Jayawardena, S., and Chen, M. (2014). A survey on internet of things from industrial market perspective. Access, IEEE, 2:1660-1679.
  20. Pitt, E. and McNiff, K. (2001). Java.Rmi: The Remote Method Invocation Guide. Addison-Wesley Longman Publishing Co., Inc.
  21. Seovic, A., Falco, M., and Peralta, P. (2010). Oracle Coherence 3.5. Packt Publishing Ltd.
  22. Taboada, G. L., Ramos, S., Expósito, R. R., Touri n˜o, J., and Doallo, R. (2013). Java in the high performance computing arena: Research, practice and experience. Science of Computer Programming, 78(5):425-444.
  23. Taboada, G. L., Tourin˜o, J., and Doallo, R. (2009). Java for high performance computing: assessment of current research and practice. In Proceedings of the 7th International Conference on Principles and Practice of Programming in Java, pages 30-39. ACM.
  24. Tanenbaum, A. S. and Van Steen, M. (2007). Distributed Systems. Prentice-Hall.
  25. Tariq, M. A., Koldehofe, B., Bhowmik, S., and Rothermel, K. (2014). Pleroma: a sdn-based high performance publish/subscribe middleware. In Proceedings of the 15th International Middleware Conference, pages 217-228. ACM.
  26. Taveira, W. F., de Oliveira Valente, M. T., da Silva Bigonha, M. A., and da Silva Bigonha, R. (2003). Asynchronous remote method invocation in java. Journal of Universal Computer Science, 9(8):761-775.
  27. Team, I. (2015). Infinispan 8.1 Documentation. Available from: hhttp://infinispan.org/docs/8.1.x/index. htmli.[15 Dezember 2015].
  28. Terracotta Inc. (2008). The Definitive Guide to Terracotta: Cluster the JVM for Spring, Hibernate and POJO Scalability. Springer Science & Business.
  29. Troester, M. (2012). Big data meets big data analytics. Cary, NC: SAS Institute Inc.
  30. Veentjer, P. (2013). Mastering Hazelcast. Hazelcast.
  31. Walker, S. M., Dearle, A., Norcross, S. J., Kirby, G. N. C., and McCarthy, A. (2003). Rafda: A policy-aware middleware supporting the flexible separation of application logic from distribution. Technical report, University of St Andrews. Technical Report CS/06/2.
  32. Watson, R. T., Wynn, D., and Boudreau, M.-C. (2005). Jboss: The evolution of professional open source software. MIS Quarterly Executive, 4(3):329-341.
  33. Xiong, J., Wang, J., and Xu, J. (2010). Research of distributed parallel information retrieval based on jppf. In 2010 International Conference of Information Science and Management Engineering, pages 109-111. IEEE.
  34. Zaharia, M., Chowdhury, M., Franklin, M. J., Shenker, S., and Stoica, I. (2010). Spark: cluster computing with working sets. In Proceedings of the 2nd USENIX conference on Hot topics in cloud computing, pages 10- 10.
  35. Zhang, Q., Cheng, L., and Boutaba, R. (2010). Cloud computing: state-of-the-art and research challenges. Journal of Internet Services and Applications, 1(1):7-18.

Paper Citation

in Harvard Style

Luís Barroso Almeida A., Emanuel Delabrida Silva S., Nazaré Jr. A. and de Castro Lima J. (2016). JCL: A High Performance Computing Java Middleware . In Proceedings of the 18th International Conference on Enterprise Information Systems - Volume 1: ICEIS, ISBN 978-989-758-187-8, pages 379-390. DOI: 10.5220/0005917903790390

in Bibtex Style

author={André Luís Barroso Almeida and Saul Emanuel Delabrida Silva and Antonio C. Nazaré Jr. and Joubert de Castro Lima},
title={JCL: A High Performance Computing Java Middleware},
booktitle={Proceedings of the 18th International Conference on Enterprise Information Systems - Volume 1: ICEIS,},

in EndNote Style

JO - Proceedings of the 18th International Conference on Enterprise Information Systems - Volume 1: ICEIS,
TI - JCL: A High Performance Computing Java Middleware
SN - 978-989-758-187-8
AU - Luís Barroso Almeida A.
AU - Emanuel Delabrida Silva S.
AU - Nazaré Jr. A.
AU - de Castro Lima J.
PY - 2016
SP - 379
EP - 390
DO - 10.5220/0005917903790390