Download presentation
Presentation is loading. Please wait.
Published byCharla Chambers Modified over 9 years ago
1
Channel Finder operational experience at BNL work by: Gabriele Carcassi, Robert Petkus, Guobao Shen, Kunal Shroff, Lingyun Yang, written by: Gabriele Carcassi performed by: Kunal Shroff
2
ChannelFinder at BNL IOCs Glassfish Web service /cf-update Web proxy CSS Scripts to - populate properties - create lattice channelfinder.nsls2.bnl.gov NFS update daemon dependency data flow
3
Getting channels from the IOCs IOCs /cf-update channelfinder.nsls2.bnl.gov NFS dependency data flow
4
Getting channels from the IOCs channelfinder.nsls2.bnl.gov exports the directory /cf-update through NFS Each IOC directly or indirectly has access to it When the IOC boots, the startup script saves the output of a dbl command to a file Filename format: hostname.iocname.dbl
5
Updating channel list Glassfish Web service /cf-update channelfinder.nsls2.bnl.gov update daemon dependency data flow
6
Updating channel list Daemon monitors for changes in the /cf- update directory and updates channelfinder – Setup a script in /etc/init.d – Uses /usr/bin/inoticoming to monitor for changes in the directory – Uses CFUpdateIOC.py script coming with channel finder python client to perform the update – Ignores all the channels that ends in “_” (NSLS-II convention for “internal” channels)
7
Updating channel list Update process feels very fast System has been very reliable – no problems so far
8
Glassfish setup Glassfish Web service channelfinder.nsls2.bnl.gov dependency data flow
9
Glassfish setup Running Glassfish 3.1 Single instance of Glassfish for multiple applications – Will be the same deployment server for our log service (collaboration with MSU) – Each application available as an alias – Top application changes according to the alias http://channelfinder.nsls2.bnl.gov – ChannelFinder http://log.nsls2.bnl.gov – log
10
Glassfish setup Glassfish runs as glassfish user Glassfish redirects to PAM for authentication – This is supported only as root user – We had to make glassfish member of the shadow group and allow it to access /etc/shadow (for local accounts) and /etc/pam_ldap.conf (for ldap accounts) – Runs fine now
11
Glassfish setup In ldap created the following groups: – cf-admins, admins – cf-channels, users that adds/removes channels, currently only cf-update – cf-properties, users that can add properties, a couple of people in our group and physics group – cf-tags, users that can only add tags, more people in the physics group – aphla, accelerator physics high level application, to group tags/properties from that group
12
Glassfish setup Main problems – Increase max file descriptors – OutOfMemory error Used to hit it, now we don’t anymore Quantum-bug: stopped appearing once we setup the infrastructure to debug it when it would happen again
13
Usage from high level physics Glassfish Web service Scripts to - populate properties - create lattice channelfinder.nsls2.bnl.gov dependency data flow
14
Usage from high level physics Our physics group adds properties/tags From Linyun Yang (accelerator physics) talk: – From Channel Access to Channel Finder Service: Channel Accesses in Python and Matlab are simple to use. High level applications (HLA) deals with thousands of magnets, instruments and more channels. Organized/structured channel information is necessary. Channels linked to accelerator lattice and diagnostics are even better. Searching instead of remembering is easier for HLA users. – A “dictionary” service can help HLA to manage the channels and build a lattice structure to which the AP is familiar. (they done simulation, analysis with it in the design).
15
device FM1G4C02A Channel Name SR:C02-MG:G04A{HFCor:FM1}SR:C02-MG:G04A{VFCor:FM1} Fld-IFld-SPFld-IFld-SP handle READBACKSETPOINTREADBACKSETPOINT elemName FXM1G4C02AFYM1G4C02A elemType HFCORVFCOR elemField xy devName FM1G4C02A sEnd 65.5222 cell C02 girder G4 symmetry A length 0.044 ordinal 263264 tags egeteputegeteput xy sys.SR
16
Usage from high level physics Physics group can re-create the lattice from the information in channel finder By tags, different lattices can be built, and elements can be shared between them. – Sharing is important for injection, where LTD1 and LTD2 shares a lot of elements with LTB
17
CSS & ChannelFinder Glassfish Web service CSS channelfinder.nsls2.bnl.gov dependency data flow
18
CSS & ChannelFinder See next talk!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.