200 likes | 341 Vues
This document provides a comprehensive overview of the services offered by the C/Java TGM libraries by Jean-Claude BAU and AB-CO-HT. It outlines objectives, concepts of the Distributed Table Manager (DTM), and daemon hierarchy. You will find information about the current configuration of the TGM environment, supported tools, and Java packages necessary for effective application integration. The document targets understanding DTM mechanisms and the libraries' functionalities, though it does not serve as training material. For detailed links and insights into using TGM libraries effectively, refer to the resources provided.
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,…) • …