The field of Grid computing has in recent years emerged and been established as
an enabling technology for a range of computational eScience applications. The use
of Grid technology allows researchers and industry experts to address problems too
large to efficiently study using conventional computing technology, and enables new
applications and collaboration models. Grid computing has today not only introduced
new technologies, but also influenced new ways to utilize existing technologies.
This work addresses technical aspects of the current methodology of Grid computing;
to leverage highly functional, interconnected, and potentially under-utilized
high-end systems to create virtual systems capable of processing problems too large
to address using individual (supercomputing) systems. In particular, this thesis studies
the job and resource management problem inherent to Grid environments, and aims to
contribute to development of more mature job and resource management systems and
software development processes. A number of aspects related to Grid job and resource
management are here addressed, including software architectures for Grid job management,
design methodologies for Grid software development, service composition
(and refactorization) techniques for Service-Oriented Grid Architectures, Grid infrastructure
and application integration issues, and middleware-independent and transparent
techniques to leverage Grid resource capabilities.
The software development model used in this work has been derived from the
notion of an ecosystem of Grid components. In this model, a virtual ecosystem is
defined by the set of available Grid infrastructure and application components, and
ecosystem niches are defined by areas of component functionality. In the Grid ecosystem,
applications are constructed through selection and composition of components,
and individual components subject to evolution through meritocratic natural selection.
Central to the idea of the Grid ecosystem is that mechanisms that promote traits
beneficial to survival in the ecosystem, e.g., scalability, integrability, robustness, also
influence Grid application and infrastructure adaptability and longevity.
As Grid computing has evolved into a highly interdisciplinary field, current Grid
applications are very diverse and utilize computational methodologies from a number
of fields. Due to this, and the scale of the problems studied, Grid applications typically
place great performance requirements on Grid infrastructures, making Grid infrastructure
design and integration challenging tasks. In this work, a model of building on,
and abstracting, Grid middlewares has been developed and is outlined in the papers.
In addition to the contributions of this thesis, a number of software artefacts, e.g., the
Grid Job Management Framework (GJMF), have resulted from this work.