| 30 | What is the maximum combined work we can give each processor |
| 31 | |
| 32 | How much work can this processor take on level n+1 before it will hold up synchronizations at the next level n, n-1, etc... |
| 33 | == Consider 2 levels of AMR == |
| 34 | * And we are distributing level 0 and we have an estimate for the total level 1 workload |
| 35 | * If we give a single processor a level 0 load > (level 0 + level 1)/MPI_NP then it will keep other processors waiting at the next level 0 sync. |
| 36 | |
| 37 | * So max level 0 load is just (Total WorkLoad for all levels per level 0 step) / MPI_NP |
| 38 | * Then when distributing the level 1 work load - we have to check that nobody will be waiting for the level 1 synchronizations as well as the level 0 synchronization. So how long before any 1 processor is idle after level 1 step? It's level 1 workload + remaining level 0 work load. So max level 1 workload assigned = min(level 1 workload + remaining level 0 workload) |
| 39 | |
| 40 | |
| 41 | |