180 likes | 269 Views
Learn about the operational experience of ChannelFinder at BNL, including the setup process, Glassfish configuration, usage by high-level physics, tag and property management, and benefits for accelerator applications. Discover insights shared by experts regarding channel linking, lattice creation, and sharing elements for efficient workflows. Explore the successful updates and improvements made to enhance the system's reliability and performance.
E N D
Channel Finderoperational experience at BNL work by: Gabriele Carcassi, Robert Petkus,Guobao Shen, Kunal Shroff, Lingyun Yang, written by: Gabriele Carcassiperformed by: Kunal Shroff
ChannelFinderat BNL channelfinder.nsls2.bnl.gov IOCs update daemon /cf-update NFS Web proxy GlassfishWeb service CSS Scripts to- populate properties- create lattice dependency data flow
Getting channels from the IOCs channelfinder.nsls2.bnl.gov IOCs /cf-update NFS dependency data flow
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
Updating channel list channelfinder.nsls2.bnl.gov update daemon /cf-update GlassfishWeb service dependency data flow
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)
Updating channel list • Update process feels very fast • System has been very reliable • no problems so far
Glassfish setup channelfinder.nsls2.bnl.gov GlassfishWeb service dependency data flow
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
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
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
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
Usage from high level physics channelfinder.nsls2.bnl.gov GlassfishWeb service Scripts to- populate properties- create lattice dependency data flow
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).
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
CSS & ChannelFinder channelfinder.nsls2.bnl.gov GlassfishWeb service CSS dependency data flow
CSS & ChannelFinder • See next talk!