Premium
A flexible framework for consistency management
Author(s) -
Weber S.,
Nixon P. A.,
Tangney B.
Publication year - 2002
Publication title -
concurrency and computation: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.309
H-Index - 67
eISSN - 1532-0634
pISSN - 1532-0626
DOI - 10.1002/cpe.615
Subject(s) - computer science , consistency (knowledge bases) , consistency model , distributed computing , protocol (science) , flexibility (engineering) , programmer , java , granularity , object oriented programming , cache coherence , set (abstract data type) , reflection (computer programming) , semantics (computer science) , software engineering , programming language , operating system , data consistency , cache , cpu cache , medicine , statistics , alternative medicine , mathematics , pathology , artificial intelligence , cache algorithms
Abstract Recent distributed shared memory (DSM) systems provide increasingly more support for the sharing of objects rather than portions of memory. However, like earlier DSM systems these distributed shared object systems (DSO) still force developers to use a single protocol, or a small set of given protocols, for the sharing of application objects. This limitation prevents the applications from optimizing their communication behaviour and results in unnecessary overhead. A current general trend in software systems development is towards customizable systems, for example frameworks, reflection, and aspect‐oriented programming all aim to give the developer greater flexibility and control over the functionality and performance of their code. This paper describes a novel object‐oriented framework that defines a DSM system in terms of a consistency model and an underlying coherency protocol . Different consistency models and coherency protocols can be used within a single application because they can be customized, by the application programmer, on a per‐object basis. This allows application specific semantics to be exploited at a very fine level of granularity and with a resulting improvement in performance. The framework is implemented in JAVA and the speed‐up obtained by a number of applications that use the framework is reported. Copyright © 2002 John Wiley & Sons, Ltd.