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 ReportTranscript 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