developments to the sls corba framework for high level software applications m. böge, j. chrin...

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

Upload: lorin-shepherd

Post on 20-Jan-2018

213 views

Category:

Documents


0 download

DESCRIPTION

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...

TRANSCRIPT

DEVELOPMENTS TO THE SLS CORBA FRAMEWORK

FOR HIGH LEVEL SOFTWARE APPLICATIONS

M. Böge, J. ChrinPaul Scherrer Institut

• 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

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• ...

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

- 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)

- 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

- 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++

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…)

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:

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

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”

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

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

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

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)

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

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

CORBA APPLICATIONS: ORBIT DISPLAY

- 18 -

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

CORBA APPLICATIONS: ORBIT CORRECTION / MESSAGE LOGGER

CORBA APPLICATIONS: TUNE MEASUREMENT

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

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