Communicating Process Architectures, September 18 – 21 th 2005, Eindhoven, Netherlands Fast Data Sharing within a Distributed Multithreaded Control Framework.

Slides:



Advertisements
Similar presentations
Threads, SMP, and Microkernels
Advertisements

A LEGO-like Lightweight Component Architecture for Organic Computing Thomas Schöbel-Theuer, Universität Stuttgart
Christian Delbe1 Christian Delbé OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis November Automatic Fault Tolerance in ProActive.
WHAT IS AN OPERATING SYSTEM? An interface between users and hardware - an environment "architecture ” Allows convenient usage; hides the tedious stuff.
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
1: Operating Systems Overview
An Integrated Framework for Dependable Revivable Architectures Using Multi-core Processors Weiding Shi, Hsien-Hsin S. Lee, Laura Falk, and Mrinmoy Ghosh.
Overview Distributed vs. decentralized Why distributed databases
Threads CSCI 444/544 Operating Systems Fall 2008.
A. Frank - P. Weisberg Operating Systems Introduction to Tasks/Threads.
PRASHANTHI NARAYAN NETTEM.
–Streamline / organize Improve readability of code Decrease code volume/line count Simplify mechanisms Improve maintainability & clarity Decrease development.
Design and Implementation of a Single System Image Operating System for High Performance Computing on Clusters Christine MORIN PARIS project-team, IRISA/INRIA.
A Scalable Framework for the Collaborative Annotation of Live Data Streams Thesis Proposal Tao Huang
What is Concurrent Programming? Maram Bani Younes.
Lecture 4: Parallel Programming Models. Parallel Programming Models Parallel Programming Models: Data parallelism / Task parallelism Explicit parallelism.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 4: Threads.
A Cloud is a type of parallel and distributed system consisting of a collection of inter- connected and virtualized computers that are dynamically provisioned.
1 Lecture 4: Threads Operating System Fall Contents Overview: Processes & Threads Benefits of Threads Thread State and Operations User Thread.
LOGO OPERATING SYSTEM Dalia AL-Dabbagh
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
Parallel Programming Models Jihad El-Sana These slides are based on the book: Introduction to Parallel Computing, Blaise Barney, Lawrence Livermore National.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 14, 2005 Operating System.
Robosoccer Team MI20 presents … Supervisors Albert Schoute Mannes Poel Current team members Paul de Groot Roelof Hiddema Mobile Intelligence Twente.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
Processes and Threads Processes have two characteristics: – Resource ownership - process includes a virtual address space to hold the process image – Scheduling/execution.
Java Threads 11 Threading and Concurrent Programming in Java Introduction and Definitions D.W. Denbo Introduction and Definitions D.W. Denbo.
Distributed Database Systems Overview
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Tool Integration with Data and Computation Grid GWE - “Grid Wizard Enterprise”
Threads G.Anuradha (Reference : William Stallings)
1 Threads, SMP, and Microkernels Chapter 4. 2 Process Resource ownership: process includes a virtual address space to hold the process image (fig 3.16)
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Framework of a Simulation Based Shop Floor Controller Using HLA Pramod Vijayakumar Systems and Industrial Engineering University of Arizona.
Silberschatz, Galvin and Gagne  Operating System Concepts UNIT II Operating System Services.
Developing Applications with the CSI Framework A General Guide.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
S O A P ‘the protocol formerly known as Simple Object Access Protocol’ Team Pluto Bonnie, Brandon, George, Hojun.
1.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Lecture 2: OS Structures (Chapter 2.7)
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Operating Systems Processes and Threads.
Threads. Readings r Silberschatz et al : Chapter 4.
Tool Integration with Data and Computation Grid “Grid Wizard 2”
Parallel Computing Presented by Justin Reschke
SMP Basics KeyStone Training Multicore Applications Literature Number: SPRPxxx 1.
Business System Development
Enterprise Service Bus
Project Target Develop a Web Based Management software suit that will enable users to control Hardware using standard HTTP & Java Applet compatible web.
CONFIGURING A MICROSOFT EXCHANGE SERVER 2003 INFRASTRUCTURE
Self Healing and Dynamic Construction Framework:
SOFTWARE DESIGN AND ARCHITECTURE
Processes and Threads Processes and their scheduling
Chapter 4 Threads.
Introduction Enosis Learning.
#01 Client/Server Computing
Threads and Cooperation
Introduction Enosis Learning.
Operating Systems : Overview
Prof. Leonardo Mostarda University of Camerino
Operating Systems : Overview
Operating Systems : Overview
Mark McKelvin EE249 Embedded System Design December 03, 2002
Operating Systems : Overview
NETWORK PROGRAMMING CNET 441
Chapter 4: Threads.
#01 Client/Server Computing
Presentation transcript:

Communicating Process Architectures, September 18 – 21 th 2005, Eindhoven, Netherlands Fast Data Sharing within a Distributed Multithreaded Control Framework for Robot Teams Albert Schoute- Univ. of Twente Remco Seesink- Atos Origin NL Werner Dierssen- TriOpSys NL Niek Kooij- Centric NL

Communicating Process Architectures, September 18 – 21 th 2005, Eindhoven, Netherlands Presentation outline Playing robot soccer Distributed system approach C++ data sharing framework Common data access & exchange Examples of usage Benefits Conclusions

Communicating Process Architectures, September 18 – 21 th 2005, Eindhoven, Netherlands Playing robot soccer (FIRA MiroSot League)

Communicating Process Architectures, September 18 – 21 th 2005, Eindhoven, Netherlands Impression of European Championship 2005 (UT)

Communicating Process Architectures, September 18 – 21 th 2005, Eindhoven, Netherlands Typical application characteristics Shared localization sensor (camera) Highly reactive control Actual state information is essential Globally known, static data structures Robust operation required (despite disturbing events) Flexible configuration (different playing modes)

Communicating Process Architectures, September 18 – 21 th 2005, Eindhoven, Netherlands Design / implementation choices Multi-agent system architecture Distributed system design Posix compliant multithreading (pthreads) C++ programming environment Easy & safe access of shared data Efficient data distribution

Communicating Process Architectures, September 18 – 21 th 2005, Eindhoven, Netherlands Distributed design Many advantages Adaptable computing power Modular / independent development Manageable software Flexible reconfiguration Recoverability …

Communicating Process Architectures, September 18 – 21 th 2005, Eindhoven, Netherlands Distributed design Disadvantage Data sharing / data distribution becomes complicated!

Communicating Process Architectures, September 18 – 21 th 2005, Eindhoven, Netherlands Original MI20 design

Communicating Process Architectures, September 18 – 21 th 2005, Eindhoven, Netherlands MI20 multi-agent system architecture: simplified view

Communicating Process Architectures, September 18 – 21 th 2005, Eindhoven, Netherlands Distributed design Offered solution: Data distribution framework Fast & safe data sharing and synchronisation Based on some powerful classes in C++ Exchange of entire data structures

Communicating Process Architectures, September 18 – 21 th 2005, Eindhoven, Netherlands Data distribution model Transparent memory access to common variables whether shared in one or multiple programs Multiple programs contain copies of common variables Monitor based synchronized access within any single multithreaded program Socket based communication to exchange common data (as binary chunks) between common variables in different multithreaded programs Automated data proliferation by chains of communication threads

Communicating Process Architectures, September 18 – 21 th 2005, Eindhoven, Netherlands Overview of the framework classes

Communicating Process Architectures, September 18 – 21 th 2005, Eindhoven, Netherlands Safe variable concept Globally declared (structured) data types Defined in multithreaded programs where needed Safe access world_data.lock(); /* now world_data.value can be read or written safely */ /* now world_data.value can be read or written safely */world_data.unlock(); Csafe world_data; Csafe player_data[PLAYERS];

Communicating Process Architectures, September 18 – 21 th 2005, Eindhoven, Netherlands Synchronized access to shared safe variable X ReaderX.lock();X.wait(); /* reading of X.value */ X.unlock();WriterX.lock(); /* writing of X.value */ X.broadcast();X.unlock(); Wait for renewal before reading Signal for renewal after writing

Communicating Process Architectures, September 18 – 21 th 2005, Eindhoven, Netherlands Example of shared-memory distribution: copying images to multiple threads

Communicating Process Architectures, September 18 – 21 th 2005, Eindhoven, Netherlands Distributed data exchange Safe variables of the same type can be defined in different programs (possibly running on different computers) The framework makes distributed access similar to the case of accessing a shared safe variable How?

Communicating Process Architectures, September 18 – 21 th 2005, Eindhoven, Netherlands Automatic synchronized update of distributed safe variables

Communicating Process Architectures, September 18 – 21 th 2005, Eindhoven, Netherlands Controlling two robot teams

Communicating Process Architectures, September 18 – 21 th 2005, Eindhoven, Netherlands Using a robot soccer simulator

Communicating Process Architectures, September 18 – 21 th 2005, Eindhoven, Netherlands Additional implementation features Coupled exclusion : exclusive access to multiple Csafe-variables Pausing and resuming threads : non-running thread instances don’t use system resources Automatic connection recovery : sender threads try to re-establish broken socket connections

Communicating Process Architectures, September 18 – 21 th 2005, Eindhoven, Netherlands Benefits of the distributed system approach Supports multi-agent architecture Modular design & well-defined interfaces Easy multiplication of similar units Independent development and testing Multiplatform interoperability Extendable

Communicating Process Architectures, September 18 – 21 th 2005, Eindhoven, Netherlands Benefits of the data sharing framework Distributed presence of common state information No difference in accessing shared or distributed common data (possibly on different computers) Safe asynchronous reading & writing Robust and automated proliferation of data Signalling of and waiting on renewed data

Communicating Process Architectures, September 18 – 21 th 2005, Eindhoven, Netherlands Conclusions The distributed data framework has been used successfully to “glue” MI20 system parts together The framework functions (since its conception in 2003) as a stable “data sharing backbone” of the robot soccer control system. It makes expansion or re- configuration easy. Distributed access of common state information is made safe and transparent by exploiting current software tools (C++, multithreading, sockets) Distribution of actual common data is possible with limited overhead by transfering entire data structures as “compatible” binary chunks

Communicating Process Architectures, September 18 – 21 th 2005, Eindhoven, Netherlands Questions ? The framework software (yet unpolished and undocumented) is freely available Thank you for your attention