130 likes | 330 Views
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.
E N D
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 HYCOM Consortium Meeting
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 HYCOM Consortium Meeting
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 HYCOM Consortium Meeting
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 HYCOM Consortium Meeting
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 HYCOM Consortium Meeting
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 HYCOM Consortium Meeting
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 HYCOM Consortium Meeting
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 HYCOM Consortium Meeting
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 HYCOM Consortium Meeting
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.. HYCOM Consortium Meeting
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 HYCOM Consortium Meeting