1 / 11

Jefferson Lab Channel Access Nameserver

Jefferson Lab Channel Access Nameserver. Talk by Karen White WORK by Joan Sage. Background. By default, EPICS does not use a nameserver All process variable name resolution achieved via UDP broadcasts to all IOCs. Why Did We Want a Nameserver?.

cwang
Télécharger la présentation

Jefferson Lab Channel Access Nameserver

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Jefferson LabChannel Access Nameserver Talk by Karen White WORK by Joan Sage EPICS Collaboration Meeting June 20, 2003

  2. Background • By default, EPICS does not use a nameserver • All process variable name resolution achieved via UDP broadcasts to all IOCs EPICS Collaboration Meeting June 20, 2003

  3. Why Did We Want a Nameserver? • Reduce IOC CPU load and network traffic due to broadcast requests for name resolution • Provide PV location information for tools that do not require connection • Improve client connection time • Protect IOCs from loading caused by poorly written clients • Simplify some Control System management and access functions EPICS Collaboration Meeting June 20, 2003

  4. Why Replace our cdev Nameserver? • Old JLab Nameserver • Integration with client programs required code changes and recompilation • Required changes to Channel Access Library • Did not learn about “new” PVs • Because of these difficulties, only BURT and MEDM (the most frequent UDP broadcasters) were ever modified to use the old Nameserver EPICS Collaboration Meeting June 20, 2003

  5. New CA Nameserver • No modifications needed to client code • No modifications to Channel Access Library • Client programs are configured to use nameserver by setting EPICS_CA_ADDR_LIST • Created a simple script to turn Nameserver usage on and off for all programs initiated from a single operator console EPICS Collaboration Meeting June 20, 2003

  6. New Nameserver - Startup • Nameserver reads signal.list files generated by IOCs at boot time to fill initial hash table • Nameserver “learns” about PVs added to the system after startup by broadcasting to fill unknown PV requests • Runs as a daemon with automatic restart in case of failure • Startup time < 5 sec (287,000 PVs) EPICS Collaboration Meeting June 20, 2003

  7. New Nameserver – IOC Reboots • Nameserver monitors IOC heartbeat for connection events • When an IOC goes down • Nameserver hashtable updated • Nameserver monitors for reconnection events • Nameserver does not respond to clients asking for PVs on IOCS that are down • Deleted and moved PVs are automatically handled EPICS Collaboration Meeting June 20, 2003

  8. Without Nameserver EPICS Collaboration Meeting June 20, 2003

  9. With Nameserver EPICS Collaboration Meeting June 20, 2003

  10. New Nameserver Results • Tested name resolution and connection - time to startup, resolving all names for an medm panel with > 3000 PVs • Without Nameserver – 4.39 seconds • With New Nameserver – 2.18 seconds • Nameserver has been used operationally for 1.5 years without any problems • Routinely handles over 6 million requests per day EPICS Collaboration Meeting June 20, 2003

  11. Nameserver & Gateways Hall Client Acc Client GW1 GW2 NS Hall IOC Acc IOC Hall IOC Hall IOC Acc IOC Acc IOC UDP Broadcast UDP Send TCP Connection EPICS Collaboration Meeting June 20, 2003

More Related