osgi and terracotta · september 2010 gelibert – osgi and terracotta: repliation of states for...

22
Anthony Gelibert - LIG Grenoble OSGi and Terracotta: State replication of clustered services

Upload: others

Post on 06-Jul-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OSGi and Terracotta · September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 2 Agenda •Context •Terracotta •OSGi and Terracotta •Future

Anthony Gelibert - LIG Grenoble

OSGi and Terracotta: State replication of clustered

services

Page 2: OSGi and Terracotta · September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 2 Agenda •Context •Terracotta •OSGi and Terracotta •Future

September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 2

Agenda• Context

• Terracotta

• OSGi and Terracotta

• Future work

Page 3: OSGi and Terracotta · September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 2 Agenda •Context •Terracotta •OSGi and Terracotta •Future

September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 3

Agenda

•Context• Terracotta

• OSGi and Terracotta

• Future work

Page 4: OSGi and Terracotta · September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 2 Agenda •Context •Terracotta •OSGi and Terracotta •Future

September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 4

About

• Anthony Gelibert– MSc at Master of Science in Informatics

at Grenoble (2010)– Engineer Degree at École Nationale

Supérieure d’Informatique et de Mathématiques Appliquées de Grenoble (2010)

Page 5: OSGi and Terracotta · September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 2 Agenda •Context •Terracotta •OSGi and Terracotta •Future

September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 5

OSGi and distribution

• Distributed execution:– R-OSGi (Research)– OSGi Remote Services (Specification)

• Distributed deployment:– OSGi4C (Research)

• Shared Memory : our approach

Page 6: OSGi and Terracotta · September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 2 Agenda •Context •Terracotta •OSGi and Terracotta •Future

September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 6

OSGi and distribution (cont.)• R-OSGi:

– Transparently invoke distant services– RMI-like

• OSGi4C:– Distributed bundle deployment– Runs locally

• Terracotta:– Shared memory

Page 7: OSGi and Terracotta · September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 2 Agenda •Context •Terracotta •OSGi and Terracotta •Future

September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 7

Objective

Page 8: OSGi and Terracotta · September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 2 Agenda •Context •Terracotta •OSGi and Terracotta •Future

September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 8

Use cases• Traditional targets of distributed

shared memory:– State share, Message bus, …

• Problems requiring the use of distributed methods.

• Re-engineering of existing solutions.

Page 9: OSGi and Terracotta · September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 2 Agenda •Context •Terracotta •OSGi and Terracotta •Future

September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 9

Agenda• Context

•Terracotta• OSGi and Terracotta

• Future work

Page 10: OSGi and Terracotta · September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 2 Agenda •Context •Terracotta •OSGi and Terracotta •Future

September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 10

Terracotta: N.A.M.• Network-Attached Memory• No API• No Serialization• Cross-JVM coordination• Distributed Method Invocations• Runtime monitoring and control

Page 11: OSGi and Terracotta · September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 2 Agenda •Context •Terracotta •OSGi and Terracotta •Future

September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 11

Terracotta: configuration• No API: declarative configuration

Page 12: OSGi and Terracotta · September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 2 Agenda •Context •Terracotta •OSGi and Terracotta •Future

September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 12

Teracotta: no serialization

• Plain POJO clustering

• Dynamic instrumentation through a Java Agent

• Fine-grained replication

Page 13: OSGi and Terracotta · September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 2 Agenda •Context •Terracotta •OSGi and Terracotta •Future

September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 13

Terracotta: D.M.I

• Distributed Method Invocations.• When a node calls a method, all

nodes replicate it (locally). • Development close to MPI:

– The same code is executed at the same time on each node.

– Requires distinguishing each element.

Page 14: OSGi and Terracotta · September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 2 Agenda •Context •Terracotta •OSGi and Terracotta •Future

September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 14

Agenda• Context

• Terracotta

•OSGi and Terracotta• Future work

Page 15: OSGi and Terracotta · September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 2 Agenda •Context •Terracotta •OSGi and Terracotta •Future

September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 15

OSGi and Terracotta: Toolchain• Delegate class loading from OSGi to

Terracotta.

• A set of Java 5 Annotations.

• An APT processor to generate the Terracotta config file.

Page 16: OSGi and Terracotta · September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 2 Agenda •Context •Terracotta •OSGi and Terracotta •Future

September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 16

Toolchain (cont.)

Page 17: OSGi and Terracotta · September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 2 Agenda •Context •Terracotta •OSGi and Terracotta •Future

September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 17

Toolchain (cont.)

Page 18: OSGi and Terracotta · September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 2 Agenda •Context •Terracotta •OSGi and Terracotta •Future

September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 18

Validation• EventAdmin: propagation of events

across multiple platforms.• Cilia: replication/persistence in

pervasive applications.• H-Omega: Replacement of message

passing by a shared memory.• uGASP: State share for a DTN

application

Page 19: OSGi and Terracotta · September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 2 Agenda •Context •Terracotta •OSGi and Terracotta •Future

September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 19

Agenda• Context

• Terracotta

• OSGi and Terracotta

•Future work

Page 20: OSGi and Terracotta · September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 2 Agenda •Context •Terracotta •OSGi and Terracotta •Future

September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 20

Future work

• Extension of the container:– Enhancement Terracotta integration– Add persistence, cache, …

• Dynamically update clustered services at run-time

Page 21: OSGi and Terracotta · September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 2 Agenda •Context •Terracotta •OSGi and Terracotta •Future

September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 21

For more information• Terracotta

Documentation, download, …http://www.terracotta.orgOpen Sourcehttp://www.terracotta.org/open-source

• Felixhttp://felix.apache.org

• Chameleonhttp://wiki.chameleon.ow2.org

Page 22: OSGi and Terracotta · September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 2 Agenda •Context •Terracotta •OSGi and Terracotta •Future

September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 22

THANK YOU FOR YOUR ATTENTION!

Contact: [email protected]