osgi community event 2010 — osgi and terracotta - replication of states for clustered services
DESCRIPTION
Presentation given at OSGi Community Event 2010 concerning my master thesis. It’s the integration of Terracotta into an OSGi framework to create distributed services, which replicate their internal states.TRANSCRIPT
Anthony Gelibert - LIG Grenoble
OSGi and Terracotta: State replication of clustered
services
September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 2
Agenda• Context
• Terracotta
• OSGi and Terracotta
• Future work
September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 3
Agenda
•Context• Terracotta
• OSGi and Terracotta
• Future work
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)
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
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
September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 7
Objective
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.
September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 9
Agenda• Context
•Terracotta• OSGi and Terracotta
• Future work
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
September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 11
Terracotta: configuration• No API: declarative configuration
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
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.
September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 14
Agenda• Context
• Terracotta
•OSGi and Terracotta• Future work
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.
September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 16
Toolchain (cont.)
September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 17
Toolchain (cont.)
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
September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 19
Agenda• Context
• Terracotta
• OSGi and Terracotta
•Future work
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
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
•
September 2010 GELIBERT – OSGi and Terracotta: Repliation of states for clustered services 22
THANK YOU FOR YOUR ATTENTION!
Contact: [email protected]