Difference between revisions of "Parallel Broadband"

From SCECpedia
Jump to navigationJump to search
(Created page with '== Overview == The original SCEC Broadband Platform executes a simulation workflow in a serial manner. Each code within each module, and the workflow itself, is executed seriall…')
 
Line 1: Line 1:
 
== Overview ==
 
== Overview ==
  
The original SCEC Broadband Platform executes a simulation workflow in a serial manner. Each code within each module, and the workflow itself, is executed serially. There are three levels in which the platform can be parallelized:
+
The original SCEC Broadband Platform executes a simulation workflow in a serial manner. Each code within each module, and the workflow itself, is executed serially. All BBP simulations involve these sequence of steps:
 +
 
 +
# rupture generation
 +
# low-frequency seismogram synthesis for N stations
 +
# high-frequency seismogram synthesis for N stations
 +
# application of site effects for N stations
 +
# goodness of fit calculations
 +
# plotting
 +
 
 +
 
 +
Rupture generation reads in a few input files and outputs a single source rupture description. Seismogram synthesis and site effects run on a list of N stations. Goodness of fit and plotting require information from the previously generated seismograms of all stations.
 +
 
 +
 
 +
There are three levels in which the platform can be parallelized:
  
 
# Parallelize the scientific codes used in each module (MPI, OpenMP)
 
# Parallelize the scientific codes used in each module (MPI, OpenMP)
Line 7: Line 20:
 
# Parallelize groups of simulations (multiple simulation workflows can execute simultaneously)
 
# Parallelize groups of simulations (multiple simulation workflows can execute simultaneously)
  
The approach described here is the second option.
 
  
 +
The approach described here is the second option. Seismogram synthesis and site effects are broken out by station and those modules are run in parallel. A simulation involving 100 stations may be run on up to 100 cores, giving an approximately 100x speed-up in execution speed.
  
== Approach ==
+
 
 +
== Parallel Broadband ==
  
 
A new software layer has been added on top of the existing BBP software stack that allows a user to parallelize an existing serial workflow and execute it either on multiple cores within a single host or multiple nodes on a HPC resource. The user begins by creating a simulation workflow description in the traditional way (using run_bbp.py) and saving it to disk. Then, the new parallel interface is invoked on that workflow description. The serial workflow is parsed, parallelized, and optionally executed.
 
A new software layer has been added on top of the existing BBP software stack that allows a user to parallelize an existing serial workflow and execute it either on multiple cores within a single host or multiple nodes on a HPC resource. The user begins by creating a simulation workflow description in the traditional way (using run_bbp.py) and saving it to disk. Then, the new parallel interface is invoked on that workflow description. The serial workflow is parsed, parallelized, and optionally executed.
  
All BBP simulations involve these sequence of steps:
 
 
# rupture generation
 
# low-frequency seismogram synthesis for N stations
 
# high-frequency seismogram synthesis for N stations
 
# application of site effects for N stations
 
# goodness of fit calculations
 
# plotting
 
 
Rupture generation reads in a few input files and outputs a single source rupture description. Seismogram synthesis and site effects run on a list of N stations. Goodness of fit and plotting require information from the previously generated seismograms of all stations. The approach taken in Parallel BBP is to break out steps #2 through #4 by station and run those modules in parallel. A simulation involving 100 stations may be run on up to 100 cores, giving an approximately 100x speed-up in execution speed.
 
  
  
== Supported System Configurations ==
+
=== Supported System Configurations ===
  
 
Parallel Broadband can be run on three types of systems:
 
Parallel Broadband can be run on three types of systems:
  
 
# Any stand-alone, multi-processor computer running Linux
 
# Any stand-alone, multi-processor computer running Linux
# Any HPC resource with a job scheduler that supports multi-node jobs, and MoM nodes that can ssh into the compute nodes of the job
+
# Any HPC resource running Linux and a job scheduler that supports multi-node jobs, and MoM nodes that can ssh into the compute nodes of the job
 
# Remotely to any system as described in #2 via GRAM
 
# Remotely to any system as described in #2 via GRAM
 +
  
 
So, Parallel Broadband can be run on a quad-core desktop computer and use all four cores. It can also run as a PBS/Torque job submitted to USC HPCC, and use as many cores as there are stations in the simulation.
 
So, Parallel Broadband can be run on a quad-core desktop computer and use all four cores. It can also run as a PBS/Torque job submitted to USC HPCC, and use as many cores as there are stations in the simulation.
  
  
== Running Parallel BBP ==
+
=== Running ===
  
 
TBD
 
TBD

Revision as of 20:14, 18 January 2012

Overview

The original SCEC Broadband Platform executes a simulation workflow in a serial manner. Each code within each module, and the workflow itself, is executed serially. All BBP simulations involve these sequence of steps:

  1. rupture generation
  2. low-frequency seismogram synthesis for N stations
  3. high-frequency seismogram synthesis for N stations
  4. application of site effects for N stations
  5. goodness of fit calculations
  6. plotting


Rupture generation reads in a few input files and outputs a single source rupture description. Seismogram synthesis and site effects run on a list of N stations. Goodness of fit and plotting require information from the previously generated seismograms of all stations.


There are three levels in which the platform can be parallelized:

  1. Parallelize the scientific codes used in each module (MPI, OpenMP)
  2. Parallelize the individual simulation workflow (parallelize the seismogram synthesis by station)
  3. Parallelize groups of simulations (multiple simulation workflows can execute simultaneously)


The approach described here is the second option. Seismogram synthesis and site effects are broken out by station and those modules are run in parallel. A simulation involving 100 stations may be run on up to 100 cores, giving an approximately 100x speed-up in execution speed.


Parallel Broadband

A new software layer has been added on top of the existing BBP software stack that allows a user to parallelize an existing serial workflow and execute it either on multiple cores within a single host or multiple nodes on a HPC resource. The user begins by creating a simulation workflow description in the traditional way (using run_bbp.py) and saving it to disk. Then, the new parallel interface is invoked on that workflow description. The serial workflow is parsed, parallelized, and optionally executed.


Supported System Configurations

Parallel Broadband can be run on three types of systems:

  1. Any stand-alone, multi-processor computer running Linux
  2. Any HPC resource running Linux and a job scheduler that supports multi-node jobs, and MoM nodes that can ssh into the compute nodes of the job
  3. Remotely to any system as described in #2 via GRAM


So, Parallel Broadband can be run on a quad-core desktop computer and use all four cores. It can also run as a PBS/Torque job submitted to USC HPCC, and use as many cores as there are stations in the simulation.


Running

TBD