+ All Categories
Home > Documents > GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

Date post: 11-Jan-2016
Category:
Upload: mitchell-short
View: 215 times
Download: 2 times
Share this document with a friend
Popular Tags:
90
GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak
Transcript
Page 1: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

GORDA Kickoff meeting

INRIA – Sardes project

Emmanuel Cecchet

Sara Bouchenak

Page 2: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 2 - 07/10/2004

Outline

INRIA, ObjectWeb & SardesGORDA

Page 3: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 3 - 07/10/2004

Budget: 120 M€ (tax not incl.)

900 permanent staff400 researchers500 engineers, technical and administrative

450 researchers from other organizations700 Ph.D students200 external collaborators750 trainees, post-doctoral students, visiting researchers from abroad

(universities or industry))6 Research Units

A scientific force of 3,000

INRIA key figures

Jan. 2003A public scientific and technological research institutein computer science and control

under the dual authority of the Ministry of Research and the Ministry of Industry

INRIA Rhône-Alpes

Page 4: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 4 - 07/10/2004

• Itanium-2 processors• 104 nodes (Dual 64 bits 900 MHz processors, 3 GB memory, 72 GB

local disk) connected through a Myrinet network• 208 processors, 312 GB memory, 7.5 TB disk• Connected to the GRID• Linux OS (RedHat Advanced Server)• First Linpack experiments at INRIA

(Aug. 03) have reached 560 GFlop/s

• Applications : Grid computing,classical scientific computing, high performance Internet servers, …

iCluster 2

Page 5: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 5 - 07/10/2004

ObjecWeb key figures

Open source middleware development Based on open standard

J2EE, CORBA, OSGi…

International consortiumFounded by INRIA, Bull and FT R&D in 2001

Academic partnersEuropean universities and research centers

Industrial partnersRedHat, Suse, MySQL, …NEC, Bull, France Telecom, Dassault, Cap Gemini,

Page 6: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 6 - 07/10/2004

Common Software & Architecture for Component Based Development

OS

Gi

Hardware & OS

Applications

J2E

E

CC

M

...

Dedicated Middleware Platform

Networked Resources

JVM

Tra

nsa

ctio

ns

Per

sist

ence

Dep

loym

ent

...

Co

mp

osi

tio

n

...

Application Servers

Database

Connectivity

Inte

roper

abili

ty

To

ols

Fra

mew

ork

s

Co

mp

on

ents

...

JOn

AS

Op

enC

CM

OS

CA

R

Pro

Act

ive

JOR

M/M

ED

OR

JOT

M

OS

CA

R

Fra

cta

lThink

JORAM

DotNetJ

C-JDBC

RmiJdbc

Octopus

Enhydra

Zeus

Kil

im

CAROL

Jon

ath

an

Sp

eed

o

RUBiS

Bonita

JAWE

XMLC

JMOB

Page 7: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 7 - 07/10/2004

Sardes project

Distributed Systems groupMain research themes

Reflective component technologyAutonomous systems management

Applications areashigh-availability J2EE serversdynamic monitoring, configuration and resource

management in large scale distributed systems(embedded system networks, ubiquitous computing)

Result dissemination by ObjectWeb

Page 8: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 8 - 07/10/2004

Outline

INRIA, ObjectWeb & SardesGORDA

Page 9: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 9 - 07/10/2004

Sardes experiences

Component-based open source middlewareObjectWeb (http://www.objectweb.org)

J2EE application serversJOnAS clustering (http://jonas.objectweb.org)

Database replication middlewareC-JDBC (http://c-jdbc.objectweb.org)

BenchmarkingRUBiS (http://rubis.objectweb.org)TPC-W (http://jmob.objectweb.org)CLIF (http://clif.objectweb.org)

MonitoringLeWYS (http://lewys.objectweb.org)

Page 10: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 10 - 07/10/2004

Common scalability practice

Internet

Web frontend

App. server

Well-known database

vendor here

Database

Well-known hardware +database vendors here

Cons Cost Scalability limit

Page 11: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 11 - 07/10/2004

Replication with shared disks

Internet

Web frontend

App. server Database Disks

Another well-knowndatabase vendor

Consstill expensive hardwareavailability

Page 12: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 12 - 07/10/2004

Master/Slave replication

Internet

Web frontend

App. server

Consconsistencyfailover time on master failurescalability

Master

Page 13: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 13 - 07/10/2004

Internet

Database tier should be scalable highly available without modifying the client application database vendor independent on commodity hardware

Atomic broadcast-based replication

Atomicbroadcast

Page 14: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 14 - 07/10/2004

Internet

JDBC compliant (no client application modification)database vendor independent

JDBC driver required heterogeneity support

no 2PC, no group communication between databasesgroup communication for controller replication only

C-JDBC

JDBC

JDBCJDBC

Page 15: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 15 - 07/10/2004

RAIDb - Definition

Redundant Array of Inexpensive Databasesbetter performance and fault tolerance than a

single database, at a low cost, by combining multiple database instances into an array of databases

RAIDb levels offers various tradeoff of performance and fault tolerance

Page 16: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 16 - 07/10/2004

RAIDb

Redundant Array of Inexpensive Databasesbetter performance and fault tolerance than a single

database, at a low cost, by combining multiple database instances into an array of databases

RAIDb controllergives the view of a single database to the clientbalance the load on the database backends

RAIDb levelsRAIDb-0: full partitioningRAIDb-1: full mirroringRAIDb-2: partial replicationcomposition possible

Page 17: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 17 - 07/10/2004

C-JDBC – Key ideas

Middleware implementing RAIDbTwo components

generic JDBC 2.0 driver (C-JDBC driver)C-JDBC Controller

C-JDBC Controller providesperformance scalabilityhigh availabilityfailovercaching, logging, monitoring, …

Supports heterogeneous databases

Page 18: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 18 - 07/10/2004

C-JDBC – Overview

Database Database

C-JDBC Controller Scalability - Fault tolerance - Failover -

Monitoring - Caching - Logging - ...

Database JDBC driver

DatabaseDatabase Database

Database

JVM

Java client program

Database JDBC driver

JVM

EJB Container JOnAS, WebLogic,

JBoss, WebSphere, ...

Servlet container Tomcat, Jetty, ...

Database JDBC driver

MySQL, PostgreSQL, Oracle, DB2, InstantDB, ...

Database JDBC driver

JVM

Java client program

C-JDBC driver

JVM

EJB Container

JOnAS,

WebLogic, JBoss, WebSphere, ...

Servlet container

Tomcat,

Jetty, ...

C-JDBC driver

C-JDBC driver

JVM

MySQL, PostgreSQL, Oracle, DB2, InstantDB, ...

JVM

C-JDBC

No scalability No fault tolerance

No failover

EJB Container

JOnAS,

WebLogic, JBoss, WebSphere, ...

Servlet container

Tomcat,

Jetty, ...

Page 19: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 19 - 07/10/2004

Heterogeneity support

unload a singleOracle DB withseveral MySQL

RAIDb-2 forpartial replication

MySQL MySQL

C-JDBC Controller RAIDb-2

MySQL JDBC driver

MySQLOracle

Java client program

C-JDBC driver

JVM

C-JDBC driver

C-JDBC driver

JVM

JVM

Oracle JDBC driver

EJB Container JOnAS, WebLogic,

JBoss, WebSphere, ...

Servlet container Tomcat, Jetty, ...

Page 20: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 20 - 07/10/2004

Inside the C-JDBC Controller

XML configuration file

C-JDBC Controller

MySQL

C-JDBC driver

Java client program

(Servlet, EJB, ...)

XML engine

MySQL

Virtual database

Database Backend

Connection Manager

Database Backend

Connection Manager

Request Manager

Request Cache

Scheduler

Load balancer

MySQL JDBC driver

MySQL JDBC driver

Configuration &

administrationAdministration console

RMIRMI

Recovery Log

Authentication Manager

MySQL

Database Backend

Connection Manager

MySQL JDBC driver

Virtual database

Database Backend

Connection Manager

Database Backend

Connection Manager

Request Manager

Request Cache

Scheduler

Load balancer

Recovery Log

Authentication Manager

Oracle

Oracle JDBC driver

Oracle JDBC driver

Oracle

SocketsSockets

JMX

Page 21: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 21 - 07/10/2004

C-JDBC features

unified authentication managementtunable concurrency controlautomatic schema detectiontunable replication: full partitioning, partial replication,

full replicationcaching: metadata, parsing, result with various

invalidation granularitiesvarious load balancing strategieson-the-fly query rewriting for macros and heterogeneity

supportrecovery log for dynamic backend adding and failure

recoverydatabase backup/restore using OctopusJMX based monitoring and administrationgraphical administration console

Page 22: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 22 - 07/10/2004

C-JDBC Controller

MySQL

C-JDBC driver

MySQL

Virtual database 1

Database Backend

Connection Manager

Database Backend

Connection Manager

Request Manager

Query result cache

Scheduler

Load balancer

MySQL JDBC driver

MySQL JDBC driver

Recovery Log

Authentication Manager

MySQL

Database Backend

Connection Manager

MySQL JDBC driver

C-JDBC driver

Client application (Servlet, EJB, ...)

Client application (Servlet, EJB, ...)

Functional overview

connect myDBconnect login, passwordexecute SELECT * FROM t

Page 23: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 23 - 07/10/2004

C-JDBC Controller

MySQL

C-JDBC driver

MySQL

Virtual database 1

Database Backend

Connection Manager

Database Backend

Connection Manager

Request Manager

Query result cache

Scheduler

Load balancer

MySQL JDBC driver

MySQL JDBC driver

Recovery Log

Authentication Manager

MySQL

Database Backend

Connection Manager

MySQL JDBC driver

C-JDBC driver

Client application (Servlet, EJB, ...)

Client application (Servlet, EJB, ...)

Functional overview

execute INSERT INTO t …

Page 24: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 24 - 07/10/2004

C-JDBC Controller

MySQL

C-JDBC driver

MySQL

Virtual database 1

Database Backend

Connection Manager

Database Backend

Connection Manager

Request Manager

Query result cache

Scheduler

Load balancer

MySQL JDBC driver

MySQL JDBC driver

Recovery Log

Authentication Manager

MySQL

Database Backend

Connection Manager

MySQL JDBC driver

C-JDBC driver

Client application (Servlet, EJB, ...)

Client application (Servlet, EJB, ...)

Failures

No 2 phase-commitparallel

transactionsfailed nodes are

automatically disabled

execute INSERT INTO t …

Page 25: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 25 - 07/10/2004

Controller replication

Prevent the controller from being a single point of failure

Group communication for controller synchronization

C-JDBC driver supports multiple controllers with automatic failover

MySQL PostgreSQL

C-JDBC Controller

MySQL JDBC driver

PostgreSQL JDBC driver

C-JDBC driver

JVM

Java client program

C-JDBC driver

JVM

Java client program

C-JDBC driver

JVM

Java client program

C-JDBC driver

JVM

Java client program

C-JDBC Controller

JGroups

MySQLPostgreSQL

MySQL JDBC driver

PostgreSQL JDBC driver

jdbc:c-jdbc://node1:25322,node2:12345/myDB

Page 26: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 26 - 07/10/2004

Controller replication

C-JDBC Controller

Distributed Request Manager

C-JDBC Controller

Distributed Request Manager

MySQL

C-JDBC driver

MySQL

Virtual database 1

Database Backend

Connection Manager

Database Backend

Connection Manager

MySQL JDBC driver

MySQL JDBC driver

Virtual database 2

Database Backend

Connection Manager

Database Backend

Connection Manager

Request Manager

Query result cache

Scheduler

Load balancer

Authentication Manager

Oracle JDBC driver

OracleMySQL

MySQL JDBC driver

C-JDBC driver

Client application (Servlet, EJB, ...)

C-JDBC driver

Client application (Servlet, EJB, ...)

Client application (Servlet, EJB, ...)

Request Manager

Query result cache

Scheduler

Load balancer

Authentication Manager

jdbc:cjdbc://node1,node2/myDB

Uniform total order reliable multicast

Page 27: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 27 - 07/10/2004

Mixing horizontal & vertical scalability

DB 6DB 5

DB native JDBC driver

DB 7

C-JDBC driver

DB 1 DB 2

DB native JDBC driver

DB 3

DB native JDBC driver

DB 4

C-JDBC controller Full replication

C-JDBC controller Full replication

C-JDBC controller Full replication

C-JDBC controller Full replication

C-JDBC driverJVM

Client program

C-JDBC driver

JVM

Client program

C-JDBC driver

JVM

Client program

C-JDBC driver

C-JDBC driver

Page 28: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 28 - 07/10/2004

Lessons learned

SQL parsing cannot be genericmany discrepancies in JDBC implementationsminimize the use of group communications

IP multicast does not scale

notification infrastructure neededusers want

no single point of failurecontrol (monitoring, plug-able recovery policies, …)no database vendor locking no database modification

need for an exhaustive test suitebenchmarking accurately is very difficult

load injection requires resourcesmonitoring and exploiting results is tricky

Page 29: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 29 - 07/10/2004

Sardes role in GORDA

provide inputGORDA APIsgroup communication requirementsmonitoring and management requirements

middleware implementation based on C-JDBCdissemination effort

ObjectWebpossible participation to JCP for JDBC extensions

hardware resources for experimentseCommerce benchmarks

Page 30: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 30 - 07/10/2004

Other interests

LeWYS (http://lewys.objectweb.org)monitoring infrastructuregeneric hardware/kernel probes for Linux/Windowssoftware probes: JMX, SNMP, …monitoring repository

autonomic behaviorbuilding supervision loopsself-healing clustersself-sizing (expand or shrink)SLAs

Page 31: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 31 - 07/10/2004

Q without A

do we consider distributed query execution?XA support?cluster size targeted?do we target grids or cluster of clusters?

reconciliationconsistency/cachingnetwork architecture considered?

are relaxed or loose consistency options?what will really cover the GRI?

do we impose a specific way of doing replication?access to read-set/write-set difficult to implement with legacy

databaseswhich workloads are considered?which WP deals with backup/recovery?licensing issues?

Page 32: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

Q&A_________

Thanks to all users and contributors ...

Page 33: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

Bonus slides

Page 34: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

INTERNALS

Page 35: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 35 - 07/10/2004

Virtual Database

MySQL

C-JDBC driver

Java client program

(Servlet, EJB, ...)

MySQL

Virtual database

Database Backend

Connection Manager

Database Backend

Connection Manager

Request Manager

Request Cache

Scheduler

Load balancer

MySQL JDBC driver

MySQL JDBC driver

Recovery Log

Authentication Manager

MySQL

Database Backend

Connection Manager

MySQL JDBC driver

gives the view of a single database

establishes the mapping between the database name used by the application and the backend specific settings

backends can be added and removed dynamically

configured using an XML configuration file

Page 36: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 36 - 07/10/2004

Authentication Manager

MySQL

C-JDBC driver

Java client program

(Servlet, EJB, ...)

MySQL

Virtual database

Database Backend

Connection Manager

Database Backend

Connection Manager

Request Manager

Request Cache

Scheduler

Load balancer

MySQL JDBC driver

MySQL JDBC driver

Recovery Log

Authentication Manager

MySQL

Database Backend

Connection Manager

MySQL JDBC driver

Matches real login/password used by the application with backend specific login/ password

Administrator login to manage the virtual database

Page 37: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 37 - 07/10/2004

Scheduler

MySQL

C-JDBC driver

Java client program

(Servlet, EJB, ...)

MySQL

Virtual database

Database Backend

Connection Manager

Database Backend

Connection Manager

Request Manager

Request Cache

Scheduler

Load balancer

MySQL JDBC driver

MySQL JDBC driver

Recovery Log

Authentication Manager

MySQL

Database Backend

Connection Manager

MySQL JDBC driver

Manages concurrency controlSpecific implementations for

Single DB, RAIDb 0, 1 and 2Query-levelOptimistic and pessimistic

transaction leveluses the database schema that is

automatically fetched from backends

Page 38: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 38 - 07/10/2004

Request cache

MySQL

C-JDBC driver

Java client program

(Servlet, EJB, ...)

MySQL

Virtual database

Database Backend

Connection Manager

Database Backend

Connection Manager

Request Manager

Request Cache

Scheduler

Load balancer

MySQL JDBC driver

MySQL JDBC driver

Recovery Log

Authentication Manager

MySQL

Database Backend

Connection Manager

MySQL JDBC driver

caches results from SQL requestsimproved SQL statement analysis to

limit cache invalidationstable based invalidationscolumn based invalidationssingle-row SELECT optimization

request parsing possible in theC-JDBC driver

offload the controllerparsing caching in the driver

Page 39: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 39 - 07/10/2004

Load balancer 1/2

MySQL

C-JDBC driver

Java client program

(Servlet, EJB, ...)

MySQL

Virtual database

Database Backend

Connection Manager

Database Backend

Connection Manager

Request Manager

Request Cache

Scheduler

Load balancer

MySQL JDBC driver

MySQL JDBC driver

Recovery Log

Authentication Manager

MySQL

Database Backend

Connection Manager

MySQL JDBC driver

RAIDb-0query directed to the backend having the

needed tables

RAIDb-1read executed by current threadwrite executed in parallel by a dedicated

thread per backendresult returned if one, majority or all commitif one node fails but others succeed, failing

node is disabled

RAIDb-2same as RAIDb-1 except that writes are

sent only to nodes owning the written table

Page 40: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 40 - 07/10/2004

Load balancer 2/2

MySQL

C-JDBC driver

Java client program

(Servlet, EJB, ...)

MySQL

Virtual database

Database Backend

Connection Manager

Database Backend

Connection Manager

Request Manager

Request Cache

Scheduler

Load balancer

MySQL JDBC driver

MySQL JDBC driver

Recovery Log

Authentication Manager

MySQL

Database Backend

Connection Manager

MySQL JDBC driver

Static load balancing policiesRound-Robin (RR)Weighted Round-Robin (WRR)

Least Pending Requests First (LPRF)

request sent to the node that has the shortest pending request queue

efficient if backends are homogeneous in terms of performance

Page 41: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 41 - 07/10/2004

Connection Manager

MySQL

C-JDBC driver

Java client program

(Servlet, EJB, ...)

MySQL

Virtual database

Database Backend

Connection Manager

Database Backend

Connection Manager

Request Manager

Request Cache

Scheduler

Load balancer

MySQL JDBC driver

MySQL JDBC driver

Recovery Log

Authentication Manager

MySQL

Database Backend

Connection Manager

MySQL JDBC driver

Connection pooling for a backend

Simple : no poolingRandomWait : blocking poolFailFast : non-blocking poolVariablePool : dynamic pool

Connection pools defined on a per login basis

resource management per logindedicated connections for admin

Page 42: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 42 - 07/10/2004

Recovery Log

MySQL

C-JDBC driver

Java client program

(Servlet, EJB, ...)

MySQL

Virtual database

Database Backend

Connection Manager

Database Backend

Connection Manager

Request Manager

Request Cache

Scheduler

Load balancer

MySQL JDBC driver

MySQL JDBC driver

Recovery Log

Authentication Manager

MySQL

Database Backend

Connection Manager

MySQL JDBC driver

Checkpoints are associated with database dumps

Record all updates and transaction markers since a checkpoint

Used to resynchronize a database from a checkpoint

JDBCRecoveryLogstore information in a databasecan be re-injected in a C-JDBC

cluster for fault tolerance

Page 43: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

SCALABILITY

Page 44: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 44 - 07/10/2004

C-JDBC scalability

Horizontal scalabilityprevents the controller to be a Single Point Of Failure

(SPOF)distributes the load among several controllersuses group communications for synchronization

C-JDBC Drivermultiple controllers automatic failover

jdbc:c-jdbc://node1:25322,node2:12345/myDB

connection cachingURL parsing/controller lookup caching

Page 45: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 45 - 07/10/2004

C-JDBC scalability

Vertical scalabilityallows nested RAIDb levelsallows tree architecture for scalable write broadcastnecessary with large number of backendsC-JDBC driver re-injected in C-JDBC controller

Page 46: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 46 - 07/10/2004

C-JDBC vertical scalability

RAIDb-1-1with C-JDBC

no limit tocompositiondeepness

MySQL JDBC driver

C-JDBC driver

MySQL JDBC driver MySQL JDBC driver

C-JDBC controller RAIDb-1

C-JDBC controller RAIDb-1

C-JDBC controller RAIDb-1

C-JDBC controller RAIDb-1

C-JDBC driverJVM

Client program C-JDBC

driver

JVM

Client program

C-JDBC driver

JVM

Client program

MySQL MySQL MySQL MySQL MySQL MySQLMySQLMySQL

Page 47: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 47 - 07/10/2004

C-JDBC vertical scalability

table x & ytable x & y

DB native JDBC driver

table x & y

C-JDBC driver

table w table w

DB native JDBC driver

table z

DB native JDBC driver

table z

C-JDBC controller RAIDb-0

C-JDBC controller RAIDb-1

C-JDBC controller RAIDb-1

C-JDBC controller RAIDb-1

C-JDBC driverJVM

Client program C-JDBC

driver

JVM

Client program

C-JDBC driver

JVM

Client programRAIDb-0-1

with C-JDBC

Page 48: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

CHECKPOINTING

Page 49: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 49 - 07/10/2004

Fault tolerant recovery log

C-JDBC Controller

MySQL MySQL

Application virtual database

Database Backend

Database Backend

Request Manager

Request Cache

Scheduler

Load balancer

Recovery Log

Authentication Manager

MySQL

Database Backend

Recovery virtual database

Request Manager

SchedulerLoad balancer

Authentication Manager

C-JDBC driver

Client application (Servlet, EJB, ...)

Checkpointing service

Database Backend

Database Backend

C-JDBC driver

MySQL

UPDATE statement

Page 50: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 50 - 07/10/2004

Checkpointing

Octopus is an ETL tool Use Octopus to store a dump of

the initial database state Currently done by the user using

the database specific dump tool

PostgreSQL

C-JDBC Controller

PostgreSQL JDBC driver

C-JDBC driver

JVM

EJB Container JOnAS, WebLogic,

JBoss, WebSphere, ...

disabled

dump for initial

checkpoint

Recovery LogOctopus

disabled

Page 51: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 51 - 07/10/2004

Checkpointing

Backend is enabled All database updates are logged

(SQL statement, user, transaction, …)

PostgreSQL

C-JDBC Controller

PostgreSQL JDBC driver

C-JDBC driver

JVM

EJB Container JOnAS, WebLogic,

JBoss, WebSphere, ...

enabled

dump for initial

checkpoint

Recovery LogOctopus

JDBC Recovery Log

enabled

Page 52: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 52 - 07/10/2004

Checkpointing

Add new backends while system online

Restore dump corresponding to initial checkpoint with Octopus

PostgreSQL

C-JDBC Controller

PostgreSQL JDBC driver

C-JDBC driver

JVM

EJB Container JOnAS, WebLogic,

JBoss, WebSphere, ...

dump for initial

checkpoint

Recovery Log

Octopus

PostgreSQL PostgreSQLdisabled disabledenabled

enabled

JDBC Recovery Log

Page 53: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 53 - 07/10/2004

Checkpointing

Replay updates from the log

PostgreSQL

C-JDBC Controller

PostgreSQL JDBC driver

C-JDBC driver

JVM

EJB Container JOnAS, WebLogic,

JBoss, WebSphere, ...

dump for initial

checkpoint

Recovery Log

Octopus

PostgreSQL PostgreSQLenabled

enabled

JDBC Recovery Log

disableddisabled

Page 54: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 54 - 07/10/2004

Checkpointing

Enable backends when done

PostgreSQL

C-JDBC Controller

PostgreSQL JDBC driver

C-JDBC driver

JVM

EJB Container JOnAS, WebLogic,

JBoss, WebSphere, ...

dump for initial

checkpoint

Recovery Log

Octopus

PostgreSQL PostgreSQLenabled

enabled

JDBC Recovery Log

enabledenabled

Page 55: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 55 - 07/10/2004

Making new checkpoints

Disable one backend to have a coherent snapshot

Mark the new checkpoint entry in the log

Use Octopus to store the dump

...

dump for last

checkpoint

PostgreSQL

C-JDBC Controller

PostgreSQL JDBC driver

C-JDBC driver

JVM

EJB Container JOnAS, WebLogic,

JBoss, WebSphere, ...

dump for last

checkpoint

Recovery Log

Octopus

PostgreSQL PostgreSQLenabled

enabled

JDBC Recovery Log

enableddisabled

dump for initial

checkpoint

Page 56: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 56 - 07/10/2004

Making new checkpoints

Replay missing updates from log

dump for

checkpoint

Octopus...

dump for last

checkpoint

dump for last

checkpoint

dump for initial

checkpoint

PostgreSQL

C-JDBC Controller

PostgreSQL JDBC driver

C-JDBC driver

JVM

EJB Container JOnAS, WebLogic,

JBoss, WebSphere, ...

Recovery Log

PostgreSQL PostgreSQLenabled

enabled

JDBC Recovery Log

disabled enabled

Page 57: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 57 - 07/10/2004

Making new checkpoints

Re-enable backend when done

PostgreSQL

C-JDBC Controller

PostgreSQL JDBC driver

C-JDBC driver

JVM

EJB Container JOnAS, WebLogic,

JBoss, WebSphere, ...

dump for

checkpoint

Recovery Log

Octopus

PostgreSQL PostgreSQLenabled

enabled

JDBC Recovery Log

enabledenabled

...

dump for last

checkpoint

dump for last

checkpoint

dump for initial

checkpoint

Page 58: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 58 - 07/10/2004

Recovery

A node fails!Automatically

disabled but should be fixed or changed by administrator

PostgreSQL

C-JDBC Controller

PostgreSQL JDBC driver

C-JDBC driver

JVM

EJB Container JOnAS, WebLogic,

JBoss, WebSphere, ...

dump for

checkpoint

Recovery Log

Octopus

PostgreSQL PostgreSQLenabled

enabled

JDBC Recovery Log

enableddisabled

...

dump for last

checkpoint

dump for last

checkpoint

dump for initial

checkpoint

Page 59: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 59 - 07/10/2004

Recovery

Restore latest dump with Octopus

...

dump for last

checkpoint

PostgreSQL

C-JDBC Controller

PostgreSQL JDBC driver

C-JDBC driver

JVM

EJB Container JOnAS, WebLogic,

JBoss, WebSphere, ...

dump for last

checkpoint

Recovery Log

Octopus

PostgreSQL PostgreSQLenabled

enabled

JDBC Recovery Log

enableddisabled

dump for initial

checkpoint

Page 60: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 60 - 07/10/2004

Recovery

Replay missing updates from log

dump for

checkpoint

Octopus...

dump for last

checkpoint

dump for last

checkpoint

dump for initial

checkpoint

PostgreSQL

C-JDBC Controller

PostgreSQL JDBC driver

C-JDBC driver

JVM

EJB Container JOnAS, WebLogic,

JBoss, WebSphere, ...

Recovery Log

PostgreSQL PostgreSQLenabled

enabled

JDBC Recovery Log

disabled enabled

Page 61: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 61 - 07/10/2004

Recovery

Re-enable backend when done

PostgreSQL

C-JDBC Controller

PostgreSQL JDBC driver

C-JDBC driver

JVM

EJB Container JOnAS, WebLogic,

JBoss, WebSphere, ...

dump for

checkpoint

Recovery Log

Octopus

PostgreSQL PostgreSQLenabled

enabled

JDBC Recovery Log

enabledenabled

...

dump for last

checkpoint

dump for last

checkpoint

dump for initial

checkpoint

Page 62: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

HORIZONTAL SCALABILITY

Page 63: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 63 - 07/10/2004

Horizontal scalability

JGroups for controller synchronizationGroups messages for writes only

DB1 DB2 DB3 DB4

Controller1

DB1 DB2 DB3 DB4

Controller1 Controller2

Client 1 Client... Client n Client 1 Client... Client n

Page 64: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 64 - 07/10/2004

Horizontal scalability

Centralized write approach issues

Issues with transactions assigned to connections

DB1 DB2 DB3 DB4

Controller1 Controller2

commit

DB1 DB2 DB3 DB4

Controller1 Controller2

commit

commit commit

DB1 DB2 DB3 DB4

Controller2

? ? ? ?

DB1 DB2

Controller1 Controller2

DB1 DB2

Controller1 Controller2

T1(Read)

T1(R)

DB1 DB2

Controller1 Controller2

T1(Write)

T1(R)T1(W) T2(W)

Page 65: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 65 - 07/10/2004

Horizontal scalability

General case for a write query3 multicast + 2n unicast

DistributedVirtualDatabase@controller2

DistributedRequestManager

DistributedVirtualDatabase@controller3

DistributedVirtualDatabase@controller1

DistributedRequestManager

DistributedRequestManager

execWriteRequest(AbstractWriteRequest)

Scheduler

Write query handler

Load Balancer

Scheduler

Load Balancer

Distributed scheduling handler

Wait for schedulers replies

Send request to all controllers

Send execute request order to all controllers

Wait for load balancer replies

Distributed load balancer handler

Scheduler

Load Balancer

Distributed scheduling handler

Distributed load balancer handler

Notify controllers of completion success or not

Distributed scheduling handler

Distributed load balancer handler

Notify scheduler of completion

Return result

return result

Notify scheduler of completion

Notify scheduler of completion

Page 66: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 66 - 07/10/2004

Horizontal scalability

Solution: No backend sharing1 multicast + n unicast [+ 1 multicast]

DB1 DB2 DB3 DB4 DB5 DB6

Controller1 Controller2 Controller3

DistributedVirtualDatabase@controller2

DistributedVirtualDatabase@controller3

DistributedVirtualDatabase@controller1

DistributedRequestManager

DistributedRequestManager

execWriteRequest(AbstractWriteRequest)DistributedRequestManager

Scheduler

Write query handler

Load Balancer

Scheduler

Load Balancer

Distributed scheduling handler

Send request to all controllers

Wait for load balancer replies

Distributed load balancer handler

Scheduler

Load Balancer

Distributed scheduling handler

Distributed load balancer handler

Notify controller(s) that have failed if other have succeeded

Distributed scheduling handler

Distributed load balancer handler

Wait if all backends failed

Return result

return result

Wait if all backends failed

Wait if all backends failed

Page 67: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 67 - 07/10/2004

Horizontal scalability

Issues with JGroupsresources needed by a channelinstability of throughput with UDPperformance scalability

TCP better than UDP butunable to disable reliability on top of TCPunable to disable garbage collectionordering implementation is sub-optimal

Need for a new group communication layer optimized for cluster

Page 68: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 68 - 07/10/2004

Horizontal scalability

JGroups performance on UDP/FastEthernet

Page 69: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

USE CASES

Page 70: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 70 - 07/10/2004

Budget High Availability

High availability infrastructure “on a budget”

Typical eCommercesetup

http://www.budget-ha.com

Page 71: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 71 - 07/10/2004

OpenUSS: University Support System

eLearningHigh availabilityPortability

Linux, HP-UX, Windows

InterBase, Firebird, PostgreSQL, HypersonicSQL

http://openuss.sourceforge.net

Firebird

C-JDBC Controller Full replication

Firebird JDBC driver

Firebird

C-JDBC driver

JVM

C-JDBC driver

JVM

C-JDBC Controller Full replication

Firebird JDBC driver

C-JDBC driver

JVM

JOnAS J2EE server

C-JDBC driver

JVM

Enhydra server

OpenUSS OpenUSS OpenUSS OpenUSS

Enhydra Director

Apache

JOnAS J2EE server

Enhydra server

JOnAS J2EE server

Enhydra server

JOnAS J2EE server

Enhydra server

Enhydra Director

Apache

Enhydra Director

Apache

Page 72: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 72 - 07/10/2004

Flood alert system

Disaster recovery Independent nodes synchronized with C-JDBC VPN for security issues

http://floodalert.org

MySQL

C-JDBC Controller Full replication

MySQL JDBC driver

C-JDBC driver

JBoss J2EE server

Flood alert system

MySQL

C-JDBC Controller Full replication

MySQL JDBC driver

C-JDBC driver

JBoss J2EE server

Flood alert system

MySQL

C-JDBC Controller Full replication

MySQL JDBC driver

C-JDBC driver

JBoss J2EE server

Flood alert system

> 1000 miles

Page 73: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 73 - 07/10/2004

J2EE benchmarking

Large scaleJ2EE clusters

http://jmob.objectweb.org

Internet

emulated users

Page 74: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

PERFORMANCE

Page 75: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 75 - 07/10/2004

TPC-W

Browsing mix performance

Page 76: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 76 - 07/10/2004

TPC-W

Shopping mix performance

Page 77: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 77 - 07/10/2004

TPC-W

Ordering mix performance

Page 78: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 78 - 07/10/2004

Result cache

Cache contains a list of SQL->ResultSetPolicy defined by queryPattern->Policy3 policies

EagerCaching: variable granularities for invalidationsRelaxedCaching: invalidations based on timeoutNoCaching: never cached

RUBiS bidding mixwith 450 clients

No cache Coherentcache

Relaxedcache

Throughput (rq/min) 3892 4184 4215

Avg response time 801 ms 284 ms 134 ms

Database CPU load 100% 85% 20%

C-JDBC CPU load - 15% 7%

Page 79: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 79 - 07/10/2004

Outline

MotivationsRAIDbC-JDBCPerformanceLessons learnedConclusion

Page 80: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 80 - 07/10/2004

Open problems

Partition of clustersUsers want control on

failure policyReconciliation must

also be user controlled

PostgreSQL

C-JDBC Controller

C-JDBC driver

JVM

Java client program

C-JDBC driver

JVM

Java client program

C-JDBC driver

JVM

Java client program

C-JDBC driver

JVM

Java client program

C-JDBC Controller

JavaGroups

PostgreSQL

Page 81: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 81 - 07/10/2004

LeWYS overview

Monitoring Pump

CPUprobe

diskprobe

pumpthread

DREAM

Monitoring Pump

CPUprobe

memoryprobe

pumpthread

DREAM

DREAM

DREAM

DREAM

Monitoring Pump

pumpthread

CPUprobe

networkprobe

ObserverObserver

Observer ObserverMonitoringrepository

Page 82: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

LeWYS

Page 83: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 83 - 07/10/2004

LeWYS components

Library of probeshardware resources: cpu, memory, disk, networkgeneric sensors: SNMP, JMX, JVMPI, …

Monitoring pumpdynamic deployment of sensorsmanages monitoring leases

Event channelspropagate monitored events to interested observersallows for filtering, aggregation, content-based processing, …

Optional monitoring repository

Page 84: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 84 - 07/10/2004

LeWYS design choices

Component-based frameworkprobes, monitoring pump, event channelsprovides (re)configurability capabilities

Minimize intrusiveness on monitored nodes

No global clocktimestamp generated locally by pump

Information processing in DREAM channels

Page 85: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 85 - 07/10/2004

Centralized monitoring using a monitoring repository (1)

Monitoring Pump

CPUprobe

memoryprobe

pumpthreadDREAM

Monitoring Pump

CPUprobe

memoryprobe

pumpthreadDREAM

Monitoring Repository

Monitoring DB

storagethread

querythreads

Monitoring Console

eventsubscribeservice

Page 86: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 86 - 07/10/2004

Centralized monitoring using a monitoring repository (2)

Monitoring repositorystores monitoring informationservice to retrieve monitoring information

ProsDB allows for storing large amount of datapowerful queries

correlate data from various probes at different locationsresynchronize clocks

browsing history to diagnose failuresuse history for system provisioning

Consrequires a DB (heavy weight solution)

Page 87: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 87 - 07/10/2004

Outline

J2EE Cluster

Group communications

MonitoringmotivationsLeWYSimplementation

Status & Perspectives

Page 88: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 88 - 07/10/2004

Monitoring pump implemention

Component

Pro

beF

acto

ry

MonitoringPump

Thread

Probe

MonitoringPumpManager

ChannelOut

Pro

beM

anag

erBindingController

Probe

Probe

Repository

ProbeManager

OutputManager

Component

PullPushMultiplexerM

onitoringMumpManager

OutputManager

TimeStamp

Probe

Cache

Cac

hed

Pro

be

RMI

Page 89: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 89 - 07/10/2004

Hardware Probes

Pure Java probesusing /proccost: 0.01ms/call (Linux)

Linux Solaris

/proc

Hardware resources

Windows

.DLLC C

Linux

C

JNI JNI JNI

cpu, mem, disk, net,

kernel, …probes

cpu, … probes… …

Page 90: GORDA Kickoff meeting INRIA – Sardes project Emmanuel Cecchet Sara Bouchenak.

http://c-jdbc.objectweb.org/ - [email protected] 90 - 07/10/2004

Software Probes

Application level monitoringJMXad-hoc

JVM

Linux Solaris

JVM

Hardware resources

WindowsLinux

JMX JVMPI

SNMP, ad-hoc,

… probes

JVM probesJMX based

probes


Recommended