Difference between revisions of "CineGrid"

From Immersive Visualization Lab Wiki
Jump to: navigation, search
(Copying large files over multi-gigabit networks)
(Streaming high resolution video over multi-gigabit networks)
 
(20 intermediate revisions by one user not shown)
Line 3: Line 3:
 
==Copying large files over multi-gigabit networks==
 
==Copying large files over multi-gigabit networks==
  
* Download latest version of [http://udt.sourceforge.net/ UDT] file transfer tool. The version we have been using is at
+
* Download latest version of [http://udt.sourceforge.net/ UDT] file transfer tool. The version we have been using is http://ivl.calit2.net/wiki/files/revisedudt3.3.tar.gz. Untar and unzip the file to a directory of your choice.
 +
 
 +
* Optimize network settings:
 +
** Change maximum UDP buffer size (read and write) on sender and receiver: edit /proc/sys/net/core/rmem_max and /proc/sys/net/core/wmem_max. The number in the files determines the buffer size in bytes. We suggest the size to be 16MB (=16777216 bytes) for each of the buffers, which is the maximum allowed size.
 +
** Set buffer sizes in sendfile.cpp and recvfile.cpp, before the sockets connect with the "UDT::connect" command:
 +
    <pre>
 +
    int feng_temp=256000;
 +
    UDT::setsockopt(serv,0,UDP_SNDBUF,&feng_temp, sizeof(int));
 +
 
 +
    int feng_mss=8800;
 +
    UDT::setsockopt(serv,0,UDT_MSS ,&feng_mss, sizeof(int));
 +
 
 +
    int feng_recvbuf=40960000;
 +
    UDT::setsockopt(serv,0,UDP_RCVBUF,&feng_recvbuf,sizeof(int));
 +
    </pre> 
 +
 
 +
* The following commands are called from the directory udt3.3/app/
 +
 
 +
* Run the sender:
 +
  ./sendfile
 +
 
 +
* Run the receiver:
 +
  Syntax:
 +
  ./recvfile <IP address/hostname of sender> <port number> <remote source file name> <local destination file name>
 +
  Example:
 +
  ./recvfile 127.0.0.1 9000 /home/jschulze/data/largefile.tif ./temp.tif
  
 
==Streaming high resolution video over multi-gigabit networks==
 
==Streaming high resolution video over multi-gigabit networks==
 +
 +
Our software solution is based on [http://udt.sourceforge.net/ UDT] and NCSA's bulk movie playback package (bplay).
 +
 +
* Get UDTStreaming.tar.gz from Leo or Jurgen
 +
 +
* Configure the buffer sizes just like above for file transfers
 +
 +
* Run video server program, for example on jpeg2ksvr:/workspace/origudt/udt3.3/app:
 +
 +
  ./sendfile 12222
 +
 +
* Run video client (renderer), for example on chert in ~sliu/BFT/udt3/app:
 +
 +
  Syntax:
 +
  ./recvfile <IP address> <port number> <remote video file name> <local video file name>
 +
  Example:
 +
  ./recvfile jpeg2ksvr 12222 /data/NCSA/bmv/brant.bmv /tmp/sliu/tmp/bmv
 +
 +
* The script ./deploy.sh kills all existing processes and runs the receiver as above

Latest revision as of 10:37, 14 June 2007

Team members: Jurgen Schulze, Shaofeng (Leo) Liu

Copying large files over multi-gigabit networks

  • Optimize network settings:
    • Change maximum UDP buffer size (read and write) on sender and receiver: edit /proc/sys/net/core/rmem_max and /proc/sys/net/core/wmem_max. The number in the files determines the buffer size in bytes. We suggest the size to be 16MB (=16777216 bytes) for each of the buffers, which is the maximum allowed size.
    • Set buffer sizes in sendfile.cpp and recvfile.cpp, before the sockets connect with the "UDT::connect" command:
    int feng_temp=256000;
    UDT::setsockopt(serv,0,UDP_SNDBUF,&feng_temp, sizeof(int));

    int feng_mss=8800;
    UDT::setsockopt(serv,0,UDT_MSS ,&feng_mss, sizeof(int));

    int feng_recvbuf=40960000;
    UDT::setsockopt(serv,0,UDP_RCVBUF,&feng_recvbuf,sizeof(int));
    
  • The following commands are called from the directory udt3.3/app/
  • Run the sender:
 ./sendfile
  • Run the receiver:
 Syntax: 
 ./recvfile <IP address/hostname of sender> <port number> <remote source file name> <local destination file name>
 Example: 
 ./recvfile 127.0.0.1 9000 /home/jschulze/data/largefile.tif ./temp.tif

Streaming high resolution video over multi-gigabit networks

Our software solution is based on UDT and NCSA's bulk movie playback package (bplay).

  • Get UDTStreaming.tar.gz from Leo or Jurgen
  • Configure the buffer sizes just like above for file transfers
  • Run video server program, for example on jpeg2ksvr:/workspace/origudt/udt3.3/app:
 ./sendfile 12222
  • Run video client (renderer), for example on chert in ~sliu/BFT/udt3/app:
 Syntax: 
 ./recvfile <IP address> <port number> <remote video file name> <local video file name>
 Example:
 ./recvfile jpeg2ksvr 12222 /data/NCSA/bmv/brant.bmv /tmp/sliu/tmp/bmv

  • The script ./deploy.sh kills all existing processes and runs the receiver as above