200 likes | 328 Views
Services provided by C/Java TGM libraries. Jean-Claude BAU AB-CO-HT. Overview. Objectives Distributed Table Manager (DTM) Concepts Daemon hierarchy Current configuration Tgm environment C Tgm Library Provided services Needed ressources Tools Java Tgm packages Tgm Package
E N D
Services provided by C/Java TGM libraries Jean-Claude BAU AB-CO-HT
Overview • Objectives • Distributed Table Manager (DTM) • Concepts • Daemon hierarchy • Current configuration • Tgm environment • C Tgm Library • Provided services • Needed ressources • Tools • Java Tgm packages • Tgm Package • TgmBeans Package • LEIR particularity • Tools • Useful links
Objectives • To know the facilities provided by the AB-CO-HT section for applications • To understand all the mechanisms involved around the different libraries • It is not a training to help you to use them.
DTM: Concepts • DTM implements the concept of reflective memory via the network through the UDP protocol • The data entities managed by DTM are called ‘tables’ and exist in the DTM space. • DTM is used on All DSCs and WS but not on Windows PCs. • DTM works through services provided by daemons (dtmrt_gs/dtmrt_ls) and a client side library. • Only one client on WS (get_tgm_dtmrt)
DTM: Daemon hierarchy Master Local Global Global Local Local Local
DTM: Current configuration Master cs-ccr-ctm Global cs-ccr-felab Global cs-ccr-feop Local WS/Servers Local WS/Servers Local Front-ends Local WS/Servers Local WS/Servers Local Front-ends Local WS/Servers Local WS/Servers Local Front-ends Local WS/Servers Local WS/Servers Local Front-ends Local WS/Servers Local WS/Servers Local Front-ends Public network Technical network
Tgm environment • Describe the behavior of the Tgm library • Operational machines • Channels used for telegram distribution • Timing events distributed on MTG cables • … • Permit to isolate independent systems like LHC injector chain from Clic Test Facility • Allows to test new configuration without disturbing the operation. • Needed on both C and Java libraries
Tgm environment: Settings • On Workstation & PC : • Use an environment variable TGM_NETWORK • On Linux/LynxOs front-end 1. Look for an environment variable TGM_NETWORK 2. Look for a file TGM_NETWORK in /local/data/tgm 3. Look for a file TGM_NETWORK in /dsc/local/data/tgm • TGM_NETWORK format: • [MODE].[NETWORK] • [MODE]: OPER, DEV, DEVLHC, … • [NETWORK]: LIC,CTF,… • Default: OPER.LIC • Useful link: http://ab-dep-co-ht.web.cern.ch/ab-dep-co-ht/timing/Seq/mtgConfig.htm
C Tgm Library • For C/C++ applications • Supported platforms • front-end computers running Linux or LynxOS. • Linux workstations • PC under Windows not supported
C Tgm : Provided services • Provided services • Access to the telegram description • Group names (GDT) • TgmGetGroupDescriptor, TgmGetGroupNumber,… • Line names (LDT) • TgmGetLineName,TgmGetLineNumber, … • Access to telegram reception in real time • TgmWaitForNextTelegram, TgmGetGroupValue ,… • Access to the USER MATRIX in real time • TgmWaitForNextUserMatrix, TgmGetUserMatrix, • …
C Tgm : Needed ressources DTM space DTM daemon get_tgm_dtmrt Telegram events GDTs LDTs UMTs History Telegrams Client Tgm lib Tgm config. file NFS
C Tgm : Tools • Video program (X window application) • video CPS • Test programs • test_tgm CPS test lib functionalities • show_events CPS display telegram events using TgmWaitForNextTelegram() • show_history CPS display contents of the history buffer • wait_any CPS display telegram events using TgmWaitForAnyTelegram() • …
Tgm java packages • Tgm package • TgmBeans package • Provide beans to display some information related to the Tgm library • Use the Tgm package
Tgm java package • Provided services • Accelerator/Network information • TgmMachine, TgmNetwork,… • Access to telegram layout • TgmGroup, TgmLine, TgmDescriptor • Real time telegram event reception • TgmEvent, TgmEventListener, … • MTG hardware settings (BcdSet) • TgmBcdSet, TgmBcd, TgmBeam, TgmCycle,… • Telegram event history server • TgmEvent,TgmEventFilter,…
Java Tgm : Needed ressources • Http server on ‘cs-ccr-ctm’ to get persistent java object • Accelerator/Network information • Telegram layout • RMI server on ‘cs-ccr-ctm’ • MTG hardware setting • Telegram event history server • ‘java.policy’ file in jre/lib/security must allow access: grant { permission java.security.AllPermission; }; • Local/Remote daemon • Real time telegram event reception
PC Windows Applic Applic Applic Applic PC Windows Tgm lib Tgm lib Tgm lib Tgm lib Java Tgm : Needed ressources (2) Java Tgm Daemon CS-CCR-GWMW CFV-CCR-CTMEMM Dtm Daemon Put_Events Dtm Daemon Linux WS Dtm Daemon CS-CCR-CTM Http server RMI Server CS-CCR-FEOP Java Tgm Daemon Dtm Daemon Java Tgm Daemon Dtm Daemon CS-CCR-FELAB Tech. Network Java Tgm Daemon Linux WS Public Network Dtm Daemon Dtm Daemon Java Tgm Daemon
Java Tgm: LEIR Particularity • Can be coupled or in standalone • Controlled with 2 different MTG • On mode change • Tgm event distribution switch automatically • RMI server switch to LEIR active server • Switching is transparent for application • No restart is needed
Tgm Java: Tools • Video • Display telegram events • BcdSetViewer • Display current MTG hardware settings
Java Tgm : Tgmbeans package • 1 Bean available : TgmDisplayBcd • Used by BcdSetViewver, BcdViewer, PLS selector,…
Useful Links • Timing pages in AB-CO-HT web site http://ab-dep-co-ht.web.cern.ch/ab-dep-co-ht/timing/index.htm • Telegram description: Groups/Lines • All java packages related to sequencing • Notes/Presentations/Publication/… • Configuration (Tgm lib,…) • …