Changes between Version 6 and Version 7 of ScramblerPaper


Ignore:
Timestamp:
05/11/11 11:52:35 (14 years ago)
Author:
Jonathan
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • ScramblerPaper

    v6 v7  
    1  = Research into new AMR algorithms implemented in the astrophysical code AstroBEAR =
     1 = Efficient Parallelization for AMR MHD Multiphysics Calculations; Implementaion in AstroBEAR =
    22* Abstract
    33  * Current and future AMR simulations will require algorithms that are highly parallelized and manage memory efficiently.  In the redesign of AstroBEAR we have attempted to employ new techniques to achieve both of these goals.  Patch based AMR often employs ghost cells to decouple the hyperbolic advances of each grid.  This decoupling allows each patch to be advanced independently.  In AstroBEAR we utilize this independence to allow patches across multiple refinement levels to be advanced independently with preference going to the finer level patches.  This allows for global load balancing instead of level by level load balancing and allows for greater parallelization across both space and AMR level which can improve performance in deep simulations with many levels of refinement.  With regard to memory management we have employed a distributed tree algorithm so processors no longer need to store the entire tree structure.  We have also implemented a sweep method that pipelines the computations required for updating the fluid variables using unsplit algorithms.  This can dramatically reduce the memory overhead required for intermediate variables.
     
    2626 
    2727* Threaded MultiLevelAdvance
    28  * Many if not all current AMR codes tend to perform grid updates across all levels in a prescribed order (0, 1, 2, 2, 1, 2, 2, 0...)  Good performance then requires each level update to be balanced across all processors.  Load balancing each level however, often leads to artificial fragmentation of grids and requires each processor to have grids on every level.  This however, limits the depth of the AMR tree and the resulting simulations are often performed with large base grids with only 1 or 2 levels of AMR.  The benefit of AMR however, is best utilized for scenarios with large dynamic ranges - and having only 2 levels of AMR severely limits the dynamic range that can be followed.  In AstroBEAR we allow each levels grid advances to happen independently so that processors with coarse grids can update those grids while other processors with fine grids update theirs...  [wiki:ScramblerThreading Include some figures from here]
     28 * Many if not all current AMR codes tend to perform grid updates across all levels in a prescribed order (0, 1, 2, 2, 1, 2, 2, 0...)  Good performance then requires each level update to be balanced across all processors.  Load balancing each level however, often leads to artificial fragmentation of grids and requires each processor to have grids on every level.  This however, limits the depth of the AMR tree and the resulting simulations are often performed with large base grids with only 1 or 2 levels of AMR.  The benefit of AMR however, is best utilized for scenarios with large dynamic ranges - and having only 2 levels of AMR severely limits the dynamic range that can be followed.  In AstroBEAR we allow each levels grid advances to happen independently so that processors with coarse grids can update those grids while other processors with fine grids update theirs...
     29[[Image(http://www.pas.rochester.edu/~johannjc/Papers/Carroll2010/figure1.png)]]
    2930
    3031* Load Balancing