EPICS Channel Access Enhancements for LANSCE Timed and Flavored Data - PowerPoint PPT Presentation

About This Presentation
Title:

EPICS Channel Access Enhancements for LANSCE Timed and Flavored Data

Description:

EPICS Integration with LANSCE Timed and Flavored Data ... ... J. Hill – PowerPoint PPT presentation

Number of Views:89
Avg rating:3.0/5.0
Slides: 21
Provided by: 10199
Learn more at: https://epics.anl.gov
Category:

less

Transcript and Presenter's Notes

Title: EPICS Channel Access Enhancements for LANSCE Timed and Flavored Data


1
EPICS Channel Access Enhancements for LANSCE
Timed and Flavored Data
  • J. Hill

2
Overview
  • Introduction
  • LANSCE Requirements
  • EPICS Event Queue
  • Event Queue Upgrade
  • Milestones

3
LANSCE Requirements
  • LANSCE timing and flavoring of data
  • Flavoring
  • Logical configuration of beam gates
  • Timing
  • Time sampling (single element) within a beam
    pulse
  • Many permutations
  • Too many to, a priori, install records for all of
    them
  • Channel Access client must somehow specify timing
    and flavoring when it subscribes

4
EPICS Fundamentals
  • Channels and Process Variables
  • Channel is virtual communication link to 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

5
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

6
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

7
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 - 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 doesnt allow for on the fly application
    driven experiments needed at LANSCE

8
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
CA Server
Record
Event Queue
9
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

10
Event Filter Upgrade
Record
Event Filter
Event Queue
Event Filter Expression value lt 10.0 and value
gt log ( currentMonitor0007.current )
and requireFlavor ( beamGateA beamGateB )
and excludeFlavor ( beamGateC )
Discard
11
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
  • Many mainstream open source alternatives

12
Event Filter Upgrade
Client Library
Server Library
Event Filter
Moderate Interface Upgrade
Moderate Subscription Protocol Upgrade
13
Array Index Metadata
  • Magnitude of zero-eth element index
  • Floating point
  • Magnitude of one index increment
  • Floating point
  • Units of these magnitudes
  • String

14
Data Access Interfaces for DBR Types
CA Type Code
DBR_CHAR
DBR_SHORT
DBR_ENUM
DBR_LONG
DBR_FLOAT
DBR_DOUBLE
DBR_STRING
DBR_STS_ltPRIMITIVE TYPEgt
DBR_TIME_ltPRIMITIVE TYPEgt
DBR_GR_ltPRIMITIVE TYPEgt
DBR_CTRL_ltPRIMITIVE TYPEgt
DBR_PUT_ACKT
DBR_PUT_ACKS
DBR_STSACK_STRING
DBR_CLASS_NAME
Data Access Interfacing Adapter
15
Segmented Protocol Buffer
  • In R3.13
  • Fixed 16KB protocol buffer limited array size
  • In R3.14
  • Two protocol buffer sizes
  • Fixed 16KB protocol buffers
  • EPICS_CA_MAX_ARRAY_BYTES protocol buffers
  • In R3.15
  • Segmented protocol buffer
  • Based on free list of fixed sized buffers
  • Improved memory management
  • In R3.14 two large EPICS_CA_MAX_ARRAY_BYTES
    protocol buffers dedicated to each client even if
    they are not currently using them
  • Potentially no array size limits
  • But, perhaps EPICS_CA_MAX_ARRAY_BYTES
  • Defines a quota, but with a large default value

16
Server Implementation Consolidation
rsrv
dbAccess snap-in
database
17
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
18
Milestones
Milestones
Internal Design Review
Interface Description
Data Access Close Out
Retrofit Portable Server to New Interface
Retrofit Event Queue to New Interface
Data Access to DBR_XXX
LANSCE Specific Waveform Record
Service Snap in for dbAccess
Subscription Update Filter
19
Benefits for LANSCE
  • LANSCE style dynamic on-the-fly ad-hoc beam
    flavoring and beam timing experiments
  • But, in homogenous EPICS system
  • Tool based approach to LANSCE applications
  • Applications have abstract model of hardware
  • Incremental upgrades possible
  • Multi-element Timed data
  • COTS digitizer
  • Window in time selected

20
Benefits for EPICS Community
  • Flexible event snapshots
  • Parameters other than alarm status, time stamp,
    scalar value correlated on event queue
  • Arrays correlated on event queue with other
    parameters
  • Subscription update filtering
  • Expression (string) based means
  • Project and site independent tool based
    approach
  • Minimally invasive for existing client side tools
  • Array index meta data
  • Expanding intersection of EPICS with data
    acquisition systems
Write a Comment
User Comments (0)
About PowerShow.com