Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Latest news on JXTA and JuxMem-C/DIET Mathieu Jan GDS meeting, Rennes, 11 march 2005."— Presentation transcript:

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

2 2 Outline Performance evaluation of JXTA in a grid context Overview of JuxMem-C Overview of initial use of JuxMem by DIET Roadmap

3 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)

4 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

5 5 JXTA communications layers Endpoint service Pipe service 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

6 6 Bandwidth of JXTA-J2SE 2.3.2 over SANs Bandwidh of JXTA-J2SE 2.2.1: 145MB/s (endpoint service)

7 7 Latency of JXTA over SANs Version of JXTA JXTA-J2SE 2.2.1 JXTA-J2SE 2.3.2JXTA-C Network MyrinetG-EthernetMyrinetG-EthernetMyrinetG-Ethernet Endpoint service 890 μ s357 μ s624 μ s294 μ s635 μ s322 μ s Unicast pipe 1.9ms834 μ s1.7ms711 μ s1.7ms727 μ s JXTA Socket 3.3ms1.3ms2.4ms977 μ s

8 8 Bandwidth of JXTA-C over SANs

9 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

10 10 Bandwidth of JXTA-J2SE 2.3.2 over WANs Similar results for JXTA-J2SE 2.2.1

11 11 Bandwidth of JXTA-C over WANs

12 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

13 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

14 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!

15 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 :-)

16 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!

17 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

18 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

19 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?

20 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


Download ppt "Latest news on JXTA and JuxMem-C/DIET Mathieu Jan GDS meeting, Rennes, 11 march 2005."

Similar presentations


Ads by Google