Lower levels have too little work for efficient parallelization.
Note that we cannot simply remove the lower levels because they play a vital role in the numerical convergence of our eigenvalue algorithm. We can expect better scaling as we address more complicated problems, which place additional computational work at the highest levels. We divide the execution time for the eigenvalue algorithm, including time spent building the adaptive grid hierarchy, into numerical computation, time lost to load imbalance, communication among grids at the same level of the hierarchy, communication between levels, error estimation, load balancing, and grid generation. Error estimation, load balancing, and grid generation consume only a few percent of the total execution time. As computation times drop with additional processors, communication overheads become a dominant factor in overall performance.