Title :
XChange: coupling parallel applications in a dynamic environment
Author :
Abbasi, Hasan ; Wolf, Matthew ; Schwan, Karsten ; Eisenhauer, Greg ; Hilton, Andrew
Author_Institution :
Coll. of Comput., Georgia Inst. of Technol., Atlanta, GA, USA
Abstract :
Modern computational science applications are becoming increasingly multidisciplinary, 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 work presents the XChangemxn middleware infrastructure for coupling componentized distributed applications. XChangemxn 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, XChangemxn 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, XChangemxn 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 pubparadigm makes it easy to deal with dynamic component arrivals and departures. Dynamic data transformation enables the ´inflight´ correction of data or needs mismatches for cooperating components. This work describes the design and implementation of XChangesub mxn/, and it evaluates its implementation compared to those of less flexible transports like MPI. It also highlights the utility ofXChangemxn´s ´inflight´ data specialization, by applying it to the SmartPointer parallel data visualization environment developed at our institution. Interestingly, using XChangemxn did not significantly affect performance but led to a reduction in the size of the code base.
Keywords :
data structures; electronic data interchange; groupware; middleware; multiprocessing systems; parallel programming; wide area networks; CCA Forum M×N project; MPI; SmartPointer parallel data visualization environment; XChange; componentized distributed applications; computational science applications; concurrent data streaming; cooperating linked parallel programs; data exchanges; data formats; data redistribution; data specialization; data transformation; distributed storage engines; dynamic application behaviors; dynamic arrivals; dynamic component behaviors; dynamic departures; dynamic environment; grid applications; inflight correction; middleware infrastructure; multiple parallel subsystems; parallel applications; publish/subscribe model; wide area scientific collaborations; Analytical models; Atmospheric modeling; Computational modeling; Computer applications; Data visualization; Distributed computing; Educational institutions; Engines; Joining processes; Portals;
Conference_Titel :
Cluster Computing, 2004 IEEE International Conference on
Print_ISBN :
0-7803-8694-9
DOI :
10.1109/CLUSTR.2004.1392646