  One of the factors that limits the scale, performance, and sophistication of
distributed applications is the difficulty of concurrently executing them on
multiple distributed computing resources. In part, this is due to a poor
understanding of the general properties and performance of the coupling between
applications and dynamic resources. This paper addresses this issue by
integrating abstractions representing distributed applications, resources, and
execution processes into a pilot-based middleware. The middleware provides a
platform that can specify distributed applications, execute them on multiple
resource and for different configurations, and is instrumented to support
investigative analysis. We analyzed the execution of distributed applications
using experiments that measure the benefits of using multiple resources, the
late-binding of scheduling decisions, and the use of backfill scheduling.

Distributed, Parallel, and Cluster Computing