Non-blocking Java Communications Support on Clusters

  • Guillermo L. Taboada
  • Juan Touriño
  • Ramón Doallo
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4192)


This paper presents communication strategies for supporting efficient non-blocking Java communication on clusters. The communication performance is critical for the overall cluster performance. It is possible to use non-blocking communications to reduce the communication overhead. Previous efforts to efficiently support non-blocking communication in Java have led to the introduction of the Java NIO API. Although the Java NIO package addresses scalability issues by providing select() like functionality, it lacks support for high speed interconnects. To solve this issue, this paper introduces a non-blocking communication library to efficiently support specialized communication hardware. This library focuses on reducing the startup communication time, avoiding unnecessary copying, and overlapping computation with communication. This project provides the basis for a Java Message-passing library to be implemented on top of it. Towards the end, this paper evaluates the proposed approach on a Scalable Coherent Interface (SCI) and Gigabit Ethernet (GbE) testbed cluster. Experimental results show that the proposed library reduces the communication overhead and increases computation and communication overlapping.


Communication Overhead Message Size Startup Time Communication Library Network Fabric 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Verstoep, K., Bhoedjang, R., Rühl, T., Bal, H., Hofman, R.: Cluster Communication Protocols for Parallel-programming Systems. ACM Transactions on Computer Systems 22(3), 281–325 (2004)CrossRefGoogle Scholar
  2. 2.
    Taboada, G.L., Touriño, J., Doallo, R.: Performance Analysis of Java Message-Passing Libraries on Fast Ethernet, Myrinet and SCI Clusters. In: Proc. 5th IEEE International Conference on Cluster Computing (CLUSTER 2003), Hong Kong, China, pp. 118–126 (2003)Google Scholar
  3. 3.
    Welsh, M., Culler, D.E.: Jaguar: Enabling Efficient Communication and I/O in Java. Concurrency: Practice and Experience 12(7), 519–538 (2000)zbMATHCrossRefGoogle Scholar
  4. 4.
    Lim, S.B., Carpenter, B., Fox, B., Lee, H.-K.: A Low–Level Communication Library for Java HPC. In: Hobbs, M., Goscinski, A.M., Zhou, W. (eds.) ICA3PP 2005. LNCS, vol. 3719, pp. 429–434. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  5. 5.
    Lee, H.-K., Carpenter, B., Fox, G., Lim, S.B.: HPJava: Programming Support for High-Performance Grid-Enabled Applications. International Journal of Parallel Algorithms and Applications 19(2–3), 175–193 (2004)zbMATHMathSciNetGoogle Scholar
  6. 6.
    Baker, M., Carpenter, B., Shafi, A.: MPJ Express: Towards Thread Safe Java HPC. In: Proc. 8th IEEE International Conference on Cluster Computing (CLUSTER 2006), Barcelona, Spain (2006)Google Scholar
  7. 7.
    Baker, M., Carpenter, B., Shafi, A.: An Approach to Buffer Management in Java HPC Messaging. In: Alexandrov, V.N., van Albada, G.D., Sloot, P.M.A., Dongarra, J. (eds.) ICCS 2006. LNCS, vol. 3992, pp. 953–960. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  8. 8.
    Baker, M., Carpenter, B., Fox, G., Ko, S., Lim, S.: mpiJava: an Object-Oriented Java Interface to MPI. In: Rolim, J.D.P. (ed.) IPPS-WS 1999 and SPDP-WS 1999. LNCS, vol. 1586, pp. 748–762. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  9. 9.
    Bornemann, M., van Nieuwpoort, R.V., Kielmann, T.: MPJ/Ibis: A Flexible and Efficient Message Passing Platform for Java. In: Di Martino, B., Kranzlmüller, D., Dongarra, J. (eds.) EuroPVM/MPI 2005. LNCS, vol. 3666, pp. 217–224. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  10. 10.
    Seifert, F., Kohmann, H.: SCI SOCKETS - A Fast Socket Implementation over SCI, [Last visited: July 2006]
  11. 11.
    Rodrigues, S.H., Anderson, T.E., Culler, D.E.: High-Performance Local-Area Communication With Fast Sockets. In: Proc. Winter 1997 USENIX Symposium, Anaheim, CA, pp. 257–274 (1997)Google Scholar
  12. 12.
    Kim, J.-S., Kim, K., Jung, S.-I.: SOVIA: A User-level Sockets Layer Over Virtual Interface Architecture. In: Proc. 3rd IEEE International Conference on Cluster Computing (CLUSTER 2001), New Port Beach, CA, pp. 399–408 (2001)Google Scholar
  13. 13.
    Balaji, P., Shivan, P., Wyckoff, P., Panda, D.K.: High Performance User Level Sockets over Gigabit Ethernet. In: Proc. 4th IEEE International Conference on Cluster Computing (CLUSTER 2002), Chicago, IL, pp. 179–186 (2002)Google Scholar
  14. 14.
    Petri, S., Schneidenbach, L., Schnor, B.: Architecture and Implementation of a Socket Interface on top of GAMMA. In: Proc. 28th IEEE Conference on Local Computer Networks (LCN 2003), Bonn, Germany, pp. 528–536 (2003)Google Scholar
  15. 15.
    Worringen, J., Bemmerl, T.: MPICH for SCI-connected Clusters. In: SCI Europe 1999, Toulouse, France, pp. 3–11 (1999)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Guillermo L. Taboada
    • 1
  • Juan Touriño
    • 1
  • Ramón Doallo
    • 1
  1. 1.Department of Electronics and SystemsUniversity of A CoruñaSpain

Personalised recommendations