240 likes | 359 Views
This document provides a comprehensive overview of the Distributed Table Manager (DTM) and the C TGM Library for data management in networked environments. It covers terminology relevant to the DTM, daemon hierarchy, current configurations, various tools available, and key aspects of the TGM environment. The DTM leverages reflective memory through UDP for efficient data handling in distributed systems, specifically in environments such as Linux and LynxOS, excluding Windows PCs. This guide is essential for understanding the operational framework and utilizing the provided services effectively.
E N D
Sequencing forexploitation team Jean-Claude BAU AB-CO-HT
Overview • Terminology • Distributed Table Manager (DTM) • Concepts • Daemon hierarchy • Current configuration • Tools • Tgm environment • C Tgm Library • Provided services • Needed ressources • Tools • Java Tgm package • Tgm Package • LEIR particularity • Tools • Useful links
Terminology • Telegram • Basic period • Cycle • Beam • Normal/Spare • States: Normal/Spare/Spare+Dump • BCD • Sequence (Lead-in/Lead-out) • Strong/loose coupling
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
Dtm tools (1) • Check the DTM daemon • /mcr/dtm/dtmdiag (Linux) or /usr/local/bin/dtmdiag (LynxOS) > dtmdiag [pcopav01:L]dtm: h • lh/ => List-Hosts here • cd/ch/ => Change-Host [<host>|..] • up/ => UP one level to master/global == cd .. • kd/ => Kill-Daemon tree <host> • lt/ => List-Table(s) [<table>] • ft/ => Find-Table <table> List all its users • pt/ => Print-Table <table>[D] Print tables contents/Decimal • rt/ => Read-Table <table> Read tables contents from disc • ls/ => List-Subscriptions • lg/ => List-Global registrations • ll/ => List-Local registrations • lr/la/ => List-All locals/globals/subscriptions • le/ => List-Errors
Dtm tools (2) • Check of the telegram event distribution through DTM • /mcr/tgm/wait_event [CPS,PSB,…] • 00:Fields : 0x807fffff • 01:EvtId : 112 • 02:Catags : 0x0000001e: ------ StrCyc TgmRdy BpRdy EndCyc ------ ------ ------ ------ ------ ------ • 03:Machine: CPS • 04:BPTime : Fri-13/Oct/2006 09:53:58.102 (1160726038 S) (102 Ms) • 06:SeqNo : 498178 • 07:ChsId : 1160725634 Fri-13/Oct/2006 09:47:14 • 08:Level : 9 • 09:BmState: Normal • 10:BmId : 61865 • 11:BmIns : 1 • 12:BmTime : Fri-13/Oct/2006 09:53:56.267 (1160726036 S) (267 Ms) • 14:CycId : 6: SFTPRO • 15:CycInst: 2 • 16:CycTime: Fri-13/Oct/2006 09:53:58.102 (1160726038 S) (102 Ms) • 18:BPInst : 2 • 19:AqnTime: Fri-13/Oct/2006 09:53:58.102 (1160726038 S) (102 Ms) • 21:EvtTime: Fri-13/Oct/2006 09:53:58.102 (1160726038 S) (102 Ms) • 31:Telegm : 6 1 11 1 88 2 24 2 1 c a 1 7 8 0 2a 2 2 602 4a03 228 f1a9 c 1
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 resources (Workstation) DTM space DTM daemon get_tgm_dtmrt* Telegram events GDTs LDTs UMTs History Telegrams Client Tgm lib Tgm config. file NFS *Launched by the client
C Tgm : Needed resources (FEC) DTM space Hardware (TG8/CTRx) MTG cable DTM daemon get_tgm_tim* GDTs LDTs UMTs History Telegrams Client Tgm lib Tgm config. file NFS *Launched by rc.local / transfert.ref
C Tgm : get_tgm_dtmrt daemon • 1 daemon per TGM environment • get_tgm_dtmrt –e OPER.LIC & • get_tgm_dtmrt –e OPER.CTF & • setenv TGM_NETWORK DEV.CTF; get_tgm_dtmrt & • … • Can be restarted without loosing registrations • Kill -1 pid • Can be stopped. All registration will be lost. • Kill -9 pid
C Tgm : Tools • Video program (X window application). Uses ‘get_tgm_xxx’ services • video [CPS,PSB,…] (WS/FEC) • Test programs • test_tgm [CPS,PSB,…] test lib functionalities • t n -> Wait & Display telegram n times • g -> Display groups • l -> Display lines • u -> Display User Matrix • h -> Display the help • show_events [CPS,PSB,…] display telegram events using TgmWaitForNextTelegram() • show_history [CPS,PSB,…] display contents of the history buffer • wait_any [CPS,PSB,…] display telegram events using TgmWaitForAnyTelegram() • …
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 resources • 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 daemons • Real time telegram event reception
Java Tgm : Telegram event distribution Dtm space JavTgmWrapper (OPER.LIC) JavTgmServer PSB Dtm daemon JavTgmServer PSB JavTgmServer PSB Client Client JavTgmServer CPS JavTgmServer CPS JavTgmServer CPS get_tgm_dtmrt Client JavTgmServer SPS JavTgmServer SPS JavTgmServer SPS Client JavTgmServer … JavTgmServer … JavTgmServer … Client
PC Windows Applic Applic Applic Applic PC Windows Tgm lib Tgm lib Tgm lib Tgm lib Java Tgm : Telegram event distribution Daemons 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 Daemons Dtm Daemon Daemons Dtm Daemon CS-CCR-FELAB Tech. Network Daemons Linux WS Public Network Dtm Daemon Dtm Daemon Daemons
Java Tgm: LEIR Particularity • Can be coupled or in standalone mode • 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 (1) • Video • Display telegram events • BcdSetViewer • Display current MTG hardware settings
Tgm Java: Tools (2) • JavTgmWrapper launched by the client • Can be stopped using the kill command : > kill -1 pid • A ‘C’ client to test the socket: > /mcr/tgm/JavTgmClient [PSB,CPS,…]
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,…) • …