240 likes | 351 Views
Sequencing for exploitation 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
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,…) • …