Parallel HYCOM Development and Dataset Presentation via the Web Matthew Rundquist, Bryan Schleck, Max Smirnoff, Laurie Miller, and Matthew O’Keefe Department of Electrical and.

Download Report

Transcript Parallel HYCOM Development and Dataset Presentation via the Web Matthew Rundquist, Bryan Schleck, Max Smirnoff, Laurie Miller, and Matthew O’Keefe Department of Electrical and.

Parallel HYCOM Development and Dataset
Presentation via the Web
Matthew Rundquist, Bryan Schleck, Max Smirnoff, Laurie
Miller, and Matthew O’Keefe
Department of Electrical and Computer Engineering
and
Parallel Computer Systems Laboratory
University of Minnesota
Minneapolis, Minnesota
October 2000
HYCOM Consortium Meeting
1
Method Used For Portability




OPEN-MP with MPI
OPEN-MP is a collection of compiler directives,
library routines, and environment variables used to
specify shared memory parallelism
Used the same MPI structure as SC-MICOM
OPEN-MP allows variables to be declared as private
October 2000
HYCOM Consortium Meeting
2
Timeline

May 2000 - switched from trying to port with pthreads
to OPEN-MP
– values computed were incorrect using pthreads


Summer 2000 - trial and error of new synchronization
methods on LINUX
September 2000 - OPEN-MP MICOM successfully
ran on LINUX but not SGI
October 2000
HYCOM Consortium Meeting
3
Timeline Continued

October 2000 - visited Dr. Alan Wallcraft
• Dr. Wallcraft found errors that our LINUX boxes ignored
• Dr. Wallcraft helped us understand MPI in SC-MICOM in order
for us to know whether or not MPI was working in OPEN-MP
MICOM

Present - incorporated Dr. Wallcraft’s ideas into
OPEN-MP MICOM and successfully ran it on LINUX
and SGI
October 2000
HYCOM Consortium Meeting
4
OPEN-MP Structure



Created one large parallel region that starts with the
call to micom_glob and ends after the return from
micom_glob
Replaced thread_sync calls with OPEN-MP Barrier
command(!$ OMP BARRIER)
Replaced the psem and vsem calls with OPEN-MP
lock and unlock calls
October 2000
HYCOM Consortium Meeting
5
Problem Files



main.f - replaced sproc call with OPEN-MP
parallel region
micom_glob.f - replaced thread_sync calls with
OPEN-MP Barrier commands
threadit.f - thread synchronization in SC-MICOM
used IRIX specific commands
– created an OPEN-MP locking scheme that properly
synchronized the iothread thread with the worker
thread(s) in the same fashion that the psem and vsem
calls did in SC-MICOM
October 2000
HYCOM Consortium Meeting
6
Problem Files Continued

csupport.c - searched for all IRIX specific
commands and then replaced them with
platform independent code
– any routines that needed to be atomic were replaced
by OPEN-MP atomic blocks

ctiming.c - SC-MICOM contains a block of code
for SGI machines and a separate block for all
other platforms
– timing calculations are not accurate for the non-SGI
platforms
October 2000
HYCOM Consortium Meeting
7
OPEN-MP MICOM Status




Runs on SGI and LINUX at the same runtime as
SC-MICOM for one box with a worker thread and
an iothread
Running on SGI with mpirun -np 2 scales the
same as SC-MICOM
Still working on scaling via mpi on LINUX
Ran a compare script between SC-MICOM and
OPEN-MP MICOM and found that the data
compared was the same
October 2000
HYCOM Consortium Meeting
8
Future Work on Parallel HYCOM




Incorporation of HYCOM code into SC-MICOM, to
create SC-HYCOM
Complete ports to Digital UNIX, Alpha Linux, IBM SP,
and Cray T3E
Test runs on multiple processor machines such as
the IBM-SP and an ALPHA Linux machine
Test runs on “multiple node” clusters
– i.e., two 2 processor LINUX boxes versus two 2 processor
SGI boxes

Performance tuning of all the above
October 2000
HYCOM Consortium Meeting
9
Online Distribution of Ocean Simulations
HYCOM Movies on the Web



Java applets provide user interface
Perl scripts create data in the background
Three different Java applets planned:
– Creation of subsets of raw data
– Rendering of still images or movies
– Cross-sections, point tracking, other (t.b.d.)

User can specify which data fields appear in movies,
subsets,etc..
October 2000
HYCOM Consortium Meeting
10
Current Efforts

Data subset applet is finished
– User can get a subset of layered and non-layered data,
– and specify which layers (1-16) to include
– C programs are provided to generate images and floating
– point data from subsets.

Movie applet is almost finished
– Currently generates movies of entire Atlantic ocean
– User specifies which variables and layers to include
– Future additions:
• User will select any subset of the ocean
• Generate MPEG movies instead of animated .gif

Applet for cross-sections, point tracking, etc… is in
design stage
October 2000
HYCOM Consortium Meeting
11
October 2000
HYCOM Consortium Meeting
12
October 2000
HYCOM Consortium Meeting
13