Download presentation
Presentation is loading. Please wait.
Published byAlbert Wilkins Modified over 8 years ago
1
Clara Gaspar, February 2010 DIM A Portable, Light Weight Package for Information Publishing, Data Transfer and Inter-process Communication
2
Clara Gaspar, February 2010 2 DIM Design Requirements ❚ Efficient Communication Mechanism ❙ Asynchronous Communications ❙ One to Many Communications ❚ Uniformity ❙ The same mechanism for all types of communications ❚ Transparency ❚ Reliability and Robustness
3
Clara Gaspar, February 2010 3 Communication mechanism ❚ Synchronous ❚ One-to-one ❚ Asynchronous ❚ One-to-many RPC & CORBADIM
4
Clara Gaspar, February 2010 4 Design Philosophy ❚ Client/Server (Publish/Subscribe) ❚ Services ❙ Set of data (any type or size) ❘ Single items, arrays or structured data ❙ Free name space (but better use a naming convention) ❙ Servers publish Services. ❙ Clients subscribe to Services. ❘ Once, at regular intervals or on change ❙ Clients can also send Commands to Servers ❚ Name Server ❙ Keeps the coordinates of available Services
5
Clara Gaspar, February 2010 5 DIM Dataflow ❚ Internal mechanism
6
Clara Gaspar, February 2010 6 DIM transparency ❚ DIM clients do not know where their interlocutors are. ❚ Servers can move from one machine to another, all connections are transparently re-established. ❚ The Name Server can also migrate. ❙ Any pre-established connections will continue working without DNS ❚ All platform differences are handled internally (byte swapping, structure alignment, floating point representation)
7
Clara Gaspar, February 2010 7 DIM Robustness ❚ DIM detects and recovers automatically from most problems: ❙ Servers, clients or Name Server stops, crashes or hang-ups… ❙ Machines reboots… ❚ Clients are informed when Services not available. ❚ DIM is an old product, has been tested and debugged for many years…
8
Clara Gaspar, February 2010 8 DIM Monitoring ❚ Large distributed systems are normally difficult to Test, Debug and Monitor ❚ Due to the DIM publishing mechanism: ❙ DIM components (the Name Server and the Servers) publish a set of standard Services used for monitoring ❙ A tool - DID - (using the standard DIM client API) allows access to all information ❙ A browsing API is also available (to be used with care) Can ask for “LHC/magnets/*/current” and then subscribe
9
Clara Gaspar, February 2010 9 DIM Monitoring - DID
10
Clara Gaspar, February 2010 10 DIM Performance Fast Ethernet (100Mb/s) Gigabit Ethernet (1000Mb/s) Throughput (kB/s) Message Size (bytes)
11
Clara Gaspar, February 2010 11 DIM Availability ❚ DIM is available under GPL (GNU Public License) ❙ As Server and Client libraries: ❘ API: C, C++ and Java (also Python…) ❘ at http://www.cern.ch/dim ❙ For the platforms: ❘ VMS (VAX and APHA) ❘ UNIX flavours (HP-UX, Sun-OS, Sun-Solaris, IBM-AIX, DEC-OSF, Linux, MacOSX) ❘ Windows NT/2000/XP ❘ Real-time OSs (OS9, LynxOS, VxWorks)
12
Clara Gaspar, February 2010 12 DIM example
13
Clara Gaspar, February 2010 13 DIM Interfaces ❚ LabView (GSI Darmstadt) ❚ PVSS II (fwDIM component) ❙ PVSS II can act as a DIM Client ❘ PVSS datapoints can “subscribe” to DIM services and be kept up to date ❘ PVSS datapoints can be sent as DIM Commands ❙ Or as a DIM Server ❘ PVSS datapoints can be published as DIM services ❘ PVSS datapoints can “receive” DIM Commands ❙ Can also browse and find available DIM Services and Commands
14
Clara Gaspar, February 2010 14 PVSS – DIM Interface ❚ Datapoint and DIM Service structures have to match
15
Clara Gaspar, February 2010 15 DIM Usage ❚ DIM is used by ALL LHC experiments ❚ And also in several other projects at CERN and outside CERN ❚ Some selected ones: ❙ DIP – The CERN Data Interchange Protocol is based on DIM ❙ SMI++ - The Finite State Machine toolkit used by the LHC experiments (and others) uses DIM as communication layer ❙ The PVSS Central Log Viewer
16
Clara Gaspar, February 2010 16 DIM Usage ❚ In LHCb for example, DIM is used for: ❙ The Configuration and Monitoring of all DAQ and Trigger electronics ❙ The Control of all non-standard DCS equipment ❙ The Monitoring and Control of the Trigger farm (2000 PCs), and the Monitoring Farm. ❘ Infrastructure (PC monitoring, reboot, switch on/off, etc.) ❘ Configuration and monitoring of trigger/monitoring processes ❙ Transporting all statistical data for Data Quality checking (all histograms and counters published by the trigger and monitoring tasks -> Histogram Presenter) ❙ The interface to the Conditions and Run Databases ❙ The DAQ/Dataflow Log mechanism ❙ To publish data for the WEB
17
Clara Gaspar, February 2010 17 LHCb/DIM in images
18
Clara Gaspar, February 2010 18 Conclusions ❚ Online applications (control, monitoring) have particular needs in terms of communications: ❙ Asynchronous Response ❙ Multiple destination updates ❙ Multiple platforms ❙ Efficiency and Reliability ❚ DIM’s publish/subscribe mechanism is well suited for such applications
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.