100 likes | 219 Views
SLC-Aware IOC Review 2 Cluster Status and Test Service Feb 23, 2005. Introduction Functional Requirements (Stephanie) CSTR Service Design (Ron) ASYNC Utilities Design (Ron). Unix Workstation. SLC Alpha. SCP Users. Micro n. SLC Database. Forward Browser. Error. SCP. SCP. DBGen,
E N D
SLC-Aware IOC Review 2Cluster Status and Test ServiceFeb 23, 2005 • Introduction • Functional Requirements (Stephanie) • CSTR Service Design (Ron) • ASYNC Utilities Design (Ron)
Unix Workstation SLC Alpha SCP Users Micro n SLC Database Forward Browser Error SCP SCP DBGen, Install SCP DBEX CMLOG Server SLC Linux Proxy NFS Replies Requests DB Msgs Acks Console Users IOC Message Database CMLOG Client SLC IOC Interface SLC Exec SLC Resources IOC Shell SLC Micro n CA Users IOC n Data Base EPICS Device Control Timing Diags EPICS Resources Gated ADC Acq Cluster Status HW
SLC-Aware IOC Definitions • Job – set of tasks that perform similar functions • MSG, DB, CSTR (TEST), TIME, MGNT, BPMO, IOC (PROXY) • Usually access unique primaries • Handle objects/devices with similar controls interface • One task (Hdlr) handles Alpha requests • Another task (Async) does periodic updates • “Job” is also referred to as “Service” or “Task Groups” • Some jobs include a set of utilities used by other jobs • Function – job action • Hdlr task performs the job’s function codes: 0xAABB where AA identifies job and BB identifies action • Async task performs the job’s “cycling” functions: Defined by name in CSTR CNAM • Hdlr task will do a subset of Async’s functions
Cluster Status and Test (CSTR) Service • Process Messages with the TEST Function Code • TEST_EXISTENCE – from PARANOIA • TEST_ECHO and TEST_ECHO_MWORD • TEST_ERR_METER_RESET - later • Also IOC_STOP – from SLC exec • At init and exit, logs availability change messages • Update of CSTR Supertype 3 Secondaries • Periodically and during TEST message processing • Includes active job check • Later - periodic update of diagnostic EPICS PVs • ASYNC Utilities
CSTR Periodic Update Functions • Initialization – update database: • SLC startup (“micro IPL”) timestamp - set to the IPL request timestamp • Job availability bit mask – set based on task active flags • Zero unused CSTR secondaries used for CAMAC, unsupported functions • CHK1 – update database for all job functions: • Timestamps - last Alpha DB update, last execution • Elapsed time – delta time to execute function • Job availability bit mask • CHK2 – update database for all job functions: • Counters - # executions, # times Alpha DB update failed (reset after update finished) • Percentages - % executions with successful Alpha DB update, % executions triggered by Alpha request • CHK3 – later – update EPICS diagnostic PV • CPUM – update CPU and memory usage in database with values from EPICS PVs
ASYNC Utilities • Job function table initialization - called by DB job right after database download • Wait for cycling function to be ready – called by Async tasks • Update the Alpha database with metering for an input function and update statistics in the table – called by both Hdlr and Async tasks • Update other statistics for an input function – called by both Hdlr and Async tasks • Copy timestamps and elapsed time from tables to the database – called by CSTR Hdlr and Async tasks • Calc, copy, and reset statistics from tables to the database – called by CSTR Async task
IOC Shell Routines • Write async function tables for an input, optional job name to the console. • Change the value of CYCL, MTRC, MTRL, or MAXT (supertype 1 data) in the async function table and the database for an input job and function name (dbedit-equivalent).