Developments in networked embedded system technologies and programmable logic are making it possible to develop new, highly flexible data acquisition system.

Slides:



Advertisements
Similar presentations
Nios Multi Processor Ethernet Embedded Platform Final Presentation
Advertisements

COM vs. CORBA.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Architectures of Digital Information Systems Part 1: Interrupts and DMA dr.ir.
Mr. D. J. Patel, AITS, Rajkot 1 Operating Systems, by Dhananjay Dhamdhere1 Static and Dynamic Memory Allocation Memory allocation is an aspect of a more.
Extensibility, Safety and Performance in the SPIN Operating System Presented by Allen Kerr.
Using DSVM to Implement a Distributed File System Ramon Lawrence Dept. of Computer Science
Adding scalability to legacy PHP web applications Overview Mario A. Valdez-Ramirez.
Computer Monitoring System for EE Faculty By Yaroslav Ross And Denis Zakrevsky Supervisor: Viktor Kulikov.
Technical Architectures
Reference: Message Passing Fundamentals.
1 Pertemuan 13 Servers for E-Business Matakuliah: M0284/Teknologi & Infrastruktur E-Business Tahun: 2005 Versi: >
File System Implementation
I/O Channels I/O devices getting more sophisticated e.g. 3D graphics cards CPU instructs I/O controller to do transfer I/O controller does entire transfer.
Lesson 11-Virtual Private Networks. Overview Define Virtual Private Networks (VPNs). Deploy User VPNs. Deploy Site VPNs. Understand standard VPN techniques.
Virtual Memory Deung young, Moon ELEC 5200/6200 Computer Architecture and Design Lectured by Dr. V. Agrawal Lectured by Dr. V.
 2004 Deitel & Associates, Inc. All rights reserved. Chapter 9 – Real Memory Organization and Management Outline 9.1 Introduction 9.2Memory Organization.
PRASHANTHI NARAYAN NETTEM.
DISTRIBUTED PROCESS IMPLEMENTAION BHAVIN KANSARA.
Lecture The Client/Server Database Environment
L EC. 01: J AVA FUNDAMENTALS Fall Java Programming.
Dynamics AX Technical Overview Application Architecture Dynamics AX Technical Overview.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Enterprise Resource Planning
1 The SpaceWire Internet Tunnel and the Advantages It Provides For Spacecraft Integration Stuart Mills, Steve Parkes Space Technology Centre University.
Chapter 3 Memory Management: Virtual Memory
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
WEB ENGINEERING LECTURE 4 BY Kiramat Rahman. outline  In this Lecture you will learn about:  Term “Software” and its relationship with “Hardware” 
Data Acquisition Software Integration and ADC Characterisation Jack Hobbs 4 th August
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
UNIX SVR4 COSC513 Zhaohui Chen Jiefei Huang. UNIX SVR4 UNIX system V release 4 is a major new release of the UNIX operating system, developed by AT&T.
Why Java? A brief introduction to Java and its features Prepared by Mithat Konar.
.Sense A Secure Framework for Sensor Network Data Acquisition, Monitoring and Command Screenshots We present.Sense, an end-to-end security framework for.
ICALEPCS 2007, Knoxville, Tennessee, October 15-19, 2007 Present Status of VEPP-5 Control System D.Yu.Bolkhovityanov, A.Yu.Antonov, R.E.Kuskov The Budker.
Scalable Web Server on Heterogeneous Cluster CHEN Ge.
Computer Emergency Notification System (CENS)
Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating Kernel.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 7 OS System Structure.
By Teacher Asma Aleisa Year 1433 H.   Goals of memory management  To provide a convenient abstraction for programming  To allocate scarce memory resources.
Component Technology. Challenges Facing the Software Industry Today’s applications are large & complex – time consuming to develop, difficult and costly.
Embedded Runtime Reconfigurable Nodes for wireless sensor networks applications Chris Morales Kaz Onishi 1.
CSCI 465 D ata Communications and Networks Lecture 14 Martin van Bommel CSCI 465 Data Communications & Networks 1.
Software Design Patterns (1) Introduction. patterns do … & do not … Patterns do... provide common vocabulary provide “shorthand” for effectively communicating.
Oracle's Distributed Database Bora Yasa. Definition A Distributed Database is a set of databases stored on multiple computers at different locations and.
OPERATING SYSTEM SUPPORT DISTRIBUTED SYSTEMS CHAPTER 6 Lawrence Heyman July 8, 2002.
Lecture 6: Sun: 8/5/1435 Distributed Applications Lecturer/ Kawther Abas CS- 492 : Distributed system & Parallel Processing.
By Teacher Asma Aleisa Year 1433 H.   Goals of memory management  To provide a convenient abstraction for programming.  To allocate scarce memory.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
11 CLUSTERING AND AVAILABILITY Chapter 11. Chapter 11: CLUSTERING AND AVAILABILITY2 OVERVIEW  Describe the clustering capabilities of Microsoft Windows.
9-Dec Dec-15  INTRODUCTION.  FEATURES OF OOP.  ORGANIZATION OF DATA & FUNCTION IN OOP.  OOP’S DESIGN.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
M. Accetta, R. Baron, W. Bolosky, D. Golub, R. Rashid, A. Tevanian, and M. Young MACH: A New Kernel Foundation for UNIX Development Presenter: Wei-Lwun.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Distributed shared memory u motivation and the main idea u consistency models F strict and sequential F causal F PRAM and processor F weak and release.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
A service Oriented Architecture & Web Service Technology.
Software Hardware refers to the physical devices of a computer system.
CE 454 Computer Architecture
Threads vs. Events SEDA – An Event Model 5204 – Operating Systems.
The Client/Server Database Environment
File System Implementation
Chapter 9 – Real Memory Organization and Management
Chapter 9: The Client/Server Database Environment
#01 Client/Server Computing
O.S Lecture 13 Virtual Memory.
Page Replacement.
Outline Midterm results summary Distributed file systems – continued
Edge Recorder Client
Database System Architectures
#01 Client/Server Computing
Presentation transcript:

Developments in networked embedded system technologies and programmable logic are making it possible to develop new, highly flexible data acquisition system (DAQ) architectures. We present a networked DAQ system architecture where the software resources required by the DAQ units are acquired from a server dynamically, to be stored and executed in local memory. When the DAQ unit needs to call an operation not contained in its memory, the new operation is requested from the server, while resources occupied by operations that have not been used recently are released to make space for it. In this way it is possible to reduce the resource use of the embedded DAQ unit to only what is necessary for efficient operation in its major modes. Since new code is easily distributed to the DAQ units from the server, system upgrades are also simplified. Abstract Controlling Server Introduction A distributed data acquisition system offers many advantages, but also increases the system's complexity. This tends to increase the complexity of the code in the embedded,front-end part of the system. Complex code with more functionality has a larger memory footprint, and its complexity can make it is more error-prone. Executing a command is the same as starting a chain of processing before the task is completed. One of the benefits of using a distributed system is the ability to let specific nodes handle specific tasks. This multi-tier architecture also allows extraneous code to be removed from some embedded parts and executed on more suitable nodes. The size Clients for control and monitoring An Operation-Server Based Data Acquisition System Architecture Clyde C. W.Robson, Sam Silverstein and Christian Bohm Fysikum, Stockholm University, SE Stockholm, Sweden Embedded controllers for DAQ The embedded controllers are FPGA based boards, on Virtex-IV FPGAs from Xilinx. They offer a networked based set of commands for control and data acquisition. They can easily be replaced in the system as long as they make use of the in house developed application protocol. At the moment we are using software network protocol stacks for communication, but we are looking into hardware-based solutions for communication to improve performance. Clients for control and monitoring can be written in any language of convenience, as long as they make use of the same protocol. We are currently using LabVIEW for rapid initial development and Java for the production phase. Embedded software DAQ Controller DB Server Client Matlab of the embedded nodes can be further reduced if at any given time only the functions needed in the current running phase are loaded in memory. Our system offers this functionality, as well as the additional benefit that software testing and modification become much easier. We have used this system to implement the controlling software for an in-house developed SPECT camera. By using a common, in-house application level protocol, all nodes can easily access each other and make use of the services that other nodes have to offer. The controlling server functions as the main access point for software clients accessing the system from anywhere in the world. By wrapping in the embedded part of the system and using the embedded controller's services as a basic set of commands, it can also expand the total number of commands-and their complexity-almost indefinitely. By adding services from other nodes these commands can be very complex yet still very transparent to the system user. The controller architecture is designed to be highly adaptable. It is written in C for smaller footprint and good performance.The main body is used for communication and control, and all tasks are implemented as work functions (commands). This object oriented approach makes it easy to work with. The controller can easily be adapted to new situations and tasks by simply replacing commands. Since this can be easily done during runtime, there is no need to restart or redeploy the full system. Because commands use a standardized protocol, they are interchangeable. When a command is received from the Controlling Server, the controller checks whether the requested command is among the deployed commands. If it is, the command is run and the result returned. If not, a request is sent to the Controlling Server for the requested command, When the command is received, it is then loaded and executed. The extra overhead for loading externally stored commands strongly depends on the connection type and speed. We have found that setting up the full connection with a TCP three-way-handshake for each request will take up to four times longer than if the connection is already established (for example, 475 us compared to us.) In our preliminary tests all commands fit in the tcp-data section (total of 1460 bytes), so only one packet needed to be returned. These tests were done on a heavily loaded 100 Mbit network with a fair amount of other activity. For comparison it took an average of 2 us to execute the same command when it was already loaded, so the network part took roughly 98 percent of the execution time! We expect significant future improvement when we switch to a private 1 Gbit network with dedicated servers and controllers. Switch Server PC Server PC Client ADC DAQ Controller ADC DAQ Controller ADC DAQ Controller ADC Links