Subject: Concurrency working group notes

From: Martin Westhead <[email-masked]>
Date: Tue, 08 Sep 1998 15:22:17 +0100

Hi Folks,

I'm sorry these have been so long in coming. Attached is an HTML file of
the notes I took during the forum working group meetin at the beginning
of the month. They amount to basically a copy of what Dennis wrote on
the board. I believe George took a separate note of actions although
there are some peoples names down in this next to areas of
responsibility.

In terms of the benchmarking EPCC is going to provide some effort to
make a start on this before Supercomputing. We'll be contacting those of
you with you're names against benchmarks soon.

Thanks,

Martin
Applications and Concurrency

Chair: Dennis Gannon

Notes taken by: Martin Westhead

These notes were taken at the applications and concurrency working group of the Java Grande Forum on the 7th-8th of August 1998. A separate action list was taken by George K Thiruvathukal.

RMI performance issues

RMI

Issues

Support for non-TCP & HP protocols (Memory, ATM, Myranet, FM…,IPC) [API]

Connection management (too frequently opening & closing connections)[IMP]

Class compatibility [IMP]

Resource consumption (implementation issue)[IMP]

Scheduling conflicts [IMP]

Solutions

Possible soln GMI a new object

Serialization

Issues

Too much type information

Efficient support for non-recursive (flat) structures [API]

Buffer size control [IMP]

Too many copies [IMP]

Serialization of float & double goes through the JNI

Serialization of objects with multiple primitive instance variables is inefficient because it requires individual expensive calls for each variable

Solutions

Serialization API

Caching and connection persistence

Aggregate serialization of objects with multiple primitive instance variables

VM issues

Process/Threads: Affinity/co-scheduling

Memory management :

How does the VM optimize deep memory hierarchies?

Large objects? Limitations

Large number of objects

Staging large objects (3d graphics problem)

Scalable I/O

Benchmarks (Martin Westhead)

Aim to find programs that will stress the VM in ways that are important to Grande application

(Check out netlib benchmarks. Talk to Java 3D)

Applications

Monte Carlo (NCSA + EPCC: financial)

Image analysis/Radio astronomy (NCSA)

Gravitational N-body Simulation

Computational Fluid Dynamics (Syracuse)

Geophysics (Michael)

Discrete Event Simulation (INRIA + EPCC)

Kernels

Spec Java Kernels

Mpeg3 audio decoder

Javac

Jess

Ray tracing

Sorting – George

Threads – synchronization, scalability, threads v. runable – Dennis

RMI – Michael

Serialization - Michael

I/O – Dan Reed

Memory management – object size, object number, garbage collection - PM

Sun benchmarks?

Low level arithmetics – Numerics Group

Linpack - NG

Jama – NG

Comparisons (Email from Vladimir)

JVMs

Compilers v. JVMs

Language comparisons

Seamless comp (PM)

Define a simple common interface: java.lang.org.grande.seamless

Relationship to other technologies:

Unicore

Globus

Legion

Condor

Sweb

Websubmit

Issues

Authentication

Resource discovery (metadata)

Resource allocation (Grande cache)

Accounting

Resource and job Scheduling

Job monitoring

Code/Data-filesystem

Connected to resource discovery service (JINI)

Action will involve an examination of the various technologies in order to refine issue list

Other parallel issues

MPI

Pure bindings

Interface style issue

Not feasible or sensible to do whole MPI

Request for Proposals for a deprecated MPI interface

Issues with heterogeneous language interaction

Extended MPI flavour

JMPI

Difficult to reach a consensus

Could be built on top of a pure MPI

Too early to produce a specification but encourage experimentation in this area

Object model : value semantic in proc calls, remote reference management, problems for large objects [API] – Controversial and moved from RMI section

Threads issues