[FLASH-USERS] Improving the load balancing in FLASH

Brian O'Shea oshea at msu.edu
Tue Sep 8 09:35:48 EDT 2009


In all fairness, the statement that Anshu made depends a lot on the  
type of problem you are using.  For example, the Enzo AMR code is  
mainly used for astrophysical applications that are gravity-dominated,  
so most of the action takes place in a very small fraction of the  
simulation volume, and can use many levels of refinement.  The only  
way that this sort of problem is tractable is by using adaptive time- 
stepping.  One of the main complications of such an adaptive time- 
stepping scheme is keeping all of the mesh levels synched up.  It also  
makes load-balancing a significant challenge - one is forced to  
distribute grids on a level-by-level basis, and if only a small  
fraction of the volume is refined (as in our cosmology simulations...)  
you destroy grid locality, which increases communication and decreases  
scalability.

Brian

> This was considered several years ago. Then Mike Zingale and Jonathan
> Dursi proved that the computational savings from coarse blocks having
> a coarse time step are too insignificant to be worth pursuing. This is
> because the computational time in the finer blocks completely
> dominates that in coarser blocks for the same area of computational
> domain. I believe that study appeared in some proceedings, if you are
> interested I can dig up the reference.
>
> Anshu
>
> On Tue, Sep 8, 2009 at 4:17 AM, Ross Parkin<phy1erp at leeds.ac.uk>  
> wrote:
>> Hello,
>>
>> I've been thinking about the load balancing method used in FLASH. The
>> timestep used by the hydro units is the same on all refinement  
>> levels and so
>> blocks are essentially distributed by paramesh so that all  
>> processors have
>> the roughly the smae number of blocks. Has anyone tried modifying  
>> FLASH so
>> that each refinement level has its own timestep? To do this  
>> properly you
>> would need to modify how PARAMESH distributes blocks amongst  
>> processors,
>> taking account of the relative work done by each block on each  
>> refinement
>> level, i.e. a block on a finer refinement level may need to do  
>> twice as many
>> hydro loops before its simulation time equals that of a coarser  
>> block.
>>
>> Any ideas guys?
>>
>> Cheers,
>>
>> Ross Parkin
>>
>




More information about the flash-users mailing list