The primary focus of this book is the rapidly evolving software technology for supporting the development, execution, management, and experimentation with parallel and distributed computing environments. The design, development, and utilization of parallel and distributed computing environments that can efficiently support a wide range of scientific and engineering applications remains a challenging research problem due to the complexity and varying requirements of the applications, heterogeneity of the computing systems and their networks, asynchronous complex interactions among the system and application components, and the heterogeneity of the software tools and environments.