Code Coupling Technologies: InterComm, HPCALE, Overture

Download Report

Transcript Code Coupling Technologies: InterComm, HPCALE, Overture

Code Coupling Technologies: InterComm, HPCALE, Overture
Alan Sussman, Il-Chul Yoon, Shang-chieh Wu, Norman Lo
University of Maryland
InterComm Overview
For performing efficient, direct data transfers by exchanging (multi-dimensional)
data structures between multiple programs (MxN data transfer)
For controlling when data transfers occur
Use Overture/P++ for interpolation operations between different models
Proc
2
Data Block
Model1
Proc
3
Proc
4
Proc
2
Interpolated Data Block
Proc
1
Proc
1
Overture
•
• A set of C++ classes providing:
Coupling information is not hard-coded, but separated into
XML Job Description (XJD) file
•
Model2
•
Simpler API by encapsulating InterComm v1.1 low-level APIs.
Multicast functionality
Interpolation between (moving, static)
overlapping grids
Powerful syntax for data manipulation
including array arithmetic and (numerical)
differential operators
Registration and archiving of grids,
coordinate mapping, and state variables
in HDF database(s)
Seamless interaction with InterComm
Transfer a distributed data block in one program to multiple other
programs, with one call in exporting program
Data Block
<ICXJD>
<version>1.5</version>
programs
<components>
<component id=“Left“ nNode=4/>
<component id=“Right“ nNode=2/>
coupling
</components>
<connections>
<connection id=“couple" type="float" msgtag="10001"
exporter=“Left" importer=“Right"
exportport=“lport" importport="rport"/>
</connections>
</ICXJD>
Proc
2
Overture
Use-Case: InterComm Data Exchange with Interpolation
HPCALE
•
New programming model based on XJD
New API utilizes XJD, which makes a program that uses
InterComm a general software component
Proc
1
InterComm
•
Programming API and runtime library
InterComm
•
InterComm 1.6 Features
An XJD-based program launching environment
Handles multiple resource discovery and allocation
Left
Right
(F90 using MPI)
P++ using PVM
lport
rport
couple
InterComm 1.6 Port Coupling
XML Job Description Example
Automatically launches applications on desired resources
Help user to create XJD by providing Web Tool
•
Benefits
InterComm
Free users from repetitive, time-consuming, error-prone program
launching process – multiple programs on multiple resources
discover
HPCALE using XJD generated by Web Tool
InterComm and HPCALE Current Status
•
InterComm 1.6
Bindings for C, C++/P++, Fortran 77, Fortran90
allocate
XJD
HPCALE
Set of coupled programs that use InterComm launched by
Web Tool: Create Connection
launch
Released for Linux, AIX, Solaris as of May 2007
Incorporated into next versions of CMIT, LR
•
HPCALE 1.0
Released June 2007
With Web Tool to build XJDs, server up and running at Maryland
Prepare runtime environment for InterComm
HPCALE Overview
Web Tool: Create Component