HPCC and Java -- A Preliminary 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
General Approach:
- ASAP -- people to put on reflector sent to me: reflector is pcrc-java@npac.syr.edu
- February 22 All Initial Material to reflector to be set up by Syracuse
- February 25 Draft 2 deep outline with full writing Assignments
- February 29 2 deep outline with assignments agreed
- Mid April -- all assignments complete -- editing etc. starts
- 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
Four areas are available in this document as listed below -- Click to find
details!
These are plans made at the Arpa PI meeting february 15 1996
- 1. What are Suitable Models for Parallel Computing and Java
- speculations from Browne
- comments fom Indiana
- 2. Motivating Applications for HPCCJava
- distributed simulation etc.
- Syracuse and Maryland initial words
- 3. Lessons from and Relations to HPF/HPC++
- Indiana
- See also Maryland section 7.4.3
- 4. Language Enhancements(Annotations) and Classes to support HPCC and Java
- Marina Chen, Jim Cowie initial words
- Indiana Comment.
-
- 5. Architecture (Shared, Distributed Shared, and Distributed) Issues for
HPCCJava
- Rochester will supply initial words
- Indiana Comment
- 6. Compilers and Java -- Both conventional and HPCC and on client(interpreter)
and Server(javac)
- Rice will give initial words
- Indiana comment
- 7. High Level Runtime Issues
-
- 7.1 Dynamic Communication and Distributed Nameservers
- Browne speculations
- 7.2 Parallel and Conventional CORBA Interface to Java
- Gannon Initial words
- 7.3 Task Parallelism and Java for both Integration(Coarse grain) and fine
grain examples
- Fortran-M CC++, "channel" classes in Java (see Indiana remark)
- Relation to MetaChaos and PCRC Interoperability
- Maryland will give initial words -- see sections 7.4.2umd and 7.4.3umd
-
- 7.4 HPCC and Compute-Webs (Use of World Wide Web MetaComputer)
- HPCC applications as "applets" -- Indiana comment
- Maryland Initial words
- Boston/CSC/Syracuse may add
- 7.5 HPCC Java and implications for security
- Brokers as interfaces to Java native HPCC related classes
- Gannon initial words: see the CORBA discussion in Section 7.2
- 8 Low Level Runtime Issues
-
- 8.1 The Current PCRC Runtime (Regular and Irregular) Implementation in Java
- Full (portable) Java version
- What is smallest set of PCRC routines that are needed
- to be done in native mode (i.e. current C)
- Syracuse will provide initial words
- 8.2 Distributed Memory Versions of Java Runtime and use of HPCC thread packages
on SMP or distributed memory to support Java
- Rochester and Gannon will get initial words here
- Gannon(27feb96): I just ran across some interesting stuff on the EspressoGrider project http://wwwipd.ira.uka.de/%7Eespresso/Project/ that looks at some interesting
extensions to java with a concern about performance, compilers and parallelism.
suggst. you all check it out. (one of the people involved Martin Ordersky
will be here friday to talk about this work. I will let you know what i
learn.
- Note: http://www.communities.com/ - Electric Communities HomePage
- and http://www.communities.com/index/e.html - The E Programming Language
- Summary Presented by Fox at Arpa Meeting:
- Features of the Java language and runtime
- Secure, architecture neutral, Object Oriented but simpler than C++
- runtime modules dynamically downloadable with applet mechanism and portable
opcodes (from PC, Mac, to Workstation)
- Can build on existing work on HPF HPC++ -- especially latter
- Two basic types of opportunities:
- Build a modest performance totally portable runtime in Java
- Use current PCRC runtime as native classes for a (data-parallel) Java
- What is minimum set of PCRC routines which MUST be native(C)?
- Applet mechanism naturally incorporates task parallelism -- need to add
"channel" class (as in Fortran-M, CC++) to augment "thread" and "socket"
classes
- Need to implement Java runtime in Nexus or similar distributed thread package
-- again native Java would be portable but lowish performance
- Java can be used both on Server and Client side as expect soon good Java
based clients and servers
- See the E language http://www.communities.com/e/index.html
- or my class notes in general or specifically Java foils http://www.npac.syr.edu/users/gcf/cps616java96 (where foils 115,116 discuss HPJava for class) or
- http://www.npac.syr.edu/users/gcf/cps616tech96
- 1. What are Suitable Models for Parallel Computing and Java
-
- 2. Motivating Applications for HPCCJava
-
- 3. Lessons from and Relations to HPF/HPC++
- See also Maryland section 7.4.3
- 4. Language Enhancements(Annotations) and Classes to support HPCC and Java
-
- 5. Architecture (Shared, Distributed Shared, and Distributed) Issues for
HPCCJava
-
- 6. Compilers and Java -- Both conventional and HPCC and on client(interpreter)
and Server(javac)
-
- 7. High Level Runtime Issues
-
- 7.1 Dynamic Communication and Distributed Nameservers
- 7.2 Parallel and Conventional CORBA Interface to Java
-
- 7.3 Task Parallelism and Java for both Integration(Coarse grain) and fine
grain examples
- Fortran-M CC++, "channel" classes in Java
- Relation to MetaChaos and PCRC Interoperability
- Maryland will give initial words -- see sections 7.4.2umd and 7.4.3umd
- 7.4 HPCC and Compute-Webs (Use of World Wide Web MetaComputer)
- This is currently a collection of exemplar systems/ideas:
- 7.5 HPCC Java and implications for security
- Brokers as interfaces to Java native HPCC related classes
- Gannon initial words: see the CORBA discussion in Section 7.2
- 8 Low Level Runtime Issues
- 8.1 The Current PCRC Runtime (Regular and Irregular) Implementation in Java
- 8.2 Distributed Memory Versions of Java Runtime and use of HPCC thread packages
on SMP or distributed memory to support Java
-
Texas Contribution (28 feb 96):
Syracuse Contribution (23 feb 96):
2.0 Motivating Applications for HPJava: Meta-Challenges
2.1Syr) Introduction:
2.2Syr) Meta-Challenges:
2.3Syr) An Example Meta-Challenge: DIS:
2.4Syr) Java for DIS:
Maryland Contribution(22 feb 96):
2.5umd) Remote sensing data fusion:
2.6umd) Interventional Epidemiology/ Medical crisis management:
See also Maryland section 7.4.3
Indiana Contributions 24 feb
Cooperating Systems Contribution (29 feb 96)
Language extensions to Java can be broadly put into two categories, each
with its own pros and cons.
Rochester Contribution(28 Feb 96):
Rice Contribution(27 feb 96):
-
Texas Contribution (29 feb 96):
Indiana Contribution (24 feb 96):
see sections 7.4.2umd and 7.4.3umd
Indiana Contribution (24 feb 96):
7.3.1)Limited Synchronization Capabilities of current Java:
There are several important possibilities here -- exemplars follow:
Maryland Contribution(22 feb 96):
7.4.1umd)Mobile Programs:
7.4.2umd) Coupling sequential Java Programs:
7.4.3umd) Coupling HPJ programs with one another and with other data parallel
programs (e.g. MPI, HPF, HPC++):
Syracuse Contribution(11 feb 96):
7.4.4syr) WebWork: Integrated Programming Environment Tools for National and Grand
Challenges
7.4.5syr) Computational Web Multiserver - a proposal for Web based HPCC
Indiana Comment (24 feb 96):
see the CORBA discussion in Section 7.2
Syracuse Contribution(23 Feb 96):
8.1.1syr) Introduction:
8.1.2syr) Features for PCRC Runtime in Java:
8.1.3syr) Issues for PCRC Runtime in Java:
Rochester Contribution (28 feb 96):
Indiana Contribution24 feb 96):