next up previous contents
Next: Features of HPJava Up: Platforms for HPJava: Runtime Previous: List of Figures   Contents

Introduction

The Java programming language is becoming the language of choice for implementing Internet-based applications. Undoubtedly Java provides many benefits--including access to secure, platform-independent applications from anywhere on the Internet. Java today goes well beyond its original role of enhancing the functionality of HTML documents. Few Java developers today are concerned with applets. Instead it is used to develop large-scale enterprise applications, to enhance the functionality of World Wide Web servers, to provide applications for consumer device such as cell phones, pagers and personal digital assistants. Amongst computational scientists Java may well become a very attractive language to create new programming environments that combine powerful object-oriented technology with potentially high performance computing. The popularity of Java has led to it being seriously considered as a good language to develop scientific and engineering applications, and in particular for parallel computing [2,3,4]. Sun's claims on behalf of Java, that is simple, efficient and platform-natural--a natural language for network programming--make it attractive to scientific programmers who wish to harness the collective computational power of parallel platforms as well as networks of workstations or PCs, with interconnections ranging from LANs to the Internet. This role for Java is being encouraged by bodies like Java Grande [33]. Over the last few years supporters of the Java Grande Forum have been working actively to address some of the issues involved in using Java for technical computation. The goal of the forum is to develop consensus and recommendations on possible enhancements to the Java language and associated Java standards, for large-scale (``Grande'') applications. Through a series of ACM-supported workshops and conferences the forum has helped stimulate research on Java compilers and programming environments. Our HPJava is an environment for parallel programming, especially suitable for data parallel scientific programming. HPJava is an implementation of a programming model we call the HPspmd nodel. It is a strict extension of its base language, Java, adding some predefined classes and some extra syntax for dealing with distributed arrays. We overview of HPJava in following section.

Subsections
next up previous contents
Next: Features of HPJava Up: Platforms for HPJava: Runtime Previous: List of Figures   Contents
Bryan Carpenter 2004-06-09