01-Feb-2007Dietrich Beck, GSI LabVIEW DIM-Interface Motivation Event and DIM Basics Idea of LV-DIM Interface Example Performance.

Slides:



Advertisements
Similar presentations
Categories of I/O Devices
Advertisements

A component- and message-based architectural style for GUI software
P2P-DIET: One-time and Continuous Queries in Super-Peer Networks By Stratos Idreos, Manolis Koubarakis and Christos Tryfonopoulos Intelligent Systems Laboratory.
The TickerTAIP Parallel RAID Architecture P. Cao, S. B. Lim S. Venkatraman, J. Wilkes HP Labs.
Developing User Interfaces with Event-driven Programming
Fast Communication Firefly RPC Lightweight RPC  CS 614  Tuesday March 13, 2001  Jeff Hoy.
VIA and Its Extension To TCP/IP Network Yingping Lu Based on Paper “Queue Pair IP, …” by Philip Buonadonna.
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
Peer-to-peer Multimedia Streaming and Caching Service Jie WEI, Zhen MA May. 29.
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
1 I/O Management in Representative Operating Systems.
COM S 614 Advanced Systems Novel Communications U-Net and Active Messages.
GSI Operating Software – Migration OpenVMS to Linux Ralf Huhmann PCaPAC 2008 October 20, 2008.
How WebMD Maintains Operational Flexibility with NoSQL Rajeev Borborah, Sr. Director, Engineering Matt Wilson – Director, Production Engineering – Consumer.
Behavioral Patterns  Behavioral patterns are patterns whose purpose is to facilitate the work of algorithmic calculations and communication between classes.
Networks A network is a collection of computers and devices connected together via communications devices and transmission media Advantages of a network.
Parallel and Distributed Simulation FDK Software.
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
Chapter 4 Networking and the Internet Introduction to CS 1 st Semester, 2015 Sanghyun Park.
High Performance User-Level Sockets over Gigabit Ethernet Pavan Balaji Ohio State University Piyush Shivam Ohio State University.
DSCIntProc with LabVIEW 8.2 Motivation "Shared Variables" Difference to LabVIEW 7.1 New Configuration Tools.
Gil EinzigerRoy Friedman Computer Science Department Technion.
I/O Systems I/O Hardware Application I/O Interface
Jozef Goetz, Application Layer PART VI Jozef Goetz, Position of application layer The application layer enables the user, whether human.
1-1 Embedded Network Interface (ENI) API Concepts Shared RAM vs. FIFO modes ENI API’s.
Java Introduction to JNI Prepared by Humaira Siddiqui.
Developments in networked embedded system technologies and programmable logic are making it possible to develop new, highly flexible data acquisition system.
Chapter 14 Part II: Architectural Adaptation BY: AARON MCKAY.
EPICS-LabVIEW Interfaces PANDA Collaboration Meeting December 2009 Holger Brand GSI – EE/KS.
Component Technology. Challenges Facing the Software Industry Today’s applications are large & complex – time consuming to develop, difficult and costly.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Design Patterns IX Interpreter, Mediator, Template Method recap.
7. CBM collaboration meetingXDAQ evaluation - J.Adamczewski1.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Writing a Channel Access Client in EPICS Bob Dalesio, April 5, 2000.
Implementation structure The protocol stack was implemented formerly by UniControls, Inc. under the OS9 Real-Time OS. The new implementation for the VxWorks.
MA CS workshop Adriaan Rijllart1 LabVIEW integration into the LHC control system The LHCLabVIEW.
Latency Reduction Techniques for Remote Memory Access in ANEMONE Mark Lewandowski Department of Computer Science Florida State University.
Mobile Communication SMSC Access protocols. Mobile Communication SMSC Access protocols SMAP: Access protocols initially developed to allow interactions.
February 18, 2010Dietrich Beck CS-Framework Overview (for newcomers) Ideas behind CS Cooking recipe Main Features...
LRPC Firefly RPC, Lightweight RPC, Winsock Direct and VIA.
S O A P ‘the protocol formerly known as Simple Object Access Protocol’ Team Pluto Bonnie, Brandon, George, Hojun.
Remote Procedure Call RPC
Scientific Visualization Java3D Object Controlling over PDA- Server Connection Sangyoon Oh
OOMI Callbacks. Slide 2 of 11 © Ingeniørhøjskolen i Århus Outline Motivation –Using TTS as example CORBA Callbacks Issues & solutions Alternative solutions.
Object Oriented Analysis and Design 1 Chapter 9 From Design to Implementation  Implementation Model  Forward, Reverse, and Round-Trip Engineering  Mapping.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Connecting LabVIEW to EPICS network
Computer Science Lecture 3, page 1 CS677: Distributed OS Last Class: Communication in Distributed Systems Structured or unstructured? Addressing? Blocking/non-blocking?
COMP 655: Distributed/Operating Systems Summer 2011 Dr. Chunbo Chu Week 2, 3: Communication 1/30/20161Distributed Systems - COMP 655.
So you think you know pub/sub ? Udi Dahan in
7 February 2008Dietrich Beck CS-Framework Overview Ideas behind CS Cooking recipe Main Features...
CS – a control system framework Dr. Dietrich Hans Beck, DVEE, GSI 20 November 2002.
EPICS and LabVIEW Tony Vento, National Instruments
Acceleration Sensing Dec 10, 2004 Zhong-Yi Jin William Chang.
The Observer Design Pattern Author :Erich Gamma, et al. Source :Elements of Reusable Object-Oriented Software Speaker : Chiao-Ping Chang Advisor : Ku-Yaw.
Final Presentation Smart-Home Smart-Switch using Arduino
Eclipse.NET An Integration Platform for ProjectIT-Studio João Saraiva IST & INESC-ID (GSI)
Clara Gaspar, February 2010 DIM A Portable, Light Weight Package for Information Publishing, Data Transfer and Inter-process Communication.
Two New UML Diagram Types Component Diagram Deployment Diagram.
Introduction Current Status Outlook and Time Schedule
How to Integrate LabVIEW Applications into a Tango Control System
CS-Framework Overview
I/O Systems I/O Hardware Application I/O Interface
MPJ: A Java-based Parallel Computing System
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
THE GOOGLE FILE SYSTEM.
Scaling to Larger Systems
CS-Status Results from workshop 2008 Statistics Miscellaneous
Last Class: Communication in Distributed Systems
Presentation transcript:

01-Feb-2007Dietrich Beck, GSI LabVIEW DIM-Interface Motivation Event and DIM Basics Idea of LV-DIM Interface Example Performance

01-Feb-2007Dietrich Beck, GSI Motivation Large Distributed Systems: One would like to get rid of node names as much as possible. –nodes might change or are replaced –processes might migrate from node to node –where is myResource? Need to avoid central bottle-necks. –peer-to-peer connections required –management of many connections can be tedious Required –full bandwidth of Ethernet –short latency time Can't use protocols or TCP/IP implementation provided by NI

01-Feb-2007Dietrich Beck, GSI Bad Example: CS commands prior to 3.00 LabVIEW message queue or notifier CallerCallee node1 node2 Client_node2Server_node1 LabVIEW TCP/IP or(!) DIM TCP/IP

01-Feb-2007Dietrich Beck, GSI Event basics an entity waits for the next event, no polling! timeout handling is an important issue publisher subscriber client receiver observer pattern: "one-to-many" command pattern: "many-to-one" data command example: radio, television added in CS 3.0 example: typical human communication sole possibility for CS < 3.0

01-Feb-2007Dietrich Beck, GSI DIM Distributed Information Management: Maintained at CERN and available via GPL. Thanks to C. Gaspar et al. originally developed at around 1991 available for a multitude of platforms and languages light-weight, aiming at high performance, based on TCP/IP today: "backbone" of control systems for LHC experiments concept: named services, peer-to-peer connections DIM server A DIM server B DIM client 1 DIM client 2 service "i" service "ii" command "iii" DIM name server (negotiates connections)

01-Feb-2007Dietrich Beck, GSI Concept of "Named Services" A DIM service is identifier by its name. A DIM service may exist only once within a DIM domain (If a DIM server tries to declare a service that already exists, the server is excluded from DIM.). Once declared, a service has a fixed type and size (except command services). A DIM service can be removed and re-declared. When subscribing to a service, the DIM client neither needs to know the name of the DIM server nor the node name. Once subscribed, DIM automatically (re-)connects the client to the service or informs the client if the service is not available. In mixed environments (little/big endian), DIM takes care about byte and word swapping.

01-Feb-2007Dietrich Beck, GSI Example for a C/C++ Application DIM dll/so, C. Gaspar, CERN myApplication "serve by routine" –myApplication provides and registers callback functions to DIM –DIM executes callback functions of myApplication "serve by buffer" –myApplication provides memory and registers addresses to DIM –DIM writes/reads to/from memory of myApplication uses write/read memory uses callback functions

01-Feb-2007Dietrich Beck, GSI Using DIM with LabVIEW Difficulties: –LabVIEW does not allow direct execution of code from external applications (VI Server is not performing enough) –using shared memory would require polling Solution: DIMWrapper library written in C –provides callback functions for DIM –callback functions copy data received from DIM to a LabVIEW message queue or notifier –LabVIEW applications receive data from DIM via message queue or notifier

01-Feb-2007Dietrich Beck, GSI New (!) LabVIEW-DIM interface DIM dll/so, C. Gaspar, CERN (dedicated patch for LabVIEW) DIM Wrapper dll/so, GSI LVEvent dll/so, GSI LabVIEW runtime engine, NI LabVIEW application "serve by routine" only using call back functions with DIM uses "native" DIM libraries (no re-write) client and server functionality for commands and services DIMWrapper (and LVEvent dll) are required to make use of the DIM callback functionality

01-Feb-2007Dietrich Beck, GSI Server Example

01-Feb-2007Dietrich Beck, GSI Client Example

01-Feb-2007Dietrich Beck, GSI DimWrapper Example: Change for CS commands LabVIEW message queue or notifier CallerCallee node1node2 Client_node2Server_node1 LabVIEW TCP/IP CallerCallee node1node2 old: new: or(!) DIM TCP/IP

01-Feb-2007Dietrich Beck, GSI Performance LabVIEW-DIM Interface

01-Feb-2007Dietrich Beck, GSI Conclusion Pros LabVIEW-DIM interface provides excellent performance no longer care about node names based on robust and well established protocol using pre-compiled binaries (no re-implementation in LV) Cons no longer pure LabVIEW requires experience with message queue or notifiers requires use of "typecasts" Outlook DIM-XControls for LabVIEW 8.20 (tomorrow, D. Beck) DSC-IO server for LabVIEW 8.20 (tomorrow, H. Brand) slight changes of LVEvent library for LabVIEW 8.20 probable