Java support for high-performance computing

Java provides numerous advantages to HPC as a programming language, particularly with Grid computing. Some of the key benefits of using Java in HPC include:

  • Portability: The capability to write a program on one platform and port it to run on another operating platform has been the biggest strength of the Java language. This will continue to be the advantage when porting Java applications to HPC systems. In Grid computing, this is an essential feature as the execution environment gets decided during the execution of the program. This is possible since the Java byte code executes in Java Virtual Machine (JVM), which itself acts as an abstract operating environment.
  • Network centricity: As discussed in the previous chapters, Java provides great support for distributed systems with its network-centric feature of Remote Procedure Calls (RPC) through RMI and CORBA services. Along with this, Java support for socket programming is another great support for grid computing.
  • Software engineering: Another great feature of Java is the way it can be used for engineering solutions. We can produce more object-oriented, loosely coupled software that can be independently added as an API through JAR files in multiple other systems. Encapsulation and interface programming make it a great advantage in such application development.
  • Security: Java is a highly secure programming language because of the features it provides, such as bytecode verification for limiting resource utilization by an untrusted intruder software or program. This is a great advantage when running an application on a distributed environment with remote communication established over a shared network.
  • GUI development: Java support for platform-independent GUI development is a great advantage to develop and deploy enterprise web applications over an HPC environment to interact with.
  • Availability: Java has great support from multiple operating systems, including Windows, Linux, SGI, and Compaq. It is easily available to consume, and you can develop it using a great set of open source frameworks developed on top of it.

While the advantages listed in the previous points are in favor of using Java for HPC environments, some concerns need to be reviewed while designing Java applications, including its numerics (complex numbers, fastfp, and multidimensional), performance, and parallel computing designs.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset