jgma: a reference implementation of the grid monitoring architecture mat grove distributed systems...

23
jGMA: A Reference Implementation of the Grid Monitoring Architecture Mat Grove Distributed Systems Group University of Portsmouth http://dsg.port.ac.uk/~mjeg/

Upload: teresa-mills

Post on 26-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

jGMA: A Reference Implementation of the Grid Monitoring Architecture

Mat Grove

Distributed Systems GroupUniversity of Portsmouth

http://dsg.port.ac.uk/~mjeg/

2

http://dsg.port.ac.uk/projects/jGMA/

Outline

Introduction and Motivation. The Grid Monitoring Architecture (GMA). The jGMA Implementation. Summary and future work. jGMA Demo.

3

http://dsg.port.ac.uk/projects/jGMA/And and the the a

GridRM is: A generic resource monitoring system – basically a

framework for gathering data from heterogeneous data sources,

A scalable means of monitoring resources distributed over the Grid,

Written in Java, using commons standards: Such as SQL, JDBC, Java Servlets, GLUE.

GridRM is made up of local and global layers; the latter basically is the means of transporting GridRM data between grid sites.

GridRM needed a “standards-based” transport layer to bind together these its sites at the global layer. A GMA-based transport appeared to be the best

candidate.

Introduction

4

http://dsg.port.ac.uk/projects/jGMA/

GridRM (gridrm.org)

ConsumerConsumer

RegisterRegister

Client(GMA

Consumer)

Register/subscribe

Query/response

Query/response

Find gatewayresources

EventsEvents

Register

IDC

GridRMGateway(Producer

)

Agent1 Agent

2

Agent3

Agentn

Lo

cal

La

yer

Glo

ba

lL

aye

r

IDC

Grid site A

DB

Register

IDC

Grid site C

DB

GridRMGateway(Producer)

Register

IDC

Grid site B

DB

GridRMGateway(Producer)

GMARegistry

5

http://dsg.port.ac.uk/projects/jGMA/And and the the a

The Grid Monitoring Architecture The GGF’s GMA document is their suggested

“informational” means for monitoring within the Grid: Note Informational documents are used to inform the

community about a useful idea or set of ideas. The GMA document (2001) recommends:

A publish, subscribe and bind architecture, An implementation that is:

Secure and scalable, Has a low-latency and capable of high data

rates, Imposes minimal impact on the infrastructure.

GMA compliancy means implementing approximately 20 features.

6

http://dsg.port.ac.uk/projects/jGMA/

GMA Components

Registry

Producer ConsumerEvents

Publish/Search Publish/Search

Bind

7

http://dsg.port.ac.uk/projects/jGMA/And and the the a

Some GMA Implementations In the first instance we wanted to take up an off-the-

shelf GMA package, several out there. Embedded (part of a larger s/w package):

e.g. AutoPilot and Globus MDS: MDS can be extracted into a standalone

infrastructure with a little effort. Standalone:

pyGMA (Berkeley National Lab), and R-GMA (DataGrid/LCG).

None of these implementations met GridRM’s requirements: Easy to integrate within GridRM (Java-based), Simple installation with minimal dependencies, No need to “fork” parent software tree, GMA compliance.

8

http://dsg.port.ac.uk/projects/jGMA/

jGMA Components jGMA has the following components:

A registry, A producer and consumer (shared code-base), A PC Servlet (provides WAN access between producers

and consumers).

jGMA features: Written in Java, so takes advantage of usual features

and libraries, Small API (<20 calls), Released as single “jar” of currently 28Kbytes. Limited dependencies:

Tomcat and Java.

9

http://dsg.port.ac.uk/projects/jGMA/

jGMA Implementation

Tomcat

Consumer

Publish/Search

Tomcat

Producer

jGMARegistry

Producer/Consumer

Servlet

Producer/Consumer

Servlet

Publish/Search

Producer/ConsumerMessage Path

AdministrativeBoundary

Publish/Search

10

http://dsg.port.ac.uk/projects/jGMA/

jGMA Optimisations The jGMA Implementation:

Non-blocking communications:

Local communications use Java sockets: RMI, Serialising objects, Packed binary arrays,

WAN communication use HTTP: HTTP POST, Encapsulating binary data.

Performance Tests: Latency (Over Ethernet 1.5ms, Localhost 0.8ms), Throughput (~1200 messages per second), Scalability (tested stability under heavy loads).

11

http://dsg.port.ac.uk/projects/jGMA/

Consumer pseudo code.

Consumer(){

Connector=new JgmaConnector(“holly.dsg.port.ac.uk”);

Connector.register(“pinger”);

}

Registered(){

Connector.registryQuery(“select * from producers”);

}

RegistryEvent(result){

for each result as producer{

Connector.sendMessage(producer, “ping”);

}

}

12

http://dsg.port.ac.uk/projects/jGMA/

Producer pseudo code.

Producer(){

Connector=new JgmaCOnnector(“holly.dsg.port.ac.uk”);

Connector.register(“ponger”);

}

MessageEvent(message){

Connector.replyMessage(message, “pong”);

}

13

http://dsg.port.ac.uk/projects/jGMA/

LAN address:

WAN address:

Example jGMA Addressing.

socket://148.197.150.3:56099/producer/cam

http://dsg.port.ac.uk:8080/jGMA/PC?8723623

14

http://dsg.port.ac.uk/projects/jGMA/

Summary

Summary: jGMA is a reference implementation of GMA

written in Java, jGMA is a easy to use, simple, scalable and a

robust system, Our early tests show that jGMA has good

performance and scalability. Some issues need dealing with:

Throttling.

15

http://dsg.port.ac.uk/projects/jGMA/

Future Work Future developments:

Implement a persistent registry:

File (ASCII text), R-DBMS (i.e. MySQL), XML (i.e. Xindice).

Completing the leasing infrastructure, Virtual Registry, Monitoring via PC Servlet, Hooks for debugging, Being deployed in GridRM,

Look at working with other GMA developers to get an agreement on a standardised wire API.

16

http://dsg.port.ac.uk/projects/jGMA/

Demo

17

http://dsg.port.ac.uk/projects/jGMA/

Download

Available: jGMA-0.3.7-beta New version for October:

http://dsg.port.ac.uk/projects/jGMA

18

http://dsg.port.ac.uk/projects/jGMA/

Links

Project Web page: http://dsg.port.ac.uk/projects/jGMA/

The DSG Web page: http://dsg.port.ac.uk/

GridRM: http://gridrm.org/

Related links: GGF: http://www.gridforum.org/ R-GMA: http://www.r-gma.org/

19

http://dsg.port.ac.uk/projects/jGMA/

Xcx

vxv

Xcv

xcv

Sdf

Sd

F

S

Dfs

Df

Xcx

vxv

Xcv

xcv

20

http://dsg.port.ac.uk/projects/jGMA/

Xcx

vxv

Xcv

xcv

Sdf

Sd

F

S

Dfs

Df

Xcx

vxv

Xcv

xcv

21

http://dsg.port.ac.uk/projects/jGMA/

Xcx

vxv

Xcv

xcv

Sdf

Sd

F

S

Dfs

Df

Xcx

vxv

Xcv

xcv

22

http://dsg.port.ac.uk/projects/jGMA/

Xcx

vxv

Xcv

xcv

Sdf

Sd

F

S

Dfs

Df

Xcx

vxv

Xcv

xcv

23

http://dsg.port.ac.uk/projects/jGMA/

Xcx

vxv

Xcv

xcv

Sdf

Sd

F

S

Dfs

Df

Xcx

vxv

Xcv

xcv