Transcript JMS clustering in Arjuna MS: Dependability, Performance
A Software Architecture for Translucent Replication
Etienne Antoniutti Di Muro
Università degli Studi di Trieste, Italy [email protected]
29th November, 2005 2nd Middleware Doctoral Symposium @ Middleware 2005 Conference, Grenoble, France
A Software Architecture for Translucent Replication : Etienne Antoniutti Di Muro
Directions…
Arjuna Technologies Ltd.
Newcastle upon Tyne, UK > Stuart Wheater ( co-supervisor ) Università degli Studi di Trieste >
Etienne Antoniutti Di Muro
> Prof. Alberto Bartoli ( supervisor ) 2nd Middleware Doctoral Symposium @ Middleware 2005 Conference, Grenoble, France 29th November 2005
29th November, 2005 2nd Middleware Doctoral Symposium @ Middleware 2005 Conference, Grenoble, France 2/23
A Software Architecture for Translucent Replication : Etienne Antoniutti Di Muro
Food for thought…
>
Background and motivations:
> Middleware transparency, crisis and paradox < interlude: clustering and replication /> > Dependability vs. performance > Goal: Address dependability and performance conflicts > Proposal: Translucent replication: > top-down and bottom-up translucency models > application requirements > Evaluation: Translucent replication in a real case scenario < interlude: JMS clustering /> > JMS translucent replication > Summary and Conclusions
29th November, 2005 2nd Middleware Doctoral Symposium @ Middleware 2005 Conference, Grenoble, France 3/23
A Software Architecture for Translucent Replication : Etienne Antoniutti Di Muro
Background and motivations:
> Middleware: born TRANPARENT and HOMOGENEOUS … Application(s)
<
distributed application(s)
>
Application(s) Domain Specific Services Common Services Distribution Services Host-infrastructure Services System Platform
< MIDDLEWARE > <
operating system hardware
>
Domain Specific Services Common services Distribution Services Host-infrastructure Services System Platform network > to provide a components of a distributed system > to
isolate common
high-level environment to the applications form underlying hw/sw changes
29th November, 2005 2nd Middleware Doctoral Symposium @ Middleware 2005 Conference, Grenoble, France 4/23
A Software Architecture for Translucent Replication : Etienne Antoniutti Di Muro
Background and motivations:
> Middleware: …grown MONOLITHIC and HETEROGENEOUS > to achieve transparency > to accommodate application complexity, distribution models, (COTS) component reuse > Middleware: requires a partial redesign to match the exact application requirements: the middleware crisis > Middleware: faces an interoperability problem coming from middleware itself: the middleware paradox
29th November, 2005 2nd Middleware Doctoral Symposium @ Middleware 2005 Conference, Grenoble, France 5/23
A Software Architecture for Translucent Replication : Etienne Antoniutti Di Muro
<
interlude: clustering and replication
> Service Clients network >
Clustering
> : exploiting services using multiple physical machines w/ external appearance of one single highly capable server performance >
Replication
crashes > : having a service replicated across multiple nodes ensures that another instance of the service exists if one replica service dependability, i.e. availability and reliability
29th November, 2005 2nd Middleware Doctoral Symposium @ Middleware 2005 Conference, Grenoble, France 6/23
A Software Architecture for Translucent Replication : Etienne Antoniutti Di Muro
>
Clustering
multiple and transparency: neither physical
Replication
: a common requirement is replication clients nor data replicas applications should have to be aware of > Example: > ADAPT (Middleware Technologies for Adaptive and Composable Distributed Components). EU contract no. IST-2001-37126 (2005) Replication Algorithm Communication with other replicas ADAPT Framework Application/middleware boundary Bean J2EE Server > no interaction between the replicated beans and the replication layer across the application/middleware boundary
29th November, 2005 2nd Middleware Doctoral Symposium @ Middleware 2005 Conference, Grenoble, France 7/23
A Software Architecture for Translucent Replication : Etienne Antoniutti Di Muro
> Example: > A Replication Framework for Program-to-Program Interaction across Unreliable Networks and its Implementation in a Servlet Container (2004) Client Replication Layer Interceptor Client Client Web Service application/middleware boundary Replication Algorithm Communication with other replicas Servlet Container > no interaction between the replicated web service and the replication layer across the application/middleware boundary <
interlude: clustering and replication
/>
29th November, 2005 2nd Middleware Doctoral Symposium @ Middleware 2005 Conference, Grenoble, France 8/23
A Software Architecture for Translucent Replication : Etienne Antoniutti Di Muro
Background and motivations:
>
Dependability and performance conflicts:
> dependability: long-standing desirable property > efficient replication remains challenging > Maintaining high performance figures while ensuring
strong consistency presents a tough contest
> Replication transparency leads to under-utilization of resources with resulting poor application performance
29th November, 2005 2nd Middleware Doctoral Symposium @ Middleware 2005 Conference, Grenoble, France 9/23
A Software Architecture for Translucent Replication : Etienne Antoniutti Di Muro
Goal:
> Address system dependability and performance conflicts introducing
Middleware Translucency
> New software architectural model > Middleware layers interfaces and interactions are exposed to the system designers: > transparently to the application that want it > with the desired level of granularity to the applications that need it > Dependability and performance conflicts have to become trade-offs > Trade-offs offer sets of solutions for the dependability/performance conflicts in the application design space
29th November, 2005 2nd Middleware Doctoral Symposium @ Middleware 2005 Conference, Grenoble, France 10/23
A Software Architecture for Translucent Replication : Etienne Antoniutti Di Muro
Goal:
> Novel translucency models: >
top-down
: upper layers provide information to lower layers about how they want their requests to be satisfied >
bottom-up
: lower layers provide information to upper layers about how they are performing their work and the computational environment, so that upper layers can adapt their behavior > Strong cross-layer interaction > Dynamical adaptability of middleware layers > Middleware high configurability to application requirements
29th November, 2005 2nd Middleware Doctoral Symposium @ Middleware 2005 Conference, Grenoble, France 11/23
A Software Architecture for Translucent Replication : Etienne Antoniutti Di Muro
>
Proposal:
Translucent Replication: > novel architecture for replicated infrastructures > functional requirements > decomposition of system level clustering requirements into lower level layered services realize functional requirements distributed application(s)
>
Application(s)
REPLICATION MIDDLEWARE >
Persistence Service Service State Communication Service Context Service operating system hardware
>
System Platform network
29th November, 2005 2nd Middleware Doctoral Symposium @ Middleware 2005 Conference, Grenoble, France 12/23
A Software Architecture for Translucent Replication : Etienne Antoniutti Di Muro
>
Proposal:
Translucent Replication: > Top-down and bottom-up model Single Replica < top-down translucency model components < bottom-up translucency model components < replicated data path < top-down translucency model information path < bottom-up translucency model information path distributed application(s)
>
Application(s) < application/middleware API boundary
REPLICATION MIDDLEWARE >
Persistence Service Service State (GC) Communication Service Knowledge Repository Context Service < Semantic Rules < operating system hardware
> >
System platform network
29th November, 2005 2nd Middleware Doctoral Symposium @ Middleware 2005 Conference, Grenoble, France
(Custom) Sensors
13/23
A Software Architecture for Translucent Replication : Etienne Antoniutti Di Muro
Proposal:
> Translucent Replication: reasoning on data semantics > generic way to implement smart replication middleware > > provides the finest level of granularity for data handling deals with replication of a wide range of entities: > i.e. raw and plain data / objects / components > no need to develop specific different patterns > Application requirements > formal description of operation and data semantics > messages sent to the middleware in a clear an fixed format > Designers / Programmers > define rules to enable data semantics access > define sensors to monitor resources for application-specific adaptation
29th November, 2005 2nd Middleware Doctoral Symposium @ Middleware 2005 Conference, Grenoble, France 14/23
A Software Architecture for Translucent Replication : Etienne Antoniutti Di Muro
Evaluation:
> Translucent Replication model evaluation : tricky > > > > put in numbers the advantages of solutions based on data semantics flexibility and adaptability of a middleware architecture to specific application dependability solutions different levels of granularity: explosion of the number of possible tunable parameters solutions in a multidimensional space > providing translucent methodologies to application design is a trade-off itself > Model application evaluation > Real case scenario evaluation
29th November, 2005 2nd Middleware Doctoral Symposium @ Middleware 2005 Conference, Grenoble, France 15/23
A Software Architecture for Translucent Replication : Etienne Antoniutti Di Muro
Evaluation:
> Model application evaluation application < ‘opaque’ data class < data class Persistence Service Service State (GC) Communication Service Knowledge Repository < Application Data < < Data-specific API interaction Data-specific rules Context Service < Platform basic sensors System platform network > Application throughput and latency comparison with a combination of different data
29th November, 2005 2nd Middleware Doctoral Symposium @ Middleware 2005 Conference, Grenoble, France 16/23
A Software Architecture for Translucent Replication : Etienne Antoniutti Di Muro
<
interlude: JMS clustering
> > > JMS specs: put high demands on the message server JMS specs: rich semantics, represent different types of messaging > JMS clustering model : shared persistent store Prod.
Cons.
JMS Primary Server JMS Backup Server 1 JMS Backup Server 2 Shared persistent store > > not continuous availability idle servers: waste of hardware resources
29th November, 2005 2nd Middleware Doctoral Symposium @ Middleware 2005 Conference, Grenoble, France 17/23
A Software Architecture for Translucent Replication : Etienne Antoniutti Di Muro
> JMS clustering model: back channel Prod.
Cons.
JMS Primary Server JMS Backup Server 1 Back channel JMS Backup Server 2 > > > redundant networking complex system architecture waste of hardware resources <
interlude: JMS clustering
/>
29th November, 2005 2nd Middleware Doctoral Symposium @ Middleware 2005 Conference, Grenoble, France 18/23
A Software Architecture for Translucent Replication : Etienne Antoniutti Di Muro
Evaluation:
> JMS translucent clustering evaluation > > > > JMS cluster based on group communication provides high levels of data redundancy translucency fits JMS rich semantics: > i.e. producers / consumers requests > i.e. persistent / non persistent messages
functional homogeneity
JMS cluster design > ‘Blind’ replication test-bed (comparison baseline) > JMS Server clients throughput and latency for different levels of translucency
>
> Scalability: destination, throughput, connections …
29th November, 2005 2nd Middleware Doctoral Symposium @ Middleware 2005 Conference, Grenoble, France 19/23
A Software Architecture for Translucent Replication : Etienne Antoniutti Di Muro
Summary
> > > > > > Transparent middleware approach: important issue Dependability vs. performance conflicts Transparent replication Translucent architecture:
top-down
and
bottom-up
models Novel translucent replication architecture Evaluation: model application and real case scenario
29th November, 2005 2nd Middleware Doctoral Symposium @ Middleware 2005 Conference, Grenoble, France 20/23
A Software Architecture for Translucent Replication : Etienne Antoniutti Di Muro
Conclusions
>
Translucent middleware
> offers appropriate programming interface elements to the application > pluggable modules (semantic rules) can be defined to expose the required level of granularity > > pluggable sensor can be defined for encapsulating management resources cross-layer interactions > > access middleware machinery according to application-specific requirements adjust the conflicts between dependability and performance turning them into trade-offs > provide sets of solutions for application dependabiliy/performance trade-offs
29th November, 2005 2nd Middleware Doctoral Symposium @ Middleware 2005 Conference, Grenoble, France 21/23
A Software Architecture for Translucent Replication : Etienne Antoniutti Di Muro
Questions ?
29th November, 2005 2nd Middleware Doctoral Symposium @ Middleware 2005 Conference, Grenoble, France 22/23
A Software Architecture for Translucent Replication : Etienne Antoniutti Di Muro
Thank you!
29th November, 2005 2nd Middleware Doctoral Symposium @ Middleware 2005 Conference, Grenoble, France 23/23