dc.description.abstract |
Computing has drawn increasing attention during the last years. In spite of the tremendous efforts spent
in the context of this new computing field, there is little understanding on its evolution path as well as the
challenges it raises. One of the most overlooked areas, and the focus of this thesis, is the programming
concept and its implications on both the application layer and the underlying system. Grid application
programming solutions are currently dominated by message-passing-like constructs and distributed shared
data concepts are almost not present in the grid programming landscape, although their conceptual qualities,
such as higher abstraction level, suitability for highly dynamic configurations and natural fault tolerance, are
very attractive reasons for building flexible and scalable grid applications. Although there are many reasons
speaking for the distributed shared data model, performance and scalability related aspects are often the
core arguments against them.
The objective of this work, and its major contribution, is to propose an alternative and novel solution to
support efficiently the shared data programming concept for grids, by applying several ideas which to our
knowledge were not put together in the grid landscape before. Other important objectives are to present a
comprehensive overview and highlight the current situation in grid programming landscape, to analyze and
extend some of the core qualities of a proper grid programming concept which are then used to understand
the shortcomings of some of the existing solutions and consequently to define requirements from
architectural point of view. The most important contribution is to design, develop and demonstrate the
feasibility of a model for distributed shared data programming on the grid, suitable for systems dominated by
large latency connections. The model aims to provide a more appealing programming solution based on an
object oriented view and the combination of a relaxed memory consistency and type coherence. At the same
level, a detailed software architecture which fulfills both the requirements and implements the defined model
complements the design objectives of this work. This challenging goal has been achieved by designing and
analyzing several approaches and selecting the most promising one, which has been extended by combining
several ideas that have not been used together in the context of this problem domain: the model introduces
the universe concept which is an abstraction of networked machines in latency proximity and defines entry
consistency specification as well as specialized objects which provides additional information on data
interactions.
The final objectives relate to the analysis of the designed grid service layer solution for shared data
programming, which is conducted at two different levels: theoretical analysis and prototype benchmarking.
The analysis is supported by defining an easy to apply and consistent evaluation methodology to highlight
both behavioral and performance aspects. As the mathematical model is quite complex, the theoretical
analysis aims to set performance boundaries in a stable system. In order to conduct experimental
evaluations, a Java based prototype (GUN) of the grid universe has been designed and implemented. Based
on a large set of experiments and their analysis, the suitability of different object types for specific interaction
scenarios has been defined. |
en_US |