developments to the sls corba framework for high level software applications m. böge, j. chrin...
Post on 20-Jan-2018
213 Views
Preview:
DESCRIPTION
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
- 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
top related