JMS clustering in Arjuna MS: Dependability, Performance

Download Report

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