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

Number of Views:123
Avg rating:3.0/5.0
Slides: 18
Provided by: 10176
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
  • 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 doesnt 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
CA Server
Record
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
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
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
Moderate Interface Upgrade
Moderate Subscription Protocol Upgrade
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
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 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
Write a Comment
User Comments (0)
About PowerShow.com