The document discusses various adaptive load balancing techniques for distributed applications in grid environments. It first describes adaptive mesh refinement algorithms that partition computational domains using space-filling curves or by distributing grids independently or at different levels. It also discusses dynamic load balancing using tiling and multi-criteria geometric partitioning. The document then covers repartitioning algorithms based on multilevel diffusion and the adaptive characteristics of structured adaptive mesh refinement applications. Finally, it discusses adaptive workload balancing on heterogeneous resources by benchmarking resource characteristics and estimating application parameters to find optimal load distribution.