See Grid Creation for grids are created, i.e. how the BoxArray on which MultiFabs will be built is defined at each level.
See Load Balancing for the strategies AMReX supports for distributing grids to MPI ranks, i.e. defining the DistributionMapping with which MultiFabs at that level will be built.
When running on multicore machines with OpenMP, we can also control the distribution of work by setting the size of grid tiles (by defining fabarray_mfiter.tile_size). We can also specify the strategy for assigning tiles to OpenMP threads. See the AMReX documentation for more about tiling.