"
Modern computational science applications are becoming increasingly multi-disciplinary, involving widely distributed research teams and their underlying computational platforms. A common problem for the grid applications used in these environments is the necessity to couple multiple, parallel subsystems, with examples ranging from data exchanges between cooperating, linked parallel programs, to concurrent data streaming to distributed storage engines. This paper presents the $XChange_{mxn}$ middleware infrastructure for coupling componentized distributed applications. $XChange_{mxn}$ implements the basic functionality of well-known services like the CCA Forum's MxN project, by providing efficient data redistribution across parallel application components. Beyond such basic functionality, however, $XChange_{mxn}$ also addresses two of the problems faced by wide area scientific collaborations, which are (1) the need to deal with dynamic application/component behaviors, such as dynamic arrivals and departures due to the availability of additional resources, and (2) the need to `match' data formats across disparate application components and research teams. In response to these needs, $XChange_{mxn}$ uses an anonymous publish/subscribe model for linking interacting components, and the data being exchanged is dynamically specialized and transformed to match end point requirements. The pub/sub paradigm makes it easy to deal with dynamic component arrivals and departures. Dynamic data transformation enables the `in flight' correction of data or needs mismatches for cooperating This paper describes the design and implementation of $XChange_{mxn}$, and it evaluates its implementation compared to those of less flexible transports like MPI. It also highlights the utility of $XChange_{mxn}$' 'in flight' data specialization, by applying it to the SmartPointer parallel data visualization environment developed at our institution. Interestingly, using $XChange_{mxn}$ did not significantly affect performance but led to a reduction in the size of the code base. -----------------------------2447672026513332078668277 Content-Disposition: form-data; name="PASSWORD" Hasan123