1 / 17

EPICS Channel Access Enhancements for LANSCE Timed and Flavored Data

EPICS Channel Access Enhancements for LANSCE Timed and Flavored Data. J. Hill. Overview. Introduction LANSCE Requirements Bounded Feature Set EPICS Event Queue Event Queue Upgrade Milestones. LANSCE Requirements. LANSCE timing and flavoring of data Flavoring

gregoryross
Download Presentation

EPICS Channel Access Enhancements for LANSCE Timed and Flavored Data

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. EPICS Channel Access Enhancements for LANSCE Timed and Flavored Data J. Hill

  2. Overview • Introduction • LANSCE Requirements • Bounded Feature Set • EPICS Event Queue • Event Queue Upgrade • Milestones

  3. LANSCE Requirements LANSCE timing and flavoring of data Flavoring Logical configuration of beam gates Timing Time offset of a sample within a beam pulse Many permutations Too many to, a priori, install EPICS records for all of them Channel Access client must somehow specify timing and flavoring when it subscribes

  4. Bounded Feature Set –Near Term Release • Many features proposed for EPICS version 4 • Release schedule is uncertain • LANSCE timeline requirements and EPICS version 4 timeline may not coincide • The proposal is to add to EPICS strictly what LANSCE needs and thereby obtain a more predictable release schedule • Nevertheless, an incremental step along the path to version 4 is desirable

  5. EPICS Fundamentals • Channels and Process Variables • A channel is a virtual communication link to a process variable • We can perform read, write, and subscribe operations over a channel • Publish and Subscribe • Clients subscribe for updates • Servers publish updates to multiple clients • Records post state change events to servers

  6. EPICS Event Queue – A Pivotal Component • Tying high priority deterministically scheduled activities to the low priority load non-deterministic server component • The event queue guarntees that this value/alarm status/time stamp tuple are consistent • It is essential that we minimize what impact client induced load has on record processing threads

  7. EPICS Event Queue – Theory of Operation • Records execute at relatively high priority, server executes at relatively low priority • Record processing never blocks for slow clients • Record is producer and client is consumer • Sever production rate might exceed consumption rate of client or network – queuing system needs to serve dual purposes • Burst • Attempts to avoid discarding updates • Sustained • Keep subscriptions current • Intentionally discard intermediate updates • Do not introduce time delays

  8. Current Event Queue is Quite Inflexible • The only parameters that can be correlated together in time with any surety over Channel Access are • Scalar Value, Time Stamp, Alarm Status • The exception is of course after the fact correlation using the time stamp • This is very inflexible • It does not allow clients to specify their data capture constraints • Array value change events are not recorded on the event queue • It doesn’t allow for on the fly application driven experiments needed at LANSCE

  9. Event Queue Upgrade Upgraded Record Specific Event Parameter Set Scalar or Vector Value Time Stamp Alarm Status … Upgraded Device Specific Event Parameter Set LANSCE Beam Gate Specification Legacy Fixed Event Parameter Set Scalar Value Time Stamp Alarm Status Record CA Server Event Queue

  10. Event Queue Memory Management • Smart Pointers to Data Access Interfaced Objects • Reference counted • Increments when smart pointer is copied • Decrements when smart pointer is destroyed • Release callback when count decrements to zero • Memory Management • Handled by event posting agent • Can be free list based

  11. TCP Circuit Event Filter Upgrade Record Event Filter Event Queue Event Filter Expression value < 10.0 and value > log ( currentMonitor0007.current ) and requireFlavor ( beamGateA | beamGateB ) and excludeFlavor ( beamGateC ) Discard

  12. Event Filter Implementation • Could be based on the same library that the calc record uses • Would prefer however to base expressions on property names instead of {A, B, C, ..} as is currently the case with the CALC library • Another possibility is Majito • Majito is open source and has JIT compiler

  13. Event Filter Configuration Upgrade Client Library Server Library Event Filter ModerateInterface Upgrade Moderate Subscription Protocol Upgrade

  14. Data Access Interfaces for DBR Types Data Access Interfacing Adapter

  15. portable server upgraded Data Access based interface Server Implementation Consolidation rsrv dbAccess snap-in database

  16. LANSCE Capable Waveform Record Legacy db_post_events interface Legacy device support interface Ordinary Record Upgraded Event Queue Ordinary Device Support Data Access based event posting interface Data Access based event posting interface LANSCE Capable Record Data Access based device Support interface Upgraded Event Queue LANSCE Specific Device Support

  17. Milestones Milestones Internal Design Review Interface Description Data Access Close Out Retrofit Event Queue to New Interface Retrofit Portable Server to New Interface Data Access to DBR_XXX Service Snap in for dbAccess Subscription Update Filter LANSCE Specific Waveform Record

More Related