Virtualization in Parallel Distributed Computing
A decade and a half ago, the Parallel Virtual Machine abstraction strived to virtualize a collection of heterogeneous components into a generalized concurrent computing resource. PVM presented a unified programming, model backed by runtime subsystems and scripts that homogenized machine dependencies. This paradigm has had mixed success when translated to computing environments that span multiple administrative and ownership domains. We argue that multidomain resource sharing is critically dependent upon decoupling provider concerns from client requirements, and suggest alternative methodologies for virtualizing heterogeneous resource aggregates. We present the H2O framework, a core subsystem in the Harness project, and discuss its alternative approach to metacomputing. H2O is based on a “pluggable” software architecture to enable flexible and reconfigurable distributed computing. A key feature is the provisioning of customization capabilities that permit clients to tailor provider resources as appropriate to the given application, without compromising control or security. Through the use of uploadable “pluglets”, users can exploit specialized features of the underlying resource, application libraries, or optimized message passing subsystems on demand. The current status of the H2O system, recent experiences, and planned enhancements are described, in the context of evolutionary directions in virtualizing distributed resources.