Design and evaluation of a high-level Grid communication infrastructure
Developing a distributed application in a Grid context is likely to require considerable effort, whether to evolve existing code or to upgrade programmers' skills, for the sake of adapting to Grid-specific communication technologies. As a solution, targeted to the Java technology, this paper proposes HiC, a high-level communication infrastructure, which hides the low-level data transfer mechanisms and hides concerns about them from applications. HiC adheres to a service-aware, connection-oriented, object stream paradigm. It can easily cater for a new data-transfer technology, without any impact on the application built on top of it and, furthermore, without undergoing much adaptation itself. Architecturally, HiC consists of two layers. The upper layer allows software to obtain remote services through simple but powerful abstractions, while the lower layer provides the upper layer with uniform access to a specific underlying data-transfer technology, such as GridRPC and XIO. The performance of HiC has been evaluated, and found to be acceptable even for relatively small amounts of data and the faster XIO data transfer. A standard interfacing architecture is also proposed, whereby all dependencies on HiC of user software can be confined within just an 'intermediary' pair per service. Furthermore, HiC has proven useful as a communication infrastructure for our ReD reflective framework for transparent distributed object allocation. The combination of HiC and ReD affords an advantageous synergy, which frees developers from the concerns of retargeting ReD to specific transfer technologies, and implementing the intermediaries between an application and HiC. Copyright (c) 2006 John Wiley & Sons, Ltd.
communication grid systems software architectures