archive-edu.com » EDU » C » CALTECH.EDU

Total: 352

Choose link from "Titles, links and description words view":

Or switch to "Titles and links view".
  • Data Distribution Sub-System
    table below Parameter Value Producer Overhead 44 u s Consumer Overhead 58 u s Process Swap 56 u s Write data rate 150 MB s Read data rate 100 MB s The fine print The times tabulated here are real time intervals not CPU time I assumed that this would give a more reliable result since overhead incurred in context switching may not be reflected in the CPU time The side effect of this decision is that the time measurements are susceptible to other background processes No process swapping is required when the producer is run alone When one or more consumers are running the rate of process swaps record is assumed to be N cons 1 N buffer where N cons is the number of consumers and N buffer is the number of buffers in this case 8 Read and write data rates are probably dominated by the programmed data transfers The point here is to demonstrate that there are no major bottlenecks in writing to reading from the shared memory Interface to Frame Packages The shared memory API has been interfaces to the two popular frame libraries FrameCPP the C library written and supported by LDAS and FrameL the C library from Virgo The FrameCPP interface is by way of two classes iSMbuf and oSMbuf based on the C stream classes istream and ostream respectively These classes are also documented in the Data Distribution API Document The interface to FrameL is by way of a redefined FrIO structure and the associated interface functions FrIOClose FrIOOpen FrIORead and FrIOWrite These are defined in ONLFrIO h and ONLFriIO cc Note that ONLFrIO is implemented as a C package with a C interface in order to communicate with both FrameL and LSMP The Data Pushers DpushF DpushM DpushRT The data pusher programs receive data from various data sources and copy them to a shared memory buffer One or the other program must be running at all times in order to provide data to the monitor programs Several data pushers may be run in parallel on different partitions to provide multiple data sets to different monitor groups Care should be taken not to start more than one Dpush process on a single partition as this might cause a monitor to receive duplicate copied of a single data frame The three Dpush programs read data from different sources but otherwise function in much the same manner DpushF reads frames from the CDS Network Data Server NDS DpushM receive frames broadcast by the Frame Broadcaster and DpushRT replays frames stored on spinnig media in real time On startup Dpush will create a shared memory partition with the specified name length and number of buffers if the named partition does not already exist It then copies data from the specified source to the shared memory partition It also keeps statistics on the number of missing Frames and the average rate of arrival of the frames and prints them to a log file every 20 minutes

    Original URL path: http://www.ligo.caltech.edu/~jzweizig/dmt/DMTProject/DMT-DD.html (2015-06-02)
    Open archived version from archive


  • single frame although in some cases several channels may be needed or frames may be merged Transform the data into a representation that will be used by the trigger The transformation may use data from channels other than the principal channel listed in the input section for and may result from the composition of several elemental transformations Examples of useful transformations are Fourrier transform Decimation Linear superposition of several channels Histogram FIR IIR Digital Filter Trivial i e use the raw data The transformed data are assumed to constitute a series that can be defined by a few standard parameters and a list of float data This can represent a time series a frequency series Fourrier coefficients or a histogram The transformed data series scanned by a detector function The detector function generally compares the transformed series elements its integral variance or other property to a threshhold if the property under test surpasses the threshhold a trigger is generated The trigger is idenfied by a unique trigger ID and by trigger result data such as The time offset into the epoch if known or frequency sub band Value of property that exceeded the threshold Intermediate results e g fit parameters produced in evaluating the property The boxes below each stage contain a list of the data needed to describe the processes or the data that forms the stage Note that the descriptors for the calculational stages are static i e they are independent of the input data describing only the processing function and its static parameters This model is not meant as an implementation specification i e I don t expect every monitor process to first transform data and then run a function called det to generate the trigger Nevertheless it is sufficiently general that any monitor can be described within the framework If nothing else an arbitrary function can be put into the detection phase leaving a trivial transformation stage The purpose of separating the transformation from the detection phase is that in many cases the transformed data are important for interpreting the trigger The output of the transformation thus defines the data that will be stored with the trigger report and can be used for further characterization or analysis of the trigger It is tempting to break down the detection step further to a scalar badness factor calculation followed by a comparison to one or more limits This would allow the description of the trigger threshold parameter and result values to be formalized The disadvantage to this decomposition is that it is difficult to decouple a time varying function calculation from a threshold sensing without passing essentially all the input data Architecture A software architecture that meets the requirements enumerated above is shown in the figure below The architecture consists of the following components Trigger broker routes trigger objects to one of more final destinations e g operator console or meta Database based on the trigger properties and on the current running environment e g the current trigger

    Original URL path: http://www.ligo.caltech.edu/~jzweizig/dmt/DMTProject/DMT-Triggers.html (2015-06-02)
    Open archived version from archive

  • DMT User Environment Setup
    tree DMTVERSION pro DMT software version ID GDSAPACHE Node dependent GDS web directory LIGOMCASTIP 225 0 0 1 Frame broadcaster multicast PI address LIGONDSIP fb2 HL or llofb1 LO NDS or frame broadcaster PI address LIGOSMPART LHO Online HL or LLO Online LO Shared memory partition name ROOSTS opt CERN root ROOT software directory tree base In addition the Unix PATH and LD LIBRARY PATH environment variables must be set correctly to find executables and shared objects respectively Setup Script Setup scripts are provided with the DMT software to set up the root environment variables On hosts that have the DMT software or ROOT installed somewhere other than the default location the DMTHOME DMTVERSION and or ROOSTS environment variables must be defined before running the setup script For example setting DMT HOME HOME mydmt setting DMT VERSION pro setting ROOSTS apps1 root source DMTHOME DMTVERSION bin setup There is also a BASH script for users that prefer to use the bash shell It is used as follows export DMTHOME HOME mydmt export DMTVERSION pro export ROOTSYS apps1 root source DMTHOME DMTVERSION bin setupb On the DMT nodes sand stone and delaronde the setup script is executed with source export home dmt pro bin setup Note that the setup script allows the user to override many defaults by setting the appropriate environment variable before running the script For example an alternate software version may be selected by setting DMTVERSION to e g old new or rev 2 0 1 Environment variable defaults may also be overridden on a host by host basis by placing a script with the appropriate setting commands in DMTHOME DMTVERSION bin envars host name and on machines with bash shell users DMTHOME DMTVERSION bin envarb host name Root Startup A Standard startup macro is provided to make

    Original URL path: http://www.ligo.caltech.edu/~jzweizig/dmt/DMTProject/DMT-UserEnv.html (2015-06-02)
    Open archived version from archive

  • GDS Libraries
    histogram PlotSet Trace information for a plot TSeries Time series Wavelet Wavelet container Executables None Trigger Libraries The Trigger libraries contain DMT trigger object classes and the event manipulation package Source location gds Triggers Object files Libraries Packages libgdstrig so libsgdstrig a trig DMT trigger objects libgdsevent so libsgdsevent a events GDS event manipulation package Executables None IO Libraries The IO libraries contain low level Input Output interfaces and formatting classes Source location gds IO Object files Libraries Packages libaudio so libsaudio a laudio Audio output libdaqs so libsdaqs a daqsocket DAQ NDS client libframefast so libsframefast a framefast Fast frame I O libframeutil so libsframeutil a frameutils Frame directory utility libframexmit so libsframexmit a framexmit Frame file multicast sender receiver libhtml so libshtml a html html document preparation liblmsg so libslmsg a lmsg UDP message system liblsmp so libslsmp a lsmp Shared memory buffer manager smstream STL stream interface for lsmp libparsl so libsparsl a parseline Split an input line into words libsockutil so libssockutil a sockutil Portable socket class libweb so libsweb a web web server class libxsil so libsxsil a xsil xsil xml document preparation Executables fdir List times covered by frames in a specified directory fextract Extract data from a frame finfo Get frame information framedump Dump data from a frame fsettime Set creation time in one or more frame files prchans List channels available from NDS prnames Print files created by NDS prndsvsn Print NDS protocol version smcreate Create a shaer memory partition smdump Print status of a shared memory partition smkill Destroy a shared memory buffer manager smraw Dump data in a shared memory buffer in hex and chars smrepair Remove reservations by non existant processes smstat Fetch an item of status information smspew Write contents of a shared memory buffer to a file Signal Processing Libraries The Signal Processing libraries provide time domain filtering windowing waveform generation etc Source location gds SignalProcessing Object files Libraries Packages libgdsalgo so libsgdsalgo a dttalgo DTT algorithm library libdmtsigp so libsdmtsigp a BaseLine Base line suppression filter DecimateBy2 Decimate by 2 filter Delay Delay a time series FilterBase Filter base classes FilterDesign Filter design class FIRFilter FIR filter class IIRFilter IIR filter class Limiter Limit amplitude or slew rate LineFilter Line tracker filter Mixer Heterodyne MultiPipe Cascade filters MultiRate Resampler polyroot Polynomial root calculation SweptSine Swept sine analysis tool wavelet Wavelet manipulation Window Bartlett flat top Hann Welch etc windows Executables None Service Libraries The Service libraries provide DMT specific services to processes and users These include the client APIs and servers for message based DMT status services e g Trigger manager Alarm manager and Monitor data transport frame data I O APIs and remote data access service fantom Source location gds Services Object files Libraries Packages libmonitor so libsmonitor a AppClient Generic lmsg based client class AppServer Generic lmsg based server class NameClient Name service client class MonServer Monitor data server class AlarmClient Alarm service client class MonClient Monitor data client and message definitions libclient so

    Original URL path: http://www.ligo.caltech.edu/~jzweizig/dmt/DMTProject/DMT-Libraries.html (2015-06-02)
    Open archived version from archive

  • Data Monitor Tool Project
    libtool 1 4 3 or later m4 macro processor m4 1 4 or later make Gnu make make 3 79 1 or later perl Perl language interpreter perl 5 005 03 or later doc C documentation generator only needed to build documentation latex Document preparation system only needed to build documentation Public Domain Libraries zlib gzip compression library zlib 1 1 4 or later libbz2 bzip compression library bzip2 1 0 2 Note bzlib h can be found in bzip2 devel if it isn t included on your linux system Other software root Object oriented data analysis system version 3 05 06 or later ligotools Ligo toolbox Installing GDS from the DASWG Repository To install the GDS software at you home institution you may install a native binary package from the Daswg repository package for the supported systems currently SL6 and debian squeeze Building the software from SVN For other operating systems you will probably have to compile the gds package from the sources The source files are available as tar files linked to the version names in the table below or from svn The current versions are listed below with the SVN tag in square braces GDS version CVS Tag Comments gds 2 15 7 gds 2 15 7 Backup version old gds 2 16 3 gds 2 16 3 ER2 production version pro gds 2 16 5 gds 2 16 5 Current testing version new The procedure for installing any of the above versions is Verify that all the packages named in the Required Software list are installed Download the gds package from svn repository as follows svn co https redoubt ligo wa caltech edu svn gds tags gdstag gds Configure the build cd gds configure prefix target enable online enable dtt enable python Compile the GDS software

    Original URL path: http://www.ligo.caltech.edu/~jzweizig/dmt/DMTProject/DMT-Download.html (2015-06-02)
    Open archived version from archive

  • DMT Strip Chart Example
    windows are represented as classes derived from the Window base class to make the similarity between window classes apparent as well as to allow the sharing of the windowing code In the second statement I create a new windowed TSeries tw This is again displayed using Spectrum giving the plot shown below The resulting spectrum still shows prominent signals at 3 Hz and 60 Hz The signal diffusion due to the aperiodicity is reduced to the level of precision of the Fourier transform this produces the jagged spectrum below the 10 15 level 2 Filters The DMT Sandbox contains a Filter class that allows the definition of filters which may then be used to filter signals in the time domain At present 22 July 1999 the filter class supports only FIR filters but additional IIR filter support should be possible in the future The first step is to design a filter As an example a 10 Hz Low Pass filter is constructed using the following commands root 7 Filter f 25 200 0 root 8 f dFirW 25 Hamming LowPass 10 0 root 9 Bode f Xfer 0 1 100 0 0 1 The first statement defines a filter object The two arguments give the order number of zeros of the filter and the sampling frequency of the input stream The second statement invokes an FIR design method to set the filter coefficients for a 10 0 Hz low pass filter The dFirW method uses a window based design technique In this case a Hamming window is used to design the low pass filter The following statement calculates the transfer function of the filter and display it as a Bode plot The arguments to the Xfer method specify the frequency range 0 1 100 Hz and the frequency increment 0 1 Hz respectively The resulting Bode plot is shown below This filter can then be applied to a time series for example the time series ts creates in the example above with the following commands root 10 TSeries tf f ts root 11 Spectrum tf The spectrum of the resulting time series is shown below 3 Spectral Power Strip Chart The second example plots the spectral power in 6 different frequency bands of a single channel in this case the 40m IFO DMRO signal as a function of time This example uses many of the DMT classes to simplify the coding The C function used for this display is listed below File DMTHOME root macros tscart cc Make a constantly updating spectrum plot dTime contains the time bin to be plotted nbinF contains the number of frequency bands binf contains the frequency band limits void tscart void parameters double dTime 1 0 float binf 7 1 00 3 00 10 00 30 00 100 00 300 0 1000 0 int nbinF 6 int NStep 1000 define constants float pi 3 14159265358 Interval FillTime dTime double SampleRate 16384 0 double tsecs dTime Create a TSeries int nbin int SampleRate tsecs TSeries

    Original URL path: http://www.ligo.caltech.edu/~jzweizig/dmt/DMTProject/DMT-Examples.html (2015-06-02)
    Open archived version from archive

  • DMT Monitor Environments
    which data are to be read A virtual method allows the author to select triggers from the list and specify the extent of the data to be read in the vicinity of the trigger DMTBase Environment Overview The DMTBase class provides an environment designed for raw data monitors These could include Frame format consistency tests Raw data validity tests Frame statistics generation A continuous stream of raw frames are deivered to a monitor dependent processing method The monitor developer must write any code to extract data from the frames Writing a Raw Data Monitor To make a raw data monitor monitor the developer defines a class based on the DMTBase class Sample definition DMTemplate hh and implementation DMTemplate cc files are available via ftp and from the DMT documentation directory In addition to constructors and destructors for the derived Monitor class the DMTBase class requires a frame processing method ProcessFrame which is invoked to perform the monitor specific processing The monitor developer may also provide a method Attention to specify how signals SIGUSR1 SIGIO are to be handled DatEnv Environment Overview In addition to the basic framework provided by DMTBase the DatEnv environment automates the extraction of those data to be used by the monitor from the frame Data requested by the user in the monitor constructor are packed into Time Series TSeries objects for easy manipulation The time interval over which the data will be collected the stride can be set in the monitor constructor The data handling features of the DatEnv class alleviate the need for the developer to learn the intricacies of the FrameCPP API or to provide code to combine data from multiple frames Most features of the DatEnv class may be used directly from Root This opens the possibility of developing a DatEnv based monitor within Root and then compiling it for stand alone running once the debugging and verification have been performed Because of its easy access to tailored data samples the DatEnv framework is appropriate for most data processing monitors such as Noise spectrum monitoring Violin mode tracking Seismic spectrum analysis and monitoring Writing a Data Processing Monitor To write a continuous input stream data processing program the developer defines a class based on the DatEnv class Sample definition DatTemplate hh and implementation DatTemplate cc files are available from cvs and from the DMT documentation directory In addition to constructors and destructors for the derived monitor class the DatEnv class requires a data processing method ProcessData which is invoked to perform the monitor specific processing A method for attention interrupt SIGUSR1 processing may also be defined if the monitor must provide asynchronous I O or data processing Other member data and methods will be defined in the base class as the need for them is discovered These may include Monitor methods for handling external events signals etc Data and interface methods needed to inquire about or to modify environmental properties TrigEnv Environment Overview The TrigEnv environment provides the same features as DatEnv but

    Original URL path: http://www.ligo.caltech.edu/~jzweizig/dmt/DMTProject/DMT-BackEnv.html (2015-06-02)
    Open archived version from archive

  • DMT Monitor Libraries
    front end LSC software OSC Package Package for defining and testing data channel conditions in the Data Monitor Tool OperStateCondList OperStateCondList Set of Operational State Conditions The DMT libraries contain monitor base classes that provide the common functionality needed by all online monitors and DMT based event analysis programs There are also several packages that provide utility classes The packages in this group provide interfaces to the DMT services and

    Original URL path: http://www.ligo.caltech.edu/~jzweizig/dmt/DMT/index.html (2015-06-02)
    Open archived version from archive



  •