Appendix B

The DDB is a general purpose tool for coupling multiple, possibly heterogeneous, parallel models.  It is implemented as a library used by all participating elements, one of which serves as a distinguished process during a startup phase preceding the main computation (Sklower et al., 2002). This "registration broker" process correlates offers to produce quantities with requests to consume them, forwards the list of intersections to each of the producers, and informs each consumer of how many pieces to expect.  After the initial phase, the registration broker may participate as a regular member of the computation.  A library of data translation routines is included in the DDB to support exchanges of data between models using different computational grids.  Having each producer send directly to each consumer conserves bandwidth, reduces memory requirements, and minimizes the delay that would otherwise occur if a centralized element were to reassemble each of the fields and retransmit them.

Function

Software tool to handle distributed data exchange between the ESM component

Major Task

Gather information from each model component (may have been decomposed into many subdomains running at different processors).

Convert data resolutions, units, etc., and redistribute them to the needed model components.

Keep track of coupling sequence, such as how often AGCM needs sea surface temperature and which processors have that information.