Shared Memory Transfer
To transfer shared memory images between computers we can use the shmimTCP system. The goal is to make a copy or dummy shared memory on one machine that is then synchronized with the other machine over a dedicated ethernet connection.
Standard Use
For our standard use cases of transferring DM commands, the script dmdispbridge will setup the system for you. For instance, to send dmtweeter channel 03 commands from ICC to RTC, on ICC you can run
[xsup@exao3]$ dmdispbridge dm01disp03
The arguments can be any dm channel:
dm00dispXX for the woofer
dm01dispXX for the tweeter
dm61dispXX - dm66dispXX for GMT segments
To send dmncpc commands from RTC to ICC, on RTC you can run
[xsup@exao2]$ dmdispbridge dm02disp03
Manual Setup
More complicated and/or new uses require you to perform the steps yourself.
Example 1
A simple case is to send data from a machine that has the source of the data on it to another machine. Here we have a stream named acc000 that we want to send to another machine. We start with the receiving machine:
$ tmux new -s sTCPrc-acc00
Then in the tmux terminal run (which you are now in)
$ shmimTCPreceive 8886
You can now exit the tmux session with ctrl-b followed by d. Next, on the sending machine run
$ shmimTCPtransmit acc000 192.168.2.2 8886
Where you change the IP address (192.168.2.2) and port (8886) as needed.
Example 2
This example shows how to send dmtweeter commands from ICC to RTC. This is subtly different from the above example b/c ICC is not usually the source of the DM commands, so there is no stream already to use. Then the DM commands are written to an already existing stream on RTC. Note that these are the steps performed by dmdispbridge for the same operation above, but this can be adapted to other devices/shmims as needed.
First on RTC:
tmux new -s sTCPrc-dm01disp06
Then in the tmux session:
$ shmimTCPreceive 8886
Second On ICC:
First create the shmim
cacao
cacao> mk2Dim "s>tf32>dm01disp06" 50 50
cacao> exit
Then make the connection (no tmux needed)
$ shmimTCPtransmit dm01disp06 192.168.2.2 8886
This example can be modified for other taskes (e.g. sending camtip to RTC)