Fakultät für informatik informatik 12 technische universität dortmund Universität Dortmund Middleware Peter Marwedel TU Dortmund, Informatik 12 Germany.

Slides:



Advertisements
Ähnliche Präsentationen
Cadastre for the 21st Century – The German Way
Advertisements

Service Oriented Architectures for Remote Instrumentation
Vernetzung von Repositorien : DRIVER Guidelines Dr Dale Peters, SUB Goettingen 4. Helmholtz Open Access Workshop Potsdam, 17 Juni 2008.
Finding the Pattern You Need: The Design Pattern Intent Ontology
E-Solutions mySchoeller.com for Felix Schoeller Imaging
H - A - M - L - E - IC T Teachers Acting Patterns while Teaching with New Media in the Subjects German, Mathematics and Computer Science Prof. S. Blömeke,
DNS-Resolver-Mechanismus
P R O B e r u f ProBeruf e.V. Angelika Bühler Arbeitstreffen EP-EvaluatorInnen und der Programm-Evaluation EQUAL, 15. / 16. Dez. 2004, Berlin Mehrwert.
P. Marwedel Informatik 12, U. Dortmund
Finite state machines & message passing: SDL
Managing the Transition from School-to-Work Empirical Findings from a Mentoring Programme in Germany Prof. i.V. Dr. Martin Lang.
Mapping of Applications to Multi-Processor Systems
Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel Informatik 12 TU.
Forschungsdatenzentrum der Bundesagentur für Arbeit im Institut für Arbeitsmarkt- und Berufsforschung Two Issues on Remote Data Access.
Steinbeis Forschungsinstitut für solare und zukunftsfähige thermische Energiesysteme Nobelstr. 15 D Stuttgart WP 4 Developing SEC.
Dr. M. Schlottke Common Description of Web Services Source: P. Gerbert, 2002 Web Services allow to establish B2B e-commerce on the fly Web Services allow.
Informatik 12, TU Dortmund
Embedded & Real-time Operating Systems
Fakultät für informatik informatik 12 technische universität dortmund Optimizations Peter Marwedel TU Dortmund Informatik 12 Germany 2009/01/17 Graphics:
fakultät für informatik informatik 12 technische universität dortmund Optimizations Peter Marwedel TU Dortmund Informatik 12 Germany 2009/01/10 Graphics:
Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Platforms Peter Marwedel TU Dortmund, Informatik 12 Germany.
Fakultät für informatik informatik 12 technische universität dortmund Optimizations Peter Marwedel TU Dortmund Informatik 12 Germany 2010/01/13 Graphics:
Fakultät für informatik informatik 12 technische universität dortmund Specifications Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra Nolte,
Peter Marwedel TU Dortmund, Informatik 12
Fakultät für informatik informatik 12 technische universität dortmund Hardware/Software Partitioning Peter Marwedel Informatik 12 TU Dortmund Germany Chapter.
Fakult ä t f ü r informatik informatik 12 technische universit ä t dortmund Data flow models Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra.
Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany
Fakultät für informatik informatik 12 technische universität dortmund Optimizations - Compilation for Embedded Processors - Peter Marwedel TU Dortmund.
Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.
Regional Support in the context of LCG/EGEE
Hier wird Wissen Wirklichkeit Computer Architecture – Part 10 – page 1 of 31 – Prof. Dr. Uwe Brinkschulte, Prof. Dr. Klaus Waldschmidt Part 10 Thread and.
Hier wird Wissen Wirklichkeit Computer Architecture – Part 5 – page 1 of 25 – Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting Part 5 Fundamentals in.
Lehrstuhl Informatik III: Datenbanksysteme AstroGrid-D Meeting Heidelberg, Informationsfusion und -Integrität: Grid-Erweiterungen zum Datenmanagement.
Introduction to BOS Supplier Guidelines v6
CCNA Exploration Network Fundamentals
CTS2 based Terminology Server – Overview – Project eBPG
Deutsche Gesellschaft für Technische Zusammenarbeit GmbH Integrated Experts as interface between technical cooperation and the private sector – An Example.
Methods Fuzzy- Logic enables the modeling of rule based knowledge by the use of fuzzy criteria instead of exact measurement values or threshold values.
INSTITUT FÜR DATENTECHNIK UND KOMMUNIKATIONS- NETZE 1 Steffen Stein, TU Braunschweig, 2009 A Timing-Aware Update Mechanism for Networked Real-Time Systems.
5 Jahre Semantic Network Service (SNS) Aktueller Stand und Ausblick Maria Rüther, Thomas Bandholtz,
Institut AIFB, Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Towards Automatic Composition of Processes based on Semantic.
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus 1 Hierarchical Test Technology for Systems on a.
Sanjay Patil Standards Architect – SAP AG April 2008
| DC-IAP/SVC3 | © Bosch Rexroth Pneumatics GmbH This document, as well as the data, specifications and other information set forth in.
A good view into the future Presented by Walter Henke BRIT/SLL Schweinfurt, 14. November 2006.
BAS5SE | Fachhochschule Hagenberg | Daniel Khan | S SPR5 MVC Plugin Development SPR6P.
3rd Review, Vienna, 16th of April 1999 SIT-MOON ESPRIT Project Nr Siemens AG Österreich Robotiker Technische Universität Wien Politecnico di Milano.
Neno Loje Berater & MVP für Visual Studio ALM und TFS (ehemals VSTS) Hochqualitative Produkte mit Visual Studio & TFS 2010.
Department of Computer Science Homepage HTML Preprocessor Perl Database Revision Control System © 1998, Leonhard Jaschke, Institut für Wissenschaftliches.
INTAKT- Interkulturelle Berufsfelderkundungen als ausbildungsbezogene Lerneinheiten in berufsqualifizierenden Auslandspraktika DE/10/LLP-LdV/TOI/
XML IV: Cocoon 2.
Algorithm Engineering Parallele Algorithmen Stefan Edelkamp.
Faculty of Public Health Department of Health Economics and Management University of Bielefeld WP 3.1 and WP 4.1: Macrocost EUprimecare Plenary Meeting.
SAP Protects its Valuable Innovations Alexandra Koseva/ Intellectual Property Department at SAP Labs Bulgaria November 29, 2012.
Einführung Bild und Erkenntnis Einige Probleme Fazit Eberhard Karls Universität Tübingen Philosophische Fakultät Institut für Medienwissenschaft Epistemic.
4th Symposium on Lidar Atmospheric Applications
Ein Projekt des Technischen Jugendfreizeit- und Bildungsvereins (tjfbv) e.V. kommunizieren.de Blended Learning for people with disabilities.
Fakultät für informatik informatik 12 technische universität dortmund Memory-architecture aware compilation - Sessions Peter Marwedel TU Dortmund.
Die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) dCache T1 admins and experts Welcome to FZK.
3rd Review, Vienna, 16th of April 1999 SIT-MOON ESPRIT Project Nr Siemens AG Österreich Robotiker Technische Universität Wien Politecnico di Milano.
RZPD Deutsches Ressourcenzentrum für Genomforschung GmbH DESPRAD-Meeting 02/09/2003 Steffen Schulze-Kremer (until 7/2003) Bernd Drescher (since 8/2003)
KIT – die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Vorlesung Knowledge Discovery - Institut AIFB Tempus fugit Towards.
Ambient Intelligence WS 10/11
Fakultät für informatik informatik 12 technische universität dortmund Standard Optimization Techniques 2010/12/20 Peter Marwedel TU Dortmund, Informatik.
Fakultät für informatik informatik 12 technische universität dortmund Memory architecture description languages - Session 20 - Peter Marwedel TU Dortmund.
Lehrstuhl für Waldbau, Technische Universität MünchenBudapest, 10./11. December 2006 WP 1 Status (TUM) Bernhard Felbermeier.
Technische Universität München 1 CADUI' June FUNDP Namur G B I The FUSE-System: an Integrated User Interface Design Environment Frank Lonczewski.
TUM in CrossGrid Role and Contribution Fakultät für Informatik der Technischen Universität München Informatik X: Rechnertechnik und Rechnerorganisation.
Institut für Nachrichtentechnik U. Reimers Technische Universität Braunschweig The MultiMedia Home Platform (MHP): Hype or Reality ?
Work in Progress Ignacio Yaselli, Brunel University
 Präsentation transkript:

fakultät für informatik informatik 12 technische universität dortmund Universität Dortmund Middleware Peter Marwedel TU Dortmund, Informatik 12 Germany 2009/11/27 © These slides use Microsoft cliparts. All Microsoft restrictions apply.

- 2 - technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2009 TU Dortmund Structure of this course 2: Specification 3: ES-hardware 4: system software (RTOS, middleware, …) 8: Test 5: Validation & Evaluation (energy, cost, performance, …) 7: Optimization 6: Application mapping Application Knowledge Design repository Design Numbers denote sequence of chapters

- 3 - technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2009 TU Dortmund Reuse of standard software components Knowledge from previous designs to be made available in the form of intellectual property (IP, for SW & HW). Operating systems Middleware ….

- 4 - technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2009 TU Dortmund Impact of Priority Inversion on Access Methods for Remote Objects Software packages for access to remote objects; Example: CORBA (Common Object Request Broker Architecture). Information sent to Object Request Broker (ORB) via local stub. ORB determines location to be accessed and sends information via the IIOP I/O protocol. Access times not predictable.

- 5 - technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2009 TU Dortmund Real-time (RT-) CORBA A very essential feature of RT-CORBA is to provide end-to-end predictability of timeliness in a fixed priority system. This involves respecting thread priorities between client and server for resolving resource contention, and bounding the latencies of operation invocations. Thread priorities might not be respected when threads obtain mutually exclusive access to resources (priority inversion). RT-CORBA includes provisions for bounding the time during which such priority inversion can happen.

- 6 - technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2009 TU Dortmund Real-time CORBA - Thread priority management - RT-CORBA includes facilities for thread priority management. Priority independent of the priorities of the underlying OS, even though it is compatible with the RT-extensions of the POSIX standard for OSs [Harbour, 1993]. The thread priority of clients can be propagated to the server side. Priority management for primitives for mutually exclusive access to resources. Priority inheritance protocol must be available in implementations of RT-CORBA. Pools of preexisting threads avoid the overhead of thread creation and thread-construction.

- 7 - technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2009 TU Dortmund Message passing interface (MPI) Library designed for high-performance computing (hpc) Based on asynchronous/synchronous message passing Comprehensive, popular library Available on a variety of platforms Considered also for multiple processor system-on-a-chip (MPSoC) programming for embedded systems; MPI includes many copy operations to memory (memory speed ~ communication speed for MPSoCs); Appropriate MPSoC programming tools missing. Mostly for homogeneous multiprocessing

- 8 - technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2009 TU Dortmund MPI (1) Sample blocking library call (for C): MPI_Send(buffer,count,type,dest,tag,comm) where -buffer: Address of data to be sent -count: number of data elements to be sent -type: data type of data to be sent (e.g. MPI_CHAR, MPI_SHORT, MPI_INT, …) -dest: process id of target process -tag: message id (for sorting incoming messages) -comm: communication context = set of processes for which destination field is valid -function result indicates success

- 9 - technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2009 TU Dortmund MPI (2) Sample non-blocking library call (for C): MPI_Isend(buffer,count,type,dest,tag,comm,request) where -buffer … comm: same as above -request: the system issues a unique "request number". The programmer uses this system assigned "handle" later (in a WAIT type routine) to determine completion of the non-blocking operation.

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2009 TU Dortmund RT-issues for MPI MPI/RT: a real-time version of MPI [MPI/RT forum, 2001]. MPI-RT does not cover issues such as thread creation and termination. MPI/RT is conceived as a potential layer between the operating system and standard (non real-time) MPI.

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2009 TU Dortmund Evaluation Explicit Computation partitioning Communication Data distribution Implicit Synchronization (implied by communic., explicit possible) Expression of parallelism (implied) Communication mapping Properties Most things are explicit Lots of work for the user (assembly lang. for parallel prog.) doesnt scale well when # of processors is changed heavily Based on Wilfried Verachtert (IMEC): Introduction to Parallelism, tutorial, DATE 2008

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2009 TU Dortmund Ptheads Shared memory model -Completely explicit synchronization -Originally used for single processor -Exact semantics depends on the memory consistency model -Synchronization is very hard to program correctly Consists of standard API -Locks ( mutex, read-write locks) -Condition variables -Typically supported by a mixture of hardware (shared memory) and software (thread management) Support for efficient producer/consumer parallelism relies on murky parts of the model Pthreads can be used as back-end for other programming models (e.g. OpenMP) Based on Wilfried Verachtert (IMEC): Introduction to Parallelism, tutorial, DATE 2008

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2009 TU Dortmund PThreads Example threads = (pthread_t *) malloc(n*sizeof(pthread_t)); pthread_attr_init(&pthread_custom_attr); for (i=0;i<n; i++) pthread_create(&threads[i], &pthread_custom_attr, task, …) for (i=0;i<n; i++) { pthread_mutex_lock(&mutex); pthread_mutex_unlock(&mutex); } for (i=0;i<n; i++) pthread_join(threads[i], NULL) void* task(void *arg) { … pthread_mutex_lock(&mutex); pthread_mutex_unlock(&mutex); return NULL } Based on Wilfried Verachtert (IMEC): Introduction to Parallelism, tutorial, DATE 2008

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2009 TU Dortmund OpenMP Explicit Expression of parallelism (mostly explicit) Implicit Computation partitioning Communication Synchronization Data distribution Parallelism expressed using pragmas Parallel loops (essentially data parallelism) Parallel sections Reductions Implementations target shared memory hardware Lack of control over partitioning can cause problems Based on Wilfried Verachtert (IMEC): Introduction to Parallelism, tutorial, DATE 2008

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2009 TU Dortmund Universal Plug-and-Play (UPnP) Extension of the plug-and-play concept Goal: Enable the emergence of easily connected devices and to simplify the implementation of networks in the home and corporate environments Examples: Discover printers, storage space easily, control switches in homes and offices Exchanging data, no code (reduces security hazards) Agreement on data formats and protocols Classes of predefined devices (printer, mediaserver etc.)

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2009 TU Dortmund Devices Profile for Web Services (DPWS) More general than UPnP The Devices Profile for Web Services (DPWS) defines a minimal set of implementation constraints to enable secure Web Service messaging, discovery, description, and eventing on resource-constrained devices. … DPWS specifies a set of built-in services: -Discovery services: used by a device connected to a network to advertise itself and to discover other devices. -Metadata exchange services: provide dynamic access to a devices hosted services and to their metadata. -Publish/subscribe eventing services: allowing other devices to subscribe to asynchronous event messages Lightweight protocol, supporting dynamic discovery, … its application to automation environments is clear. en.wikipedia.org/wiki/Devices_ Profile_for_Web_Services

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2009 TU Dortmund Network Communication Protocols - e.g. JXTA - Open source peer-to-peer protocol specification. Defined as a set of XML messages that allow any device connected to a network to exchange messages and collaborate independently of the network topology. Designed to allow a range of devices to communicate. Can be implemented in any modern computer language. JXTA peers create a virtual overlay network, allowing a peer to interact with other peers even when some of the peers and resources are behind firewalls and NATs or use different network transports. Each resource is identified by a unique ID, so that a peer can change its localization address while keeping a constant identification number.

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2009 TU Dortmund Real-time data bases (1) Goal: store and retrieve persistent information Transaction= sequence of read and write operations Changes not final until they are committed Requested (ACID) properties of transactions 1.Atomic: state information as if transaction is either completed or had no effect at all. 2.Consistent: Set of values retrieved from several accesses to the data base must be possible in the world modeled. 3.Isolation: No user should see intermediate states of transactions 4.Durability: results of transactions should be persistent.

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2009 TU Dortmund Real-time data bases (2) Problems with implementing real-time data bases: 1.transactions may be aborted various times before they are finally committed. 2.For hard discs, the access times to discs are hardly predictable. Possible solutions: 1.Main memory data bases 2.Relax ACID requirements

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2009 TU Dortmund Summary Communication middleware CORBA MPI Pthreads OpenMP JXTA DPWS