Sequencing for exploitation team
description
Transcript of Sequencing for exploitation team
Sequencing forSequencing forexploitation teamexploitation teamSequencing forSequencing for
exploitation teamexploitation teamJean-Claude BAUJean-Claude BAU
AB-CO-HTAB-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
Global Global
Local Local
Local
Local
DTM: Current configuration
Mastercs-ccr-ctm
Globalcs-ccr-felab
Globalcs-ccr-feop
LocalWS/Servers
LocalWS/Servers
LocalFront-endsLocal
WS/ServersLocalWS/ServersLocal
WS/ServersLocalWS/Servers
LocalWS/ServersLocal
WS/ServersLocalWS/ServersLocal
WS/Servers
LocalFront-endsLocal
Front-endsLocalFront-endsLocal
Front-ends
Technical networkPublic 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-end1. Look for an environment variable TGM_NETWORK2. Look for a file TGM_NETWORK in /local/data/tgm3. 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)
ClientTgm lib
Tgmconfig.
fileNFS
get_tgm_dtmrt*DTM daemon
GDTs LDTs UMTs History Telegrams
Telegramevents
DTM space
*Launched by the client
C Tgm : Needed resources (FEC)
ClientTgm lib
Tgmconfig.
fileNFS
get_tgm_tim*DTM daemon
GDTs LDTs UMTs History Telegrams
DTM space Hardware(TG8/CTRx)MTG cable
*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 daemon
Dtm space
get_tgm_dtmrt
JavTgmWrapper(OPER.LIC)
JavTgmServerPSB
JavTgmServerCPS
JavTgmServerSPS
JavTgmServer…
JavTgmServerPSB
JavTgmServerPSB
JavTgmServerCPS
JavTgmServerCPS
JavTgmServerSPS
JavTgmServerSPS
JavTgmServer…
JavTgmServer… Client
Client
Client
Client
Client
CS-CCR-FEOP
Java Tgm : Telegram event distribution
PC Windows
Applic Tgm lib
CS-CCR-CTM
Http serverRMI Server
CS-CCR-FELAB
PC Windows
Applic Tgm lib
Linux WS
Applic Tgm lib
Daemons
Linux WS
Applic Tgm lib
Daemons
Daemons
CS-CCR-GWMW
Daemons
DaemonsDtm
Daemon
DtmDaemon
DtmDaemon
DtmDaemon
DtmDaemon
CFV-CCR-CTMEMM
DtmDaemon
Put_Events
Tech. Network
Public Network
DtmDaemon
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 sitehttp://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,…)– …