Top Banner
DEVELOPMENTS TO THE SLS CORBA FRAMEWORK FOR HIGH LEVEL SOFTWARE APPLICATIONS M. Böge, J. Chrin Paul Scherrer Institut
20

DEVELOPMENTS TO THE SLS CORBA FRAMEWORK FOR HIGH LEVEL SOFTWARE APPLICATIONS M. Böge, J. Chrin Paul…

Jan 20, 2018

Download

Documents

Lorin Shepherd

PERSPECTIVE DEVELOPMENTS TO THE SLS CORBA FRAMEWORK M. Böge, J. Chrin High Level Beam Dynamics Applications Swiss Light Source 2.4 GeV electron synchrotron Generic tasks identified Reusable components developed as CORBA objects Inaugurated 19 October 2001 Control and Monitor orbit correction tune measurement and control … Specialist Applications beam based alignment insertion device gap scans … Turn by Turn single turn display phase space measurements BPM spread per turn...
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: DEVELOPMENTS TO THE SLS CORBA FRAMEWORK FOR HIGH LEVEL SOFTWARE APPLICATIONS M. Böge, J. Chrin Paul…

DEVELOPMENTS TO THE SLS CORBA FRAMEWORK

FOR HIGH LEVEL SOFTWARE APPLICATIONS

M. Böge, J. ChrinPaul Scherrer Institut

Page 2: DEVELOPMENTS TO THE SLS CORBA FRAMEWORK FOR HIGH LEVEL SOFTWARE APPLICATIONS M. Böge, J. Chrin Paul…

• Perspective

• Hardware and Software Platforms

• Event Processing Agents

• Event Service / Notification Service

• User Applications

OUTLINE

- 2 - DEVELOPMENTS TO THE SLS CORBA FRAMEWORK M. Böge, J. Chrin

Developments

Page 3: DEVELOPMENTS TO THE SLS CORBA FRAMEWORK FOR HIGH LEVEL SOFTWARE APPLICATIONS M. Böge, J. Chrin Paul…

PERSPECTIVE

- 3 - DEVELOPMENTS TO THE SLS CORBA FRAMEWORK M. Böge, J. Chrin

High Level Beam Dynamics Applications Swiss Light Source

2.4 GeV electron synchrotron

Generic tasks identified Reusable components developed as CORBA objects

Inaugurated 19 October 2001

Control and Monitor• orbit correction• tune measurement and control• … Specialist Applications• beam based alignment• insertion device gap scans• … Turn by Turn• single turn display• phase space measurements• BPM spread per turn• ...

Page 4: DEVELOPMENTS TO THE SLS CORBA FRAMEWORK FOR HIGH LEVEL SOFTWARE APPLICATIONS M. Böge, J. Chrin Paul…

HIGH LEVEL MIDDLEWARE

- 4 - DEVELOPMENTS TO THE SLS CORBA FRAMEWORK M. Böge, J. Chrin

CORBA MIDDLEWARE

TRACY EPICS ORACLE SYSLOGAccelerator Model Hardware Controls DBMS Message Logger

Client / User ApplicationC/C++JavaTcl/Tk

CORBA middleware extends developers programming language

Page 5: DEVELOPMENTS TO THE SLS CORBA FRAMEWORK FOR HIGH LEVEL SOFTWARE APPLICATIONS M. Böge, J. Chrin Paul…

- 5 - DEVELOPMENTS TO THE SLS CORBA FRAMEWORK M. Böge, J. Chrin

SERVER HARDWARE

default

backup

Dell PowerEdge 2650Red Hat Linux v. 7.3

• Two 2.8 GHz Xeon CPUs• 512 K memory cache• 2 GByte RAM• 1 GBit/s Ethernet card• RAID controller 2x36 GByte SCSI hard disk

Clients: Linux PC Consoles• 2.8 GHz Pentium 4 • 512K memory cache• 2 GByte RAM

Red Hat Package (RPM)

Page 6: DEVELOPMENTS TO THE SLS CORBA FRAMEWORK FOR HIGH LEVEL SOFTWARE APPLICATIONS M. Böge, J. Chrin Paul…

- 6 - DEVELOPMENTS TO THE SLS CORBA FRAMEWORK M. Böge, J. Chrin

DEVELOPMENT HARDWARE

Scientific Linux OS is Enterprise Linux, recompiled from sourceEmerging standard in the Experimental Physics community, put together by Fermilab, Cern and other labs and universities

http://www.scientificlinux.org/

Scientific Linux v. 3.0.4

• Four 2.2 GHz Pentium CPUs• 2 MByte memory cache• 2 GByte RAM• 4 GBit/s Ethernet card• RAID controller 4 x 73 GByte SCSI hard drives

Page 7: DEVELOPMENTS TO THE SLS CORBA FRAMEWORK FOR HIGH LEVEL SOFTWARE APPLICATIONS M. Böge, J. Chrin Paul…

- 7 - DEVELOPMENTS TO THE SLS CORBA FRAMEWORK M. Böge, J. Chrin

CORBA SOFTWARE

MICO is the principal ORB (OMG CORBA 2.3 Compliant)

Naming Service Portable Object Adapter (POA)

Implementation Repository Event Service

Not yet implemented Notification Service

• MICO v. 2.3.8, C++ mapping, http://www.mico.org/ • Combat v. 0.7.2, Tcl mapping http://www.fpx.de/Combat/ • JOB/ORBacus v. 4.0.5, Java mapping http://www.ooc.com/

Servers written in C++

Page 8: DEVELOPMENTS TO THE SLS CORBA FRAMEWORK FOR HIGH LEVEL SOFTWARE APPLICATIONS M. Böge, J. Chrin Paul…

CORBA REQUEST/RESPONSE MODEL

- 8 - DEVELOPMENTS TO THE SLS CORBA FRAMEWORK M. Böge, J. Chrin

client server

request

response

operation (arguments)

C++: object->operation(arg1, arg2, )Java: object.operation (arg1, arg2, )Tcl: $object operation arg1 arg2 …

Initialize ORB…, obtain object reference…, invoke method:

A CORBA request is straightforward!(The complexity is on the server side and hidden from the client…)

Page 9: DEVELOPMENTS TO THE SLS CORBA FRAMEWORK FOR HIGH LEVEL SOFTWARE APPLICATIONS M. Böge, J. Chrin Paul…

PUBLISH/SUBSCRIBE PARADIGM

- 9 - DEVELOPMENTS TO THE SLS CORBA FRAMEWORK M. Böge, J. Chrin

• Optimal means of data transfer thru reactive form of programming

• Clients notified en masse of updated values

Object Management Group (OMG)CORBA Event Service / Notification Service

A group of related devices, of interest to many clients, changes value:

Page 10: DEVELOPMENTS TO THE SLS CORBA FRAMEWORK FOR HIGH LEVEL SOFTWARE APPLICATIONS M. Böge, J. Chrin Paul…

DATA AGGREGRATION AND PROPAGATION

- 10 - DEVELOPMENTS TO THE SLS CORBA FRAMEWORK M. Böge, J. Chrin

Application layer GUIConsumer

Supplier

Event channel

Event Processing AgentCDEV Callback

Analysis layer

Device layer Channel access

Low-levelhardware

Page 11: DEVELOPMENTS TO THE SLS CORBA FRAMEWORK FOR HIGH LEVEL SOFTWARE APPLICATIONS M. Böge, J. Chrin Paul…

EVENT PROCESSING AGENT (EPA)

- 11 - DEVELOPMENTS TO THE SLS CORBA FRAMEWORK M. Böge, J. Chrin

EPA Event pattern rules

Local variables

Trigger

Body of actions

EPA monitors its input to detect instances of the rule triggersWhen trigger condition is satisfied, agent executes action of the rule’s body

EPA Classes (*)• filter - reduces event execution to relevant subsets• map - aggregates and correlates events• constraint - detect proper and improper behaviour

Agent – software object that performs a task with the information fed and passes on results

(*) Complex Event Processing, D. Luckham, “The Power of Events”

Page 12: DEVELOPMENTS TO THE SLS CORBA FRAMEWORK FOR HIGH LEVEL SOFTWARE APPLICATIONS M. Böge, J. Chrin Paul…

THE EVENT PATTERN MAP

- 12 - DEVELOPMENTS TO THE SLS CORBA FRAMEWORK M. Böge, J. Chrin

Map AgentIn Actions Out Actions

Map Interface Specification

Device1 (Value,Mode,TS..)…DeviceN (Value,Mode,TS..)

Seq Device Values Modes

Trigger on causal Seq of low-level events: Device1,DeviceNGenerate complex event: Sequence Device Values/Modes

Behaviour:

Rules to start, terminate EPA

Contraints:Pattern of rules that indicate errors in the agent’s input

Event channel

defines relationships between system level events and higher level abstraction events

Page 13: DEVELOPMENTS TO THE SLS CORBA FRAMEWORK FOR HIGH LEVEL SOFTWARE APPLICATIONS M. Böge, J. Chrin Paul…

EVENT DELIVERY MODELS

- 13 - DEVELOPMENTS TO THE SLS CORBA FRAMEWORK M. Böge, J. Chrin

event channel

supplier

supplier consumer

consumer

event daemon

Direction of event flow

push push

pull pull

a

c

b

d

a b canonical push model (*) c d canonical pull model

a d hybrid push-pull model (**) c b hybrid pull-push model

(*) notifier (**) queue

EPA Application

Page 14: DEVELOPMENTS TO THE SLS CORBA FRAMEWORK FOR HIGH LEVEL SOFTWARE APPLICATIONS M. Böge, J. Chrin Paul…

EVENT CHANNELS AND DATA

- 14 - DEVELOPMENTS TO THE SLS CORBA FRAMEWORK M. Böge, J. Chrin

Prefix: SLS:BdEvent:Booster /Injectors

Ring

LBinj:BPMwfLBinj:MACHCVLBinj:MAQBO:MACHCVBO:MAQBO:BPMcoBRinj:BPMwfBRinj:MACHCVBRinj:MAQ

RI:BPMcoRI:BPMcoocoRI:BPMwfHLRI:BPMwfprimeRI:MACHCVRI:MASRI:MAQ

RI:TUNE

Event Data• propagated thru CORBA::Any• TypeCode acts as runtime identifier

Event Channels • created at server boot time• object references exported to Naming Service• can also be created on the fly

Event channel data is grouped according to Accelerator Component: Device Type

physics

Page 15: DEVELOPMENTS TO THE SLS CORBA FRAMEWORK FOR HIGH LEVEL SOFTWARE APPLICATIONS M. Böge, J. Chrin Paul…

EVENT HORIZON

- 15 - DEVELOPMENTS TO THE SLS CORBA FRAMEWORK M. Böge, J. Chrin

Limitations…• Event Data propagated thru CORBA::Any• No Event Filtering• No Quality of Service (QoS) control

Nevertheless…• uniform data structure packed within CORBA::Any provides less complex and more robust transmission medium• network traffic minimized: single supplier to given event channel• Queue length of one imposed (only last event of interest)

Page 16: DEVELOPMENTS TO THE SLS CORBA FRAMEWORK FOR HIGH LEVEL SOFTWARE APPLICATIONS M. Böge, J. Chrin Paul…

NOTIFICATION SERVICE: THE STRUCTURED EVENT

- 16 - DEVELOPMENTS TO THE SLS CORBA FRAMEWORK M. Böge, J. Chrin

Domain Name

Type Name

Event Name

Event Data

EventHeader

EventBody

FixedHeader

VariableHeader

FilterableBody Fields

EventRealibility 1=BestEffort

Priority

MaxQueueLength

32767=Highest

4

Name_1 Value_1

Name_2

Name_3

Value_2

Value_3

TypeCode

Event Data

cf. Event Service

Main Benefits:• Event Filter• Transmit only those events for which there are registered consumers

Page 17: DEVELOPMENTS TO THE SLS CORBA FRAMEWORK FOR HIGH LEVEL SOFTWARE APPLICATIONS M. Böge, J. Chrin Paul…

- 17 - DEVELOPMENTS TO THE SLS CORBA FRAMEWORK M. Böge, J. Chrin

CORBA APPLICATIONS: ORBIT DISPLAY

Page 18: DEVELOPMENTS TO THE SLS CORBA FRAMEWORK FOR HIGH LEVEL SOFTWARE APPLICATIONS M. Böge, J. Chrin Paul…

- 18 -

DEVELOPMENTS TO THE SLS CORBA FRAMEWORK M. Böge, J. Chrin

CORBA APPLICATIONS: ORBIT CORRECTION / MESSAGE LOGGER

Page 19: DEVELOPMENTS TO THE SLS CORBA FRAMEWORK FOR HIGH LEVEL SOFTWARE APPLICATIONS M. Böge, J. Chrin Paul…

CORBA APPLICATIONS: TUNE MEASUREMENT

- 19 - DEVELOPMENTS TO THE SLS CORBA FRAMEWORK M. Böge, J. Chrin

Page 20: DEVELOPMENTS TO THE SLS CORBA FRAMEWORK FOR HIGH LEVEL SOFTWARE APPLICATIONS M. Böge, J. Chrin Paul…

SUMMARY

- 20 - DEVELOPMENTS TO THE SLS CORBA FRAMEWORK M. Böge, J. Chrin

• Updated CORBA software framework implemented on recently commissioned high-performance hardware: dual 2.8 GHz Xeon CPUs (Red Hat Linux v 7.3) quad 2.2 GHz Pentium CPUs (Scientific Linux v 3.0.4)

• Event Processing Agents (EPAs): - capture data from low-level control system components - transform according to predefined rules - deliver to event channels

• Event Channels are primary source of information for users - optimized to satisfy reporting needs

• Reliable, stable framework; many HLS applications developed