A question was raised if SISPI can handle the CCD telemetry data. The CCD group would like to record some 120+ variables per CCD for each exposure. There are three parts to the question whether we can handle this or not:
a) Monsoon readout performance - how long does it take to collect the data from the front end boards.
b) SVE throughput (shared variable system)
c) Database write/insert speed
Jacob performed a study to address b)
We used our current SVE implementation where both the SVE and the client software is coded in Python using Pyro as the underlying transport system. 5 desktop PCs function as PANs and create the CCD telemetry data. A 6th PC acts as subscriber just like the database server would in the real system. These are standard, not particularly fast PCs.
Case 1:
Using a shared variable for each telemetry parameter for each CCD (worst case)
PC 1-5 each running a client script publishing at least 1680 variables for a total of 8640 total published shared variables. A script on PC 1 subscribed to all the variables. A simple exposure loop was implemented to tell all the CCD scripts to write their variables. The control scrip then waited for all the updates to complete and issued the next "exposure" command. One random integer was written to each variable. The time from sending the "exposure" command to write all 8640 variables until the time all were update was on the order of 10 seconds.
Case 2:
Using a shared variable per CCD. Each of these shared variables contains 121 telemetry parameters for this CCD.
Each publishing client only publishes one variable per CCD it is representing. This reduces the total number of shared variables to 72. The archiver client subscribes to all 72 of these and repeats the same procedure as above. When the publishers write to the variables they write an array of 121 random integers. This new set up takes about 60 ms from issuing the update command to the clients until all the variables have received the update.
Conclusion:
The way in which the application programmers packages their shared variables can have a large effect on the efficiency of the system.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment