Presentation is loading. Please wait.

Presentation is loading. Please wait.

RDA3 Transport Joel Lauener on behalf of the CMW team 26th June, 2013

Similar presentations


Presentation on theme: "RDA3 Transport Joel Lauener on behalf of the CMW team 26th June, 2013"— Presentation transcript:

1 RDA3 Transport Joel Lauener on behalf of the CMW team 26th June, 2013 Joel.Lauener@cern.ch

2 Introduction Architecture Connection management Messaging Conclusions Outline 1

3 Introduction Provide connection management and asynchronous bi-directional communication Keep it simple & stupid! Abstraction of the underlying communication library Independent from other librairies 2 Introduction

4 Public API 3 Architecture

5 Dispatcher Push sockets from high level to transport Callback from transport to high level 4 Architecture

6 Channels Admin socket: – Management – Small message size – Small message count Data socket: – Application data – Might block/overflow 5 Architecture

7 Frames 0x20 CLIENT_CONNECT 0x21CLIENT_REQ 0x22 CLIENT_HB 0x01SERVER_CONNECT_ACK 0x02SERVER_REP 0x03SERVER_HB 6 Architecture

8 Message Used to pass data between high layer and transport layer Wrapper around ZMQ message with custom free function  0 copy 7 Architecture

9 Connect (success) 8 Connection Management

10 Heartbeating 9 Connection Management

11 Connect (fail) 10 Connection Management

12 Client reconnect 11 Connection Management

13 Server disconnect 12 Connection Management

14 Client close 13 Connection Management

15 Connection states 14 Connection Management

16 Request 15 Messaging

17 Replies 16 Messaging

18 Each data point can be multiplexed Authorization layer (RBAC) Cannot send first updates through the same channel  We do not use pub/sub for notifications But we have 2 use cases for a pub/sub based transport: Timing and Orbit Feedback What about pub/sub? 17 Messaging

19 Powerful, easy to use, well documented However… – In terms of error handling ROUTER is inconsistent compared to DEALER, REQ and REP – ZMQ doesn’t give means to inspect/modify the content of queues ZeroMQ 18 Conclusions

20 Future plans Improve disconnection detection on the server side (ZMQ monitor or async HB) Implement graceful close Investigate pub/sub Think about replies priority Performance testing and profiling Should be ready by September ’13 19 Conclusions

21 Transport is almost implemented – Working version in C++ and Java – 90% done, 90% of work left ;) – Some work left on error detection Pub/sub is not used for sending notifications No showstoppers on the ZeroMQ side Preliminary scalability tests are promising Summary 20 Conclusions


Download ppt "RDA3 Transport Joel Lauener on behalf of the CMW team 26th June, 2013"

Similar presentations


Ads by Google