latest news on jxta and juxmem-c/diet mathieu jan gds meeting, rennes, 11 march 2005

20
Latest news on JXTA and JuxMem-C/DIET Mathieu Jan GDS meeting, Rennes, 11 march 2005

Upload: kory-green

Post on 04-Jan-2016

213 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Latest news on JXTA and JuxMem-C/DIET Mathieu Jan GDS meeting, Rennes, 11 march 2005

Latest news on JXTA and JuxMem-C/DIET

Mathieu Jan

GDS meeting, Rennes, 11 march 2005

Page 2: Latest news on JXTA and JuxMem-C/DIET Mathieu Jan GDS meeting, Rennes, 11 march 2005

2

Outline

Performance evaluation of JXTA in a grid context

Overview of JuxMem-C

Overview of initial use of JuxMem by DIET

Roadmap

Page 3: Latest news on JXTA and JuxMem-C/DIET Mathieu Jan GDS meeting, Rennes, 11 march 2005

3

Enabling JXTA for High Performance Grid Computing

Context: convergence of P2P and grid computing

Grid over P2P

New hypothesis for P2P systems Efficiently use SANs and WANs

Performances of JXTA are not clear Papers by Emir Halepovic

No in-depth explanations about the results No precise details about the experimental setup (LAN,

WAN) Complex topologies (relays, etc): what is benchmarked?

Inconsistent results (Emir Halepovic, P3 project)

Page 4: Latest news on JXTA and JuxMem-C/DIET Mathieu Jan GDS meeting, Rennes, 11 march 2005

4

Description of the Experimental Setup

Bidirectional bandwidth benchmark JXTA

JXTA-J2SE 2.2.1 and 2.3.2 JXTA-C (HEAD, 18 january) Configured with TCP, direct communications

SANs benchmarks Myrinet & Giga Ethernet (parasol & paraci)

WANs benchmarks Grid 5000 (Rennes & Toulouse) Delay = 11.2 ms / Bandwidth = 1Gb/s Tuned TCP buffer sizes Direct communications: unusual for P2P

systems

Page 5: Latest news on JXTA and JuxMem-C/DIET Mathieu Jan GDS meeting, Rennes, 11 march 2005

5

JXTA communications layers

Endpoint service Endpoint service

Pipe service Pipe service

JXTA Socket JXTA Socket

TCP, HTTP, etc

- Static point-to-point communications

- Independant from underlaying network topology

- Unreliable

- Dynamic point-to-point communications

- Data-stream interface

- Reliability

Page 6: Latest news on JXTA and JuxMem-C/DIET Mathieu Jan GDS meeting, Rennes, 11 march 2005

6

Bandwidth of JXTA-J2SE 2.3.2 over SANs

Bandwidh of JXTA-J2SE 2.2.1:

145MB/s (endpoint service)

Page 7: Latest news on JXTA and JuxMem-C/DIET Mathieu Jan GDS meeting, Rennes, 11 march 2005

7

Latency of JXTA over SANs

Version of JXTA

JXTA-J2SE 2.2.1

JXTA-J2SE 2.3.2

JXTA-C

Network

Myrinet

G-Ethernet

MyrinetG-

EthernetMyrinet

G-Ethernet

Endpoint

service890μs 357μs 624μs 294μs 635μs 322μs

Unicast pipe

1.9ms 834μs 1.7ms 711μs 1.7ms 727μs

JXTA Socket

3.3ms 1.3ms 2.4ms 977μs

Page 8: Latest news on JXTA and JuxMem-C/DIET Mathieu Jan GDS meeting, Rennes, 11 march 2005

8

Bandwidth of JXTA-C over SANs

Page 9: Latest news on JXTA and JuxMem-C/DIET Mathieu Jan GDS meeting, Rennes, 11 march 2005

9

Fully exploiting SANs capacities: PadicoTM

Myrinet: OS-bypass mode 2 Gb/s and 7μs

PadicoTM High-performance framework for multithreading

and networking Virtual sockets

JXTA-C on top of PadicoTM Modifications inside Apache Portable Layer (thread

library) Measurement bandwidth for the endpoint layer:

140 MB/s Improvements by only 32 MB/s Memory copies inside JXTA-C

Page 10: Latest news on JXTA and JuxMem-C/DIET Mathieu Jan GDS meeting, Rennes, 11 march 2005

10

Bandwidth of JXTA-J2SE 2.3.2 over WANs

Similar results for

JXTA-J2SE 2.2.1

Page 11: Latest news on JXTA and JuxMem-C/DIET Mathieu Jan GDS meeting, Rennes, 11 march 2005

11

Bandwidth of JXTA-C over WANs

Page 12: Latest news on JXTA and JuxMem-C/DIET Mathieu Jan GDS meeting, Rennes, 11 march 2005

12

Discussion

JXTA-J2SE 2.2.1 nearly saturates SANs Endpoint and pipe layer

Improved results for JXTA Sockets can be obtained by tuning output buffer size

Bandwidth degradation between JXTA-J2SE 2.2.1 and 2.3.2

Latency improvements with JXTA-J2SE 2.3.2 Memory copies inside JXTA-C

Prevents an efficient use of PadicoTM Transparent use of features available in PadicoTM

Parallel streams On-the-fly compression techniques

Page 13: Latest news on JXTA and JuxMem-C/DIET Mathieu Jan GDS meeting, Rennes, 11 march 2005

13

New design of JuxMem

Goal: hide the complexity of JXTA to upper layers Upper layers are consitency protocols New layers: communication, search, memory and failure

detector

Improved semantic for search layer Based of JXTA discovery mechanism

JuxMem comm layer hides the JXTA comm layer used Currently based on JXTA pipe service Other implementations in progress

Implemented by JuxMem-J2SE and JuxMem-C JXTA-J2SE 2.3.2 JXTA-C HEAD + small patch

Page 14: Latest news on JXTA and JuxMem-C/DIET Mathieu Jan GDS meeting, Rennes, 11 march 2005

14

Current status of JuxMem-C

JXTA service

Private deployment using own groups Own net peer group (juxmem group)

Communication layer is working Between JuxMem-C peers Between JuxMem-C peers and JuxMem-J2SE peers

Search layer working only at a cluster level

JuxMem client is working!

Page 15: Latest news on JXTA and JuxMem-C/DIET Mathieu Jan GDS meeting, Rennes, 11 march 2005

15

Roadmap of JuxMem-C

Search layer for alloc at the juxmem group level

Memory layer Other types of JuxMem’s peer

Provider Cluster manager (JXTA-C rdv peers are

available!) Data types in JuxMem Wrapping file API access etc

Consistency protocols :-)

Page 16: Latest news on JXTA and JuxMem-C/DIET Mathieu Jan GDS meeting, Rennes, 11 march 2005

16

Current status of JuxMem-C/DIET

Simple targeted example: dmat_manips

A DIET SeD launches a JuxMem-C client (-ljuxmem)

The JuxMem-C client connects to JuxMem-J2SE cluster manager

The DIET SeD gets a reference on the JuxMem service

That’s all!

Page 17: Latest news on JXTA and JuxMem-C/DIET Mathieu Jan GDS meeting, Rennes, 11 march 2005

17

Modifications inside DIET

C++ wrapper of JuxMem-C API (JuxMemImpl.[cc|hh])

JuxMem API (JuxMemRead, JuxMemWrite, etc) run()

Launches JXTA-C Gets a reference on the JuxMem service

Modifications inside DIET_server.cc Creates a JuxMemImpl object Calls the run method Calls the linkToJuxMem method

Modifications inside SeDImpl.[cc|hh] JuxMemImpl attribute linkToJuxMem

Update the reference on JuxMemImpl

Page 18: Latest news on JXTA and JuxMem-C/DIET Mathieu Jan GDS meeting, Rennes, 11 march 2005

18

When DIET requests data to JuxMem

When a solve request is received (SeDImpl.cc) Before the computation After the computation Currently for matrices only diet_is_persistent_juxmem (macro)

JuxMemRead before the computation Read the data blocks Profile.parameters[i].desc.id != NULL

JuxMemMap after the computation Allocate a data block Profile.parameters[i].desc.id == NULL

JuxMemWrite after the computation Always

Page 19: Latest news on JXTA and JuxMem-C/DIET Mathieu Jan GDS meeting, Rennes, 11 march 2005

19

Possible questions for DIET experts

Enable trace levels RTFM not yet done on this topic :-)

Cleaner configuration of DIET for JuxMem For now --enable-JuxMem Hardcoded paths

Any other methods needed by DIET? Estimate data transfer time?

Other needed modifications inside DIET? Other?

Page 20: Latest news on JXTA and JuxMem-C/DIET Mathieu Jan GDS meeting, Rennes, 11 march 2005

20

Roadmap of JuxMem-C/DIET

dmat_manip example with JuxMem-C Basic configuration Demo in one month

Test JuxMem-C/DIET with consistency protocols

More complex JuxMem configurations

Cleanup in DIET for commit JuxMem’s license Release of JuxMem