HPCC and Java -- A Report by The Parallel Compiler Runtime Consortium (PCRC)


Proposed Writing Responsibilities

Northeast Parallel Architectures Center at Syracuse University:
1.1, 1.2 ,2.1, 2.2, 2.3, 2.7, 6.3, 8.2
Cooperating Systems:
4.1, 4.2 4.3
Indiana University:
1.4, 3.3, 6.2, 7.2, 7.4, 8.3
Rice University:
5.1, 5.2(shared), 5.3, 5.4
University of Maryland:
2.4, 2.5, 3.4, 8.1
University of Rochester:
2.6, 5.2(shared), 6.4, 7.1, 8.4
University of Texas:
1.3, 3.1, 3.2, 6.1, 7.3

General Approach:



Some comments from Geoffrey Fox:


Proposed Outline of Final Report

Note section numbers such as 2.1syr refer to text in original document and are hyperlinked to it

1: Introduction
1.1 What is Java and What is HPCC and why they need each other SYRACUSE
1.2 The HPCC Application Motivation for Java -- Meta-Challenges
(2.1syr) SYRACUSE
1.3 The Nature of Java Applications and their need for HPCC
(1.1tex, 1.7ind cf: sec. 2.7 below) TEXAS
1.4 Lessons from and Relation to HPF HPC++ Fortran-M and other HPCC Software Systems
(3.1ind, 3.2ind, 3.3ind, 4.4csc) INDIANA

2: Further Details of Motivating Applications
If gets too long, details can go into appendices
2.1 General Discussion of Meta-Challeges
(2.2syr) SYRACUSE
2.2 An Example -- Distributed Interactive Simulation
(2.3syr, 2.4syr) SYRACUSE
2.3 An Example -- Manufacturing
SYRACUSE
2.4 An Example -- Remote Sensing and Data Fusion
(2.5umd) UMD
2.5 An Example -- Medical Interventional Informatics
(2.6umd) UMD
2.6 An Example -- Network-based data mining
ROCHESTER
2.7 Java based Web Server and Client Agents
(An example of conventional Java application/applet needing HPCC -- filtering VRML for Visible Human database is one possibility) -- cf: sec. 1.3
SYRACUSE

3: Models for the HPJava Programming Environment
3.1 General Philosophy and Discussion of Possibilities
(1.2tex, 1.3tex, 4.2ind cf: sec 1.3 above) TEXAS
3.2 Object and Applet Parallelism
(1.2tex, 1.3tex, 7.4.6ind) TEXAS
3.3 Task and Control Parallelism
(7.3.1ind) INDIANA
3.4 Data Parallelism
(1.6tex, 1.6ind) UMD

4: Possible Java Language Enhancements and Support Classes for HPCC
4.1 Current Java Features for Concurrent and Distributed Computing
(1.4tex, 1.4ind, 1.5ind, 1.7ind) CSC
4.2 Language Enhancements
(1.5tex, 1.5ind, 4.2csc, 4.3csc, 4.2ind ) CSC
4.3 Class and Interface Support
(4.1csc, 4.5ind) CSC

5. Compilation/Interpretation Issues
5.1. Compiled vs. interpreted
(6.1rice, 6.1ind, 5.1roc ) RICE
5.2. Compilation issues
(6.2rice, 5.2roc) RICE and ROCHESTER
5.3. Interaction with runtime
(6.3rice) RICE
5.4. Tools interface
(6.4rice) RICE

6. Runtime Support
6.1. Dynamic communication and distributed nameservers
(7.1.1tex, 7.1.2tex, 7.1.3tex, 7.1.4tex, 7.1.5tex, 7.1.6tex) TEXAS
6.2. Parallel and conventional CORBA interface to Java
(7.2.1ind, 7.2.2ind, 7.2.3ind) INDIANA
6.3. Low level runtime issues -- PCRC Distributed Memory
(8.1.1syr, 8.1.2syr, 8.1.3syr, 8.2.4ind) SYRACUSE (Including Ranka at Florida)
6.4 Low level runtime issues -- Threads
(8.2.1roc, 8.2.2roc, 8.2.3ind) ROCHESTER

7. Architecture Issues for Integration of Java with HPCC
7.1. Shared Memory Architecture Issues
(5.1roc, 5.2roc, 5.3roc, 5.4roc) ROCHESTER
7.2. Heterogeneity
(5.5roc, 5.6ind) INDIANA
7.3. Fault-tolerance and Reconfigurability
(7.1.6tex) TEXAS
7.4 Security
(7.2.3ind) INDIANA

8. Some Early Experiements.
Details could go into appendices
8.1. At Maryland -- Maryland Responsible for Name(s)
(7.4.1umd, 7.4.2umd, 7.4.3umd) UMD
8.2. At Syracuse -- Syracuse Responsible for Section Name(s)
(7.4.4syr, 7.4.5syr) SYRACUSE
8.3. At Indiana -- Indiana Responsible for Name
(8.2.5ind) INDIANA
8.4 At Rochester -- Rochester Responsible for name and content
ROCHESTER