HPCC and Java -- A Report by The Parallel Compiler Runtime Consortium (PCRC)
- Northeast Parallel Architectures Center at Syracuse University: Geoffrey Fox,Bryan Carpenter, Wojtek Furmanski, Don Leskiw, Xiaoming Li
- Cooperating Systems: Marina Chen, James Cowie
- Harvard University: Thomas Cheatham, Amr Fahmy
- Indiana University: Dennis Gannon, Rajeev Raje
- Rice University: Ken Kennedy, Chuck Koelbel, John Mellor-Crummey
- University of Maryland: Joel Saltz, Alan Sussman
- University of Rochester: Wei Li, Michael Scott
- University of Texas: Austin: Jim Browne
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:
- The preliminary planning is available -- this contains lots of useful words and references(links)
- Current discussion is available using mailing list pcrc-java@npac.syr.edu
or with Newsgroups and database support on our SP2.
- March 13 :2 deep outline with assignments proposed
- Mid April -- all assignments complete -- editing etc. starts. The results of this
editing is accumulated here.
- Draft must be ready for public but friendly reading by CRPC meeting in Mid May
- Based on the manifesto we will call a meeting to decide what areas PCRC
will focus on
Some comments from Geoffrey Fox:
- There is some debate as to name we should use for the extensions of Java
to link it to HPCC. Possibilities suggested are:
- HPCC and Java
- HPCCJava , HPJ or
- HPJava
- Java-powered HPCC or HPCC powered Java
- Parallel Computing and Java
- Unless changes are suggested, I will use "HPCC and Java" in high-level places likes titles and the acronym HPJava where nifty short designations are appropriate.
- The discussion of data parallelism in original contributions showed some
disagreement as to whether this is a good, bad, feasible, infeasible idea.
I suggest that this particular document make no decisions but simply state
the pros and cons of particular approachs in the short and long term.
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
-