HPJava
L.Indraneel(08P61A1222)
Introduction to Java Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java Platform Java is currently one of the most popular programming languages in use, particularly for client-server web applications, with a reported 10 million s.
Characteristics of Java
Java is simple Java is object-oriented Java is distributed Java is interpreted Java is robust Java is secure Java is portable Java’s performance Java is multithreaded Java is dynamic
Object Oriented Concepts Inheritance Polymorphism Encapsulation Abstraction
Why Java? It’s the current popular language It’s almost entirely object-oriented It has a vast library of predefined objects and operations It’s more platform independent this makes it great for Web programming
It’s more secure
Java programs Two kinds Applications have main() run from the OS prompt Applets have init(), start(), stop(), paint(), update(), repaint(), destroy() run from within a web page
What is HPJava? HPJava stands for “high performance java” HPJava is a programming language extended from Java to parallel programming, especially (but not exclusively) data parallel programming on message ing and distributed memory systems, from multiprocessor systems to workstation clusters
Difference between Java and HP Java Java already provides parallelism through threads. But that model of parallelism can only be easily exploited on shared memory computers. HP Java is targeted at distributed memory parallel computers (most likely, networks of PCs and workstations).
HPJava History Inspired by HPF(high performance Fortran) HPJava project started around 1997 HPJava lifts some ideas directly from HPF Syntax was simpler and there was scope to extend the features
Features of HPJava HP Java adds to Java a concept of multidimensional arrays called “multiarrays” To parallel programming, these multiarrays are extended to “distributed arrays”. The new distributed datastructures are cleanly integrated into the syntax of the language
Architecture of HP Java
Front-End Architecture
Issues in the language design 1 Extending the Java language HPJava can bound to other languages like C, C++ and Fortran. But Java is a convenient base language because it provides full objectorientation convenient for describing complex distributed It has been noted elsewhere that Java has various features suggesting it could be an attractive language for science and engineering
2 Datatypes in HPJava In HPJava, variable names are divided into two sets. In general those declared using ordinary Java syntax represent local variables and those declared with [[ ]] represent global variables
3. Programming convenience The language provides some special syntax for the programmer's convenience Unlike the syntax for data declaration, which has fundamental significance in the programming model, these extensions are purely provide syntactic conveniences.
Advantages HPJava adds to Java is a multi-dimensional array, or multiarray, with properties similar to the arrays of Fortran HPJava s parallel programming on distributed memory (and shared memory) parallel computers Any ordinary Java class can be invoked from an HPJava program without recompilation A translated and compiled HPJava program is a standard Java class file that can be executed by a distributed collection of Java Virtual Machines
Disadvantages Many of the features of HPJava would be hard or impossible to achieve as Java libraries The compiler would not be able to perform static analysis and optimizations on them
Software for HPJava There are two main parts to the software. The HPJava development kit, hpjdk contains the HPJava compiler and an implementation of the highlevel communication library, Adlib For Distributed-memory parallel computers, one should install the second HPJava package mpiJava
Conclusion Our experience thus far is that Java is a good choice as a base language: it is easy to extend, and its safety features greatly simplify the compiler writer’s task HPJava will be most helpful for problems that have some degree of regularity
.
Thank You