HELP! * YELLOW=global GREY=local Full HTML for

GLOBAL foilset HPCC Current Status: Software

Given by Geoffrey Fox at Trip to China on July 12-28,96. Foils prepared July 6 1996
Abstract * Foil Index for this file See also color IMAGE

We start with an overall discussion of types of software environments and when they apply
  • Data and Task Parallelism
  • Coordination or Coarse Grain Software Integration Languages
Data Parallel and Message Passing are still critical but the situation is confused by immaturity of parallel compilers
We then discuss current work involving Xiaoming Li with HPF and the Parallel Runtime Compiler Consortium
MetaComputing is an emerging field oof importance and we sketch our plans for MetaWeb
Java threatens to change the ballgame!

Table of Contents for full HTML of HPCC Current Status: Software


1 Status of "Classic" HPCC -- June1996
Summary of MPP Software

2 Abstract of HPCC Software Status 1996
3 Structure of Problems and Parallel Software Approaches
4 Problem Architectures
5 5 Categories of Problems
6 Example of Basic Problem Architectures Regular Synchronous Problem Class
7 Example of Basic Problem Architectures Irregular Loosely Synchronous
8 Example of Basic Problem Architectures The difficult Asynchronous Class
9 Example of Basic Problem Architectures for MetaProblem Class
10 Software Bus Structure of USMADE
11 Further Examples of Metaproblems
12 Heterogeneous Metaproblem Structure for Command and Control
13 System Integration and Data Flows for financial modeling on a mix of Workstations, CM5 and Maspar
14 Remarks on What are key Global Issues in determining ease of parallelization of particular applications
15 Criterion for success in parallelizing a particular problem on a particular machine
16 What is the "correct" machine architecture for each problem class
17 What software is suitable for what problems?
18 What Applications have we learnt from ?
19 Comparison of 3 different Programming Models
20 What software systems are appropriate for what problem architectures -- I?
21 What software systems are appropriate for what problem architectures -- II?
22 Candidate Software Paradigms for each problem architecture
23 Parallelism in HPF
24 What gives high performance in HPF
25 Compiler directives used in HPF
26 Syntax of HPF Directives
27 Staged Data Mapping in HPF
28 Goal of High Performance Fortran
29 Any Complete Programming Environment Must Handle
30 The Curious State of Parallel Software!
31 HPJava Study Rationale
32 HPJava Study is in Draft Form

This table of Contents Abstract



HELP! * YELLOW=global GREY=local HTML version of GLOBAL Foils prepared July 6 1996

Foil 1 Status of "Classic" HPCC -- June1996
Summary of MPP Software

From HPCC Current Status: Software Trip to China -- July 12-28,96. * See also color IMAGE
Full HTML Index
http://www.npac.syr.edu/users/gcf/hpcc96software/index.html
Presented during Trip to China July 12-28,1996
Geoffrey Fox
NPAC
Syracuse University
111 College Place
Syracuse NY 13244-4100

HELP! * YELLOW=global GREY=local HTML version of GLOBAL Foils prepared July 6 1996

Foil 2 Abstract of HPCC Software Status 1996

From HPCC Current Status: Software Trip to China -- July 12-28,96. * See also color IMAGE
Full HTML Index
We start with an overall discussion of types of software environments and when they apply
  • Data and Task Parallelism
  • Coordination or Coarse Grain Software Integration Languages
Data Parallel and Message Passing are still critical but the situation is confused by immaturity of parallel compilers
We then discuss current work involving Xiaoming Li with HPF and the Parallel Runtime Compiler Consortium
MetaComputing is an emerging field oof importance and we sketch our plans for MetaWeb
Java threatens to change the ballgame!

HELP! * YELLOW=global GREY=local HTML version of GLOBAL Foils prepared July 6 1996

Foil 3 Structure of Problems and Parallel Software Approaches

From HPCC Current Status: Software Trip to China -- July 12-28,96. * See also color IMAGE
Full HTML Index

HELP! * YELLOW=global GREY=local HTML version of GLOBAL Foils prepared July 6 1996

Foil 4 Problem Architectures

From HPCC Current Status: Software Trip to China -- July 12-28,96. * Important Information in IMAGE
Full HTML Index
See Parallel Computing Works for general discussion of problem architecture
Software Maps
Problem ---> Machine
Often software designed around machine architecture
Rather software should be designed around problem architecture
Only able to persuade application scientist to parallelize

HELP! * YELLOW=global GREY=local HTML version of GLOBAL Foils prepared July 6 1996

Foil 5 5 Categories of Problems

From HPCC Current Status: Software Trip to China -- July 12-28,96. * Important Information in IMAGE
Full HTML Index
Synchronous: Data Parallel Tightly coupled and software needs to exploit features of problem structure to get good performance. Comparatively easy as different data elements are essentially identical.
Loosely Synchronous:
  • As above but data elements are not identical. Still parallelizes due to macroscopic time synchronization.
Asynchronous:
  • Functional (or data) parallelism that is irregular in space and time. Often loosely coupled and so need not worry about optimal decompositions to minimize communication. Hard to parallelize (massively) unless ....
Embarrassingly parallel:
  • Essentially independent execution of disconnected components. (can involve reductions)
Metaproblems
  • Asynchronous collection of (loosely) synchronous components where these programs themselves can be parallelized

HELP! * YELLOW=global GREY=local HTML version of GLOBAL Foils prepared July 6 1996

Foil 6 Example of Basic Problem Architectures Regular Synchronous Problem Class

From HPCC Current Status: Software Trip to China -- July 12-28,96. * Important Information in IMAGE
Full HTML Index
See Parallel Computing Works for QCD and Synchronous problems
eg. Quantum chromodynamics calculations (calculate proton mass)
Regular grid in 4D space-time - domain decomposition
Update algorithm identical at each point
Time evolution very simple
The world looked at microscopically in terms of a set of similar fundamental quantities
Monte Carlo - subtlety that cannot update concurrently points linked in Hamiltonian

HELP! * YELLOW=global GREY=local HTML version of GLOBAL Foils prepared July 6 1996

Foil 7 Example of Basic Problem Architectures Irregular Loosely Synchronous

From HPCC Current Status: Software Trip to China -- July 12-28,96. * Critical Information in IMAGE
Full HTML Index
See Parallel Computing Works for Loosely Synchronous problems
The world looked at macroscopically in terms of interactions between irregular inhomogeneous objects evolved as a time synchronized simulation
eg. circuit simulation for computer or biological applications
Linked sets of neurons (components) of different types
Time taken to model one time step of type i depends on nature of node and interconnect between them

HELP! * YELLOW=global GREY=local HTML version of GLOBAL Foils prepared July 6 1996

Foil 8 Example of Basic Problem Architectures The difficult Asynchronous Class

From HPCC Current Status: Software Trip to China -- July 12-28,96. * Critical Information in IMAGE
Full HTML Index
See Parallel Computing Works Asynchronous problems (including Computer Chess)
The world looked at macroscopically in terms of interactions between irregular inhomogeneous objects evolved as an event driven simulation
eg. Battle of Hastings

HELP! * YELLOW=global GREY=local HTML version of GLOBAL Foils prepared July 6 1996

Foil 9 Example of Basic Problem Architectures for MetaProblem Class

From HPCC Current Status: Software Trip to China -- July 12-28,96. * See also color IMAGE
Full HTML Index
See Parallel Computing Works for Metaproblems including Command and Control
Metaproblems are of growing importance in general HPCC community
One important Example is:
Manufacturing and Design including Multidisciplinary Optimization which combines many fields to look at total product design, manufacturability etc.
  • Geometry
  • Grid Generation
  • Fluid Flow ----> Performance
  • Acoustics
  • Structural Analysis
  • Optimization Module
  • Visualization
Also link in concurrent engineering
  • Design - Manufacturing - Marketing - Service

HELP! * YELLOW=global GREY=local HTML version of GLOBAL Foils prepared July 6 1996

Foil 10 Software Bus Structure of USMADE

From HPCC Current Status: Software Trip to China -- July 12-28,96. * Critical Information in IMAGE
Full HTML Index
USMADE is US Multidisciplinary Analysis and Design Environment Project of MADIC Industrial Consortium

HELP! * YELLOW=global GREY=local HTML version of GLOBAL Foils prepared July 6 1996

Foil 11 Further Examples of Metaproblems

From HPCC Current Status: Software Trip to China -- July 12-28,96. * Important Information in IMAGE
Full HTML Index
Global Change:
  • Atmospherical Model
  • Ocean Model
  • Land Model
  • Policy
  • Visualize
Computational Electromagnetic Scattering (CEM) - A metaproblem of smaller granularity
  • SregionsCalculate Matrix Elements
  • Solve Matrix Equations
  • Visualize
Note this (CEM) itself could be a part - the electromagnetic signature calculation - in design of military aircraft

HELP! * YELLOW=global GREY=local HTML version of GLOBAL Foils prepared July 6 1996

Foil 12 Heterogeneous Metaproblem Structure for Command and Control

From HPCC Current Status: Software Trip to China -- July 12-28,96. * Critical Information in IMAGE
Full HTML Index
Si: Satellite with:
  • Image processing
  • Kalman filter
  • Stereo match
FCi: Fire Control platform
  • with loosely synchronous target-weapon pairing algorithm
E: Overall Asynchronous expert system

HELP! * YELLOW=global GREY=local HTML version of GLOBAL Foils prepared July 6 1996

Foil 13 System Integration and Data Flows for financial modeling on a mix of Workstations, CM5 and Maspar

From HPCC Current Status: Software Trip to China -- July 12-28,96. * Critical Information in IMAGE
Full HTML Index

HELP! * YELLOW=global GREY=local HTML version of GLOBAL Foils prepared July 6 1996

Foil 14 Remarks on What are key Global Issues in determining ease of parallelization of particular applications

From HPCC Current Status: Software Trip to China -- July 12-28,96. * See also color IMAGE
Full HTML Index

HELP! * YELLOW=global GREY=local HTML version of GLOBAL Foils prepared July 6 1996

Foil 15 Criterion for success in parallelizing a particular problem on a particular machine

From HPCC Current Status: Software Trip to China -- July 12-28,96. * See also color IMAGE
Full HTML Index
Software powerful enough to express natural parallelism of problem (work in progress)
Problem is "large"
Architecture of computer at least as "rich" as architecture of problem
  • Temporal (control) structure
    • SIMD v. MIMD
    • This is a strong constrain
  • Spatial (topology) structure
    • "Weak" constraint
    • Mismatches "only" affect performance

HELP! * YELLOW=global GREY=local HTML version of GLOBAL Foils prepared July 6 1996

Foil 16 What is the "correct" machine architecture for each problem class

From HPCC Current Status: Software Trip to China -- July 12-28,96. * See also color IMAGE
Full HTML Index
Problem class Machine
Synchronous SIMD, MIMD
Loosely Synchronous MIMD
Asynchronous Unclear
Metaproblems Heterogeneous network
Embarrassingly Parallel Network of workstations
    • SIMD, MIMD

HELP! * YELLOW=global GREY=local HTML version of GLOBAL Foils prepared July 6 1996

Foil 17 What software is suitable for what problems?

From HPCC Current Status: Software Trip to China -- July 12-28,96. * See also color IMAGE
Full HTML Index

HELP! * YELLOW=global GREY=local HTML version of GLOBAL Foils prepared July 6 1996

Foil 18 What Applications have we learnt from ?

From HPCC Current Status: Software Trip to China -- July 12-28,96. * See also color IMAGE
Full HTML Index
See Generic and Specific Application Glossaries
As nearly all large scale parallel machines are distributed memory, experience is largely
  • Fortran, C plus message passing
  • CM Fortran
  • CM Fortran generalizes to High Performance Fortran (HPF) or HPC++ (remarks independent of language details)
Explicit Message Passing is only available way on "all" MIMD machines for generating good performance although this is at cost of significant user effort
  • user must be given programming models that are portable and scalable - user must "protect investment"
HPF and Massage Passing both require substantial rewriting of code
If existing or modestly modified Fortran 77, C, C++ codes would run "well" on parallel machine, then users would be happy
  • No evidence yet that this feasible on "large" global address space machines
Many users want to use workstation clusters as well as dedicated parallel machines
  • Mesage Passing allows this

HELP! * YELLOW=global GREY=local HTML version of GLOBAL Foils prepared July 6 1996

Foil 19 Comparison of 3 different Programming Models

From HPCC Current Status: Software Trip to China -- July 12-28,96. * Critical Information in IMAGE
Full HTML Index

HELP! * YELLOW=global GREY=local HTML version of GLOBAL Foils prepared July 6 1996

Foil 20 What software systems are appropriate for what problem architectures -- I?

From HPCC Current Status: Software Trip to China -- July 12-28,96. * See also color IMAGE
Full HTML Index
This classification is summarized in Parallel Computing Works Survey
Synchronous:Regular in Space and Time
  • Tightly Coupled Synchronous
  • e.g. Seismic modeling, "Find proton mass", Matrix algebra
High Performance Fortran (HPF), CMFortran, Crystal, C*, APL are natural and can be automatically parallelized on any machine.
  • Data or Geometric Parallelism
Asynchronous:Irregular in Space and Time
  • Loosely Coupled Asynchronous
  • Object oriented languages: Strand, PCN, Linda, CC++
  • Process or Functional Parallelism
  • Need more examples!
  • "No special structure" to be exploited
  • Use statistical load balancing and decomposition methods

HELP! * YELLOW=global GREY=local HTML version of GLOBAL Foils prepared July 6 1996

Foil 21 What software systems are appropriate for what problem architectures -- II?

From HPCC Current Status: Software Trip to China -- July 12-28,96. * See also color IMAGE
Full HTML Index
Loosely Synchronous: Irregular in Space, Regular in Time
  • Tightly coupled, Dynamic, Loosely Synchronous
  • e.g. Finite elements
  • Particle dynamics
Fortran + Message Passing "works but is not portable
Extended HPF (HPF+) designed to do most of these examples
Data or geometric parallelism again but dynamic data structures which are not arrays
  • Need new runtime libraries (CHAOS and PCRC)
  • Need new data structures
  • Load-balancing "solved in principle" if we can find appropriate data structures and global operations

HELP! * YELLOW=global GREY=local HTML version of GLOBAL Foils prepared July 6 1996

Foil 22 Candidate Software Paradigms for each problem architecture

From HPCC Current Status: Software Trip to China -- July 12-28,96. * See also color IMAGE
Full HTML Index
Synchronous: Parallel Fortran such as High Performance Fortran, CC++,Fortran-M, pC++, Crystal, APL..
Loosely Synchronous: Extensions of the above. (HPF+, HPC++)
Asynchronous: Web Technology, PCN, Linda, C++ object-oriented approaches....
  • Event Driven Simulation Packages where appropriate (written in say CC++)
Metaproblems: AVS, MOVIE, PCN, Linda, ADA, Fortran-M, CC++, .... controlling modules written in synchronous or loosely synchronous approach
Embarrassingly Parallel: Several approaches work?
  • AVS, MOVIE, PCN, Linda, Network Express, ISIS, PVM .......
Message Passing works in ALL cases!

HELP! * YELLOW=global GREY=local HTML version of GLOBAL Foils prepared July 6 1996

Foil 23 Parallelism in HPF

From HPCC Current Status: Software Trip to China -- July 12-28,96. * See also color IMAGE
Full HTML Index
Parallelism in HPF is expressed explicitly
  • Fortran 90 array expressions and assignments (including WHERE)
  • Array intrinsics
  • FORALL statement and construct
  • INDEPENDENT assertion on DO loops
Compiler may choose not to exploit information about parallelism
Compiler may detect parallelism in sequential code

HELP! * YELLOW=global GREY=local HTML version of GLOBAL Foils prepared July 6 1996

Foil 24 What gives high performance in HPF

From HPCC Current Status: Software Trip to China -- July 12-28,96. * See also color IMAGE
Full HTML Index
There is tradeoff between parallelism and communication
Programmer defines the data mapping
Underlaying assumptions are that:
An operation on two or more data object is likely to be carried out much faster if they all reside in the same processor,
and that it may be possible to carry out many such operations concurrently if they can be performed on different processors

HELP! * YELLOW=global GREY=local HTML version of GLOBAL Foils prepared July 6 1996

Foil 25 Compiler directives used in HPF

From HPCC Current Status: Software Trip to China -- July 12-28,96. * See also color IMAGE
Full HTML Index
The directives are structured comments that suggest implementation strategies or assert facts about a program to the compiler
They may affect the efficiency of the computation performed, but do not change the value computed by the program
As in Fortran 90 statements, there are both:
  • declarative directives
  • executable directives

HELP! * YELLOW=global GREY=local HTML version of GLOBAL Foils prepared July 6 1996

Foil 26 Syntax of HPF Directives

From HPCC Current Status: Software Trip to China -- July 12-28,96. * See also color IMAGE
Full HTML Index
HPF directives are consistent with Fortran 90 syntax except for the directive prefix:
  • !HPF$
  • CHPF$
  • *HPF$
Two forms of the directives are allowed
  • Specification statements, such as
  • !HPF DISTRIBUTE MYTEMPLATE(BLOCK) ONTO P
  • Equivalent Attributed form, such as,
  • !HPF DISTRIBUTE (BLOCK) ONTO P :: MYTEMPLATE

HELP! * YELLOW=global GREY=local HTML version of GLOBAL Foils prepared July 6 1996

Foil 27 Staged Data Mapping in HPF

From HPCC Current Status: Software Trip to China -- July 12-28,96. * Critical Information in IMAGE
Full HTML Index

HELP! * YELLOW=global GREY=local HTML version of GLOBAL Foils prepared July 6 1996

Foil 28 Goal of High Performance Fortran

From HPCC Current Status: Software Trip to China -- July 12-28,96. * See also color IMAGE
Full HTML Index
Express in a high level portable scalable fashion those aspects of problems one would like to use Fortran for
  • Need not solve all issues Roughly express all data parallelism and needed task parallelism
  • Integrate other programming paradigms to address remaining issues (probably C++ can be better used for "difficult" cases. This implies integrated multilanguage support.)
Lessons from study of
  • CMFORTRAN experience
  • Some initial HPF experience
  • Fortran + Message Passing Experience
Particle Dynamics and Parallel Differential Equation Solving have been studied in detail (for HPF).
  • Image Processing quite well understood due to ARPA iWARP activity (CMU and elsewhere)
  • Other fields less completely understood.

HELP! * YELLOW=global GREY=local HTML version of GLOBAL Foils prepared July 6 1996

Foil 29 Any Complete Programming Environment Must Handle

From HPCC Current Status: Software Trip to China -- July 12-28,96. * See also color IMAGE
Full HTML Index
Data Parallelism
  • Completely handled in extended HPF?
Task Parallelism
  • Partially handled in (extended) HPF? e.g.
    • Embarrassingly Parallel Task Parallelism OK
    • Event Driven Simulations not possible
Metaproblems (task parallelism where each component data parallel)
  • Should we handle directly by; say, adding Fortran-M Syntax to HPF
  • or embed HPF in HPC++, Fortran-M (viewed as "outside" HPF), AVS ....
  • Metaproblems are discussed in Parallel Computing Works

HELP! * YELLOW=global GREY=local HTML version of GLOBAL Foils prepared July 6 1996

Foil 30 The Curious State of Parallel Software!

From HPCC Current Status: Software Trip to China -- July 12-28,96. * See also color IMAGE
Full HTML Index
MPI and PVM as Message Passing Systems are very healthy but the essential ideas are very old -- 10 to 20 years
They are used because the systems work well (as relatively easy to build) and the users understand what to expect
  • Perhaps hard to program this way but you know what you will get and it will do well if you do well!
Parallel C++ is very confused with many standards
HPF -- Data Parallel Fortran -- is a standard challenged by industry somewhat as they find compilers difficult and wish it was simpler
Users find performance of HPF often disappointing and find it often is hard to predict what compiler will do
  • HPF needs more "infrastructure investment". Not clear if it will make it!

HELP! * YELLOW=global GREY=local HTML version of GLOBAL Foils prepared July 6 1996

Foil 31 HPJava Study Rationale

From HPCC Current Status: Software Trip to China -- July 12-28,96. * See also color IMAGE
Full HTML Index
Java is rapidly becoming a dominant distributed computing language driven by the the breadth and depth of the World Wide Web.
  • It implements a natural object or Applet distributed parallelism combined with a
  • classic light weight thread mechanism within a given applet i.e. within a given (SMP) processor.
HPCC has developed technology and the application pull for large scale computation with typically tighter synchronization constraints than those of Java.
Further HPCC can benefit from the pervasive software base illustrated by Web in general and Java in particular.
Correspondingly there are many emerging Web based applications which will need large synchronized computation.

HELP! * YELLOW=global GREY=local HTML version of GLOBAL Foils prepared July 6 1996

Foil 32 HPJava Study is in Draft Form

From HPCC Current Status: Software Trip to China -- July 12-28,96. * See also color IMAGE
Full HTML Index
For these reasons, we thought it useful to examine the confluence of HPCC and Java -- referred to as HPjava.(without knowing what this is!)
In particular it is natural for PCRC to examine its software indrastructure and see how it should be structured/changed to support HPJava.
http://www.npac.syr.edu/users/gcf/hpjava3.html is not a proposal or plan.
  • Rather it is an often conflicting(!) study of issues that emerge when you place Java and HPCC next to each other.
  • Is data Parallelism useful in Java is Controversial!
More thoughtfully, we study Programming Model suggested by HPJava
What is Role of Optimizing Compilers in (HP)Java?
  • What are performance issues -- can we separate out current implementations from intrinsic issues.
There are a large number of important experiments in the community
Other topics include role of CORBA, Security, Model for communication in Java

Northeast Parallel Architectures Center, Syracuse University, npac@npac.syr.edu

If you have any comments about this server, send e-mail to webmaster@npac.syr.edu.

Page produced by wwwfoil on Tue Feb 18 1997