[FLASH-USERS] Improving the load balancing in FLASH
Mike Zingale
mzingale at scotty.ess.sunysb.edu
Tue Sep 8 09:43:04 EDT 2009
Brian is right -- the situation is entirely problem dependent. For cases
where you are locally refining only a small region of the domain,
subcycling in time can give you a big boost. Jonathan and I considered
cases that were typical to the applications that the FLASH center was
working on at the time -- large regions were typically refined.
Mike
On Tue,
8 Sep 2009, Brian O'Shea wrote:
> 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
>>>
>
-----------------------------------------------------------------------------
Michael Zingale (mzingale at mail.astro.sunysb.edu)
Assistant Professor
Dept. of Physics and Astronomy office: ESS 440
Stony Brook University phone: 631-632-8225
Stony Brook, NY 11794-3800 web: http://www.astro.sunysb.edu/mzingale
-----------------------------------------------------------------------------
More information about the flash-users
mailing list