1 / 24

Unreliable Transport Protocol for Commodity-Based OpenGL Distributed Visualization

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. Outline. Motivation Network interconnect Distributed OpenGL

gamada
Download Presentation

Unreliable Transport Protocol for Commodity-Based OpenGL Distributed Visualization

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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. 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. 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. Outline • Motivation • Network interconnect • Distributed OpenGL • Experimentations with Chromium • Conclusion and future works

  8. Distributed OpenGL • Basic brick OpenGL application OpenGL decoder OpenGL calls OpenGL calls Network OpenGL encoder OpenGL library Display TCP UDP Rendering client Rendering server

  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. Distributed OpenGL • Interleaved UDP/TCP • Synchronization UDP 4 5 5 6 6 6 7 TCP

  12. Distributed OpenGL • Interleaved UDP/TCP • Result

  13. 5 4 2 1 6 3 8 9 7 Expected Rendered Distributed OpenGL • Fixing interleaved UDP/TCP • MTU consideration: no loss example 5 4 2 1 6 3 8 9 7 Sent

  14. Expected Distributed OpenGL • Fixing interleaved UDP/TCP • MTU consideration: single vertex loss example 5 5 4 4 2 2 1 1 6 6 8 8 9 9 7 7 Received Rendered

  15. Expected Distributed OpenGL • Fixing interleaved UDP/TCP • MTU consideration: triplet of vertices loss example 5 5 4 4 6 6 8 8 9 9 7 7 Received Rendered

  16. Distributed OpenGL • Fixed interleaved UDP/TCP • Result

  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. Crocodile Rings Chromium B.S.U. TCP UDP Experimentations 100 Mbps 2.2 fps 110 fps playable 2.7 fps 110 fps playable

  20. Crocodile Rings Chromium B.S.U. TCP UDP Experimentations 10 Mbps 0.28 fps 34 fps playable 0.36 fps 39 fps playable

  21. Crocodile Rings Chromium B.S.U. TCP UDP Experimentations Wireless 0. 066 fps 5.5 fps quite playable 0.37 fps 8 fps 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. 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)

More Related