DISPATCH
load_balance_mod Module Reference

Keep track of neighbor ranks and their loads, by sending and receiving short messages, storing the info in a linked list. More...

Data Types

type  load_balance_t
 

Variables

type(load_balance_t), public load_balance
 

Detailed Description

Keep track of neighbor ranks and their loads, by sending and receiving short messages, storing the info in a linked list.

When nbor lists are generated by init_all_nbors, an nbor_info_t data type is added for each neighbor rank. Part of the data type is a mesg_t data type with a buffer for receiving load balance messages from neighbor ranks. THe first receive request is issued when the data type is first allocated. The nbor_info_listrecv procedure checks the list for completed messages, unpack them, and issues new receive requests.

With respect to critical regions: The nbor_info list is essentially static, except it can change if a new boundary patch is added, which has a neighbor rank that was not on the list before. If load balancing is handled by one patch at a time, inside a critical region, then no other critical regaion shouls be needed.