Title: Approaching the Challenge of GridEnabling Applications
1Approaching the Challenge of Grid-Enabling
Applications
- Kieran Nolan
- May 15th, 2008
2Agenda
- Challenges to Consider
- About Grid Enabling
- Background on Level-Set Methods
- An Approach to Grid Enabling
- Summary
- Discussion Q/A
3Challenges to consider
- From the July 2007 final report to the NSF on
Cyber Fluid Dynamics - Although large-scale computing has brought many
advances to the field, expertise for scaling
codes effectively to possibly hundreds of
thousands of processors is not widely available,
especially for flows with multiphysics content
where the mathematical foundations of the subject
often cause difficulties often not widely
appreciated by practitioners in other
disciplines. - most in the community do not see a clear path
to mechanisms for open-source code development or
efficient handling of large datasets which are
essential for wide participation.
4About Grid Enabling
- What Does it Mean to Grid Enable?
- Why Consider Grid Enabling?
- What Makes This a Challenge?
- What Approaches Exist?
5What Does it Mean to Grid Enable?
- Grid Enabling refers to the adaptation or
development of a program to provide the
capability of interfacing with a grid middleware
in order to schedule and utilize resources from a
dynamic and distributed pool of grid resources
in a manner that effectively meets the programs
needs
6Why Consider Grid Enabling?
- Utilize resources available through the grid
environment - Avoid (or minimize) purchasing high-end computing
hardware - Leverage underutilized resources in an enterprise
- Optimize usage of expensive resources (hardware
software) - Most applications can be adapted to run in a grid
environment with varying benefits - i.e. some problems benefit from performance
improvement, while others seek access to scarce
resources - The most ideal problems tend to possess these
characteristics - Highly parallelizable algorithms
- Highly cohesive, lightly coupled algorithms
- Computational extensive algorithms
7What Makes Grid Enabling a Challenge?
- Different challenges present themselves depending
on whether the program to grid enable is a COTS
or home-grown product - COTS must design around program limitations
- Home-grown must design to a grid application
programming interface - Common Challenges
- Standards for grid technologies
- Software licensing issues
- Network bandwidth requirements
- Complications with horizontal business
integration - Security concerns
8How to Approach Grid Enabling?
- Considerations on approach taken
- Type of infrastructure being utilized
- Cluster based solutions (consider departmental
grids) - Enterprise grid solutions
- Global grid solutions
- Type of application
- COTS
- Custom development
- Profile of application
- Computationally demanding
- Data intensive
- Desired result
- Performance improvement
- Schedule to complete
- Usage of specialized resource(s)
9Background on Level-Set Methods
- Why Grid Enable Level-Set Methods?
- Background on Level-Set Methods
- Decomposition of Level-Set Methods
- Computational Challenges in Level-Set Methods
- Numerical Methods for PDEs
- Sample Problems
10Why Grid Enable Level-Set Methods?
- Problem Need to simulate dynamic implicit
surfaces and time-dependent partial differential
equations - How this is accomplished Complex level-set based
algorithms that require extensive computational
power for even relatively simple scenarios - Challenge How can level-set methods be adapted
to effectively leverage the distributed nature of
resources available through a grid environment?
11Background on Level-Set Methods
- What are level-set methods?
- Numerical methods used for solving a class of
partial differential equations (PDEs)
Hamilton-Jacobi (HJ) PDEs - Implicitly represent surfaces using a level-set
function - A wide array of surface motions can be
accommodated - Allow evolution of interfaces as a zero level-set
function of a time-dependent function - Where are level-set methods used?
- Useful when front-capturing techniques are more
suitable than front-tracking or when complex
motion is being modeled - Many applications exist for level-set methods,
including - Image processing
- Graphics
- Fluid dynamics
12Decomposition of Level-Set Methods
- Requires manipulation of 3-D grid spaces, similar
to that shown on the right - Extensive use of matrix operations
- High order accuracy requires high resolution (?x,
?y) grids and fine time steps (?t)
13Computational Challenges in Level-Set Methods
- Partial Derivative Calculations (PDEs)
- Laplacian Calculations
- Signed Distance Function (SDF)
- Fast Marching Methods, Re-Initialization
- Calculation of Normals, Gradients, Curvatures,
and Directional Derivatives - Velocity and External Flows
14Numerical Methods for PDEs
- Methods available for use in solving the
advection problems include - The Simple Upwind Method
- Essentially Non-Oscillatory Method (ENO)
- Based on Newtons divided differences method
- Offers up to third order spatial accuracy
- Weighted Essentially Non-Oscillatory Method
(WENO) - Enhances accuracy of the ENO method
- Offers up to fifth order spatial accuracy
- Total Variation Diminishing Runge-Kutta (TVD RK)
- Higher order accuracy through temporal
discretization - Offers up to third degree temporal accuracy
15Sample Level-Set Problems
- Following are two examples of level-set methods
16Level-Set Methods 1-D Advection Example
- Problem Statement (hat problem)
- One dimensional advection problem
- Domain -2 lt x lt 7, subject to the condition that
171-D Advection Example Graphical Solution
- The following graphic is the output of the hat
problem at final time T 5 using all TVD RK
techniques and all ENOs/WENO
18Level-Set Methods 2-D Advection Example
- Implement a two-dimensional motion due to
external flow fields as done in the Sun,
Beckermann paper - Using an initial level-set function as described
by - Started with a simple 2-D advection without the
right-hand side to show that it can be moved
effectively with
192-D Advection Example Graphical Solution
- Implemented using the 5th order WENO with the
right-hand side included over a 160x160 grid on x
? 0,1 and y ? 0,1.
20An Approach to Grid Enabling
- Characterization of Grid Enabling Level-Set
Methods - How to Approach this Problem?
- About the Grid Enabled Level-Set Solution
- Simulation of the Grid Environment
21Characterization of Grid Enabling Level-Set
Methods
- Type of infrastructure to utilize
- Enterprise grid solutions
- Type of application
- Custom application
- Profile of application
- Computationally demanding with data
considerations - Desired result
- Performance improvement
22How to Approach this Problem?
- Grid Environment
- Identify the necessary components of the grid
environment - Architect the experimental grid environment
- Identify and understand potential approaches for
scheduling and executing on the grid environment - Develop a method to simulate the described
environment - Level-Set Methods
- Understand detailed mechanics behind level-set
methods - Adapt algorithms to execute on grid environment
- Execute representative set of problems on grid
simulation environment - Identify best-fit approach from possible
candidates - Explanation of appropriateness of chosen
scheduling approach to dynamics of the level-set
mechanics
23About the Grid Enabled Level-Set Solution
- Three major components to consider
- How does the algorithm interface with the grid?
- How do we simulate the grid infrastructure?
- How do we effectively schedule across grid
resources?
24Simulation of the Grid Environment
- A key element of the grid enabling approach used
for level-set methods includes simulating the
grid environment - Multiple grid simulation tools exist
- GridSim
- http//www.gridbus.org/gridsim/
- MicroGrid
- http//www-csag.ucsd.edu/projects/grid/microgrid.h
tml - SimGrid
- http//simgrid.gforge.inria.fr/
- Bricks
- http//ninf.apgrid.org/bricks/
25Summary
- Grid enabling an application...
- allows it to leverage grid resources
- may depend on its type and profile
- presents many potential benefits
- The approach to grid enabling level-set methods
- seeks to leverage grid resources to reduce
overall run-time - seeks to identify the most suitable scheduling
approach based on simulation of resources and
application profile - Grid Simulation
- allows for testing various grid configurations
- allows for testing various scheduling approaches
- allows for profiling the execution and
communication overheads
26Discussion Q/A
- Questions?
- Comments?
- Discussion topics?