• Aucun résultat trouvé

Unreliable Transport Protocol for Commodity-Based OpenGL Distributed Visualization

N/A
N/A
Protected

Academic year: 2022

Partager "Unreliable Transport Protocol for Commodity-Based OpenGL Distributed Visualization"

Copied!
24
0
0

Texte intégral

(1)

Workshop on Commodity-Based Visualization Clusters

Unreliable Transport Protocol for

Commodity-Based OpenGL Distributed Visualization

Samuel Thibault – ENS Lyon

Xavier Cavin – SCI Institute/Inria Lorraine Olivier Festor – Inria Lorraine

Eric Fleury - Inria Rhônes-Alpes

(2)

Outline

Motivation

Network interconnect

Distributed OpenGL

Experimentations with Chromium

Conclusion and future works

(3)

Workshop on Commodity-Based Visualization Clusters 3

Outline

Motivation

Network interconnect

Distributed OpenGL

Experimentations with Chromium

Conclusion and future works

(4)

Motivation

Clusters of commodity computers

Dedicated, expensive network interconnect

– Both transfer time and packets loss are very low – Reliable transport protocol (TCP)

Cheaper network interconnects (… wireless cluster)

– Unreliable transport protocol (UDP) – Degradation of rendering quality

(5)

Workshop on Commodity-Based Visualization Clusters 5

Outline

Motivation

Network interconnect

Distributed OpenGL

Experimentations with Chromium

Conclusion and future works

(6)

Network interconnect

Transfer Control Protocol (TCP)

– Guaranteed delivery

– Acknowledgment mechanism

User Datagram Protocol (UDP)

– Unreliable transport protocol

– Fast but no delivery or order guarantee

Maximum Transmission Unit (MTU)

– Biggest packet size (no fragmentation) – TCP automatically adapts to the MTU – UDP does not

(7)

Workshop on Commodity-Based Visualization Clusters 7

Outline

Motivation

Network interconnect

Distributed OpenGL

Experimentations with Chromium

Conclusion and future works

(8)

Distributed OpenGL

Basic brick

Rendering client

OpenGL decoder

OpenGL library OpenGL

encoder OpenGL calls

OpenGL calls OpenGL calls OpenGL calls OpenGL

application

Rendering server

Display Display Network

TCP

UDP

(9)

Workshop on Commodity-Based Visualization Clusters 9

Distributed OpenGL

TCP only

(10)

Distributed OpenGL

UDP versus TCP

– Remove the acknowledgment mechanism – Some data may not be received

– Or not in the order they were sent

UDP only

– Almost always fatal crash

– Some OpenGL calls shall not be lost: use TCP

– Some can: glBegin/glEnd contents (i.e. glVertex)

(11)

Workshop on Commodity-Based Visualization Clusters 11

Distributed OpenGL

Interleaved UDP/TCP

– Synchronization

4 5 5 6 6 6 7

UDP

TCP

(12)

Distributed OpenGL

Interleaved UDP/TCP

– Result

(13)

Workshop on Commodity-Based Visualization Clusters 13

Distributed OpenGL

Fixing interleaved UDP/TCP

– MTU consideration: no loss example

Expected

1 2

3

4 5

6

7 8

9

Sent

1 2

3

4 5

6

7 8

9

Rendered

(14)

Distributed OpenGL

Fixing interleaved UDP/TCP

– MTU consideration: single vertex loss example

Expected

1 2 4

5

6

7 8

9

Received

1 2 4

5

6

7 8

9

Rendered

(15)

Workshop on Commodity-Based Visualization Clusters 15

Distributed OpenGL

Fixing interleaved UDP/TCP

– MTU consideration: triplet of vertices loss example

Expected

4 5

6

7 8

9

Received

4 5

6

7 8

9

Rendered

(16)

Distributed OpenGL

Fixed interleaved UDP/TCP

– Result

(17)

Workshop on Commodity-Based Visualization Clusters 17

Experimentations

Implementation in Chromium

– Framework for OpenGL rendering on clusters of workstations – http://chromium.sourceforge.net

Added features (patches-1-branch of CVS repository)

– IPv6 support

– Interleaved UDP/TCP support

(18)

Experimentations

Test applications

– Crocodile: OpenGL viewer

– Rings: Chromium’s test program – Chromium B.S.U.: OpenGL game

(19)

Workshop on Commodity-Based Visualization Clusters 19

Experimentations

TCP UDP

Crocodile Rings Chromium B.S.U.

100 Mbps

2.2 fps 2.7 fps

110 fps 110 fps

playable

playable

(20)

Experimentations

TCP UDP

Crocodile Rings Chromium B.S.U.

10 Mbps

0.28 fps 0.36 fps

34 fps 39 fps

playable

playable

(21)

Workshop on Commodity-Based Visualization Clusters 21

Experimentations

TCP UDP

Crocodile Rings Chromium B.S.U.

Wireless

0. 066 fps 0.37 fps

5.5 fps 8 fps

quite playable

non playable

(22)

Conclusion

Interleaved UDP/TCP is adapted:

– If geometry represents most of the traffic

– When rendering quality is not the first interest – When it is animated

– If the network is the bottleneck or has huge loss

It is not:

– When the application parts are closely synchronized – On local high bandwidth networks

(23)

Workshop on Commodity-Based Visualization Clusters 23

Future works

Multiple rendering

– UDP IPv6 multicast

– What about TCP packets?

UDP buffering: sendmsg/recvmsg

– MTU constraints – UDP: 1.5 KB

– TCP: 16 KB => less system calls

UDP traffic control

– When sender is too fast for network or receiver – Big losses

(24)

Acknowledgments

Support

– VTHD: Very High Broadband (French ministry of industry) – AVTC (DOE VIEWS)

People

– Chromium community – Alain Filbois

– Bruno Levy (Graphite software)

Références

Documents relatifs

Collectively, the techniques used to resample the ETMS data, identify air traffic flows, and find flow boundaries make up the Terminal Traffic Flow Identifier algorithm.

Measured properties included the snow and ice thickness, air and ice temperature, ice salinity and the in situ ice borehole strength.. Property measurements were obtained at

L'entrée d'un tel objet met en œuvre un nombre important de phénomènes, dont certains sont peu ou pas connus de manière quantifiable et déterministe : AéroThermoDynamique ATD

We propose an extension of minimal intuitionistic predicate logic, based on delimited control operators, that can derive the predicate-logic version of the Double-negation Shift

Although the study confirms previous reports of electronic faucet contamination with nonfermentative gram- negative bacteria and unequivocally provides information about the extent

Our approach has been applied to a distributed algorithm to solve the consensus problem: by adopting the convergence value as new input value, the probability to converge toward a

One difference from the case of multicast is that in the case of unicast in the forward direction, since probes are sent in separate small packets, we do not need to wait until

Then we study the balanced swap graphs, which encode a class of Schur function identities obtained this way.. Thesis Supervisor: Alexander Postnikov Title: