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

Slides:



Advertisements
Similar presentations
Technische universität dortmund fakultät für informatik informatik 12 Models of computation Peter Marwedel TU Dortmund Informatik 12 Graphics: © Alexandra.
Advertisements

Fakultät für informatik informatik 12 technische universität dortmund Resource Access Protocols Peter Marwedel Informatik 12 TU Dortmund Germany 2008/12/06.
Fakultät für informatik informatik 12 technische universität dortmund Optimizations - Compilation for Embedded Processors - Peter Marwedel TU Dortmund.
Fakultät für informatik informatik 12 technische universität dortmund Specifications and Modeling Peter Marwedel TU Dortmund, Informatik 12 Graphics: ©
Fakultät für informatik informatik 12 technische universität dortmund SDL Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra Nolte, Gesine.
Technische universität dortmund fakultät für informatik informatik 12 Discrete Event Models Peter Marwedel TU Dortmund, Informatik 12 Germany
Technische universität dortmund fakultät für informatik informatik 12 Specifications and Modeling Peter Marwedel TU Dortmund, Informatik
fakultät für informatik informatik 12 technische universität dortmund Optimizations - Compilation for Embedded Processors - Peter Marwedel TU Dortmund.
TU/e Service Discovery Mechanisms: two case studies / IC2002 Service Discovery Mechanisms: Two case studies Control point Device UPnP Terminal Domain Host.
MPI Message Passing Interface
COM vs. CORBA.
Technische universität dortmund fakultät für informatik informatik 12 Specifications, Modeling, and Model of Computation Jian-Jia Chen (slides are based.
Hardware/ Software Partitioning 2011 年 12 月 09 日 Peter Marwedel TU Dortmund, Informatik 12 Germany Graphics: © Alexandra Nolte, Gesine Marwedel, 2003 These.
System Software (2) Peter Marwedel TU Dortmund, Informatik 12 Germany 2013 年 11 月 26 日 These slides use Microsoft clip arts. Microsoft copyright restrictions.
Fakultät für informatik informatik 12 technische universität dortmund Imperative languages Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra.
Universität Dortmund Middleware Peter Marwedel TU Dortmund, Informatik 12 Germany Graphics: © Alexandra Nolte, Gesine Marwedel, 2003 These slides use Microsoft.
Chapter 7 Protocol Software On A Conventional Processor.
Chapter 16 Client/Server Computing Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Chapter 13 Embedded Systems
Technical Architectures
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts Essentials – 2 nd Edition Chapter 4: Threads.
Chapter 5 Processes and Threads Copyright © 2008.
DISTRIBUTED AND HIGH-PERFORMANCE COMPUTING CHAPTER 7: SHARED MEMORY PARALLEL PROGRAMMING.
1 Concurrent and Distributed Systems Introduction 8 lectures on concurrency control in centralised systems - interaction of components in main memory -
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
3.5 Interprocess Communication Many operating systems provide mechanisms for interprocess communication (IPC) –Processes must communicate with one another.
Scripting Languages For Virtual Worlds. Outline Necessary Features Classes, Prototypes, and Mixins Static vs. Dynamic Typing Concurrency Versioning Distribution.
Threads 1 CS502 Spring 2006 Threads CS-502 Spring 2006.
3.5 Interprocess Communication
1 I/O Management in Representative Operating Systems.
September 2011 At A Glance The API provides a common interface to the GMSEC software information bus. Benefits Isolates both complexity of applications.
Middleware for P2P architecture Jikai Yin, Shuai Zhang, Ziwen Zhang.
Service Broker Lesson 11. Skills Matrix Service Broker Service Broker, provides a solution to common problems with message delivery and consistency that.
Lecture 4: Parallel Programming Models. Parallel Programming Models Parallel Programming Models: Data parallelism / Task parallelism Explicit parallelism.
9/14/2015B.Ramamurthy1 Operating Systems : Overview Bina Ramamurthy CSE421/521.
ICOM 5995: Performance Instrumentation and Visualization for High Performance Computer Systems Lecture 7 October 16, 2002 Nayda G. Santiago.
B.Ramamurthy9/19/20151 Operating Systems u Bina Ramamurthy CS421.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Universität Dortmund Technische Universität Dortmund Embedded & Real-time Operating Systems Peter Marwedel TU Dortmund, Germany.
The Mach System Abraham Silberschatz, Peter Baer Galvin, Greg Gagne Presentation By: Agnimitra Roy.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Chapter 2 Processes and Threads Introduction 2.2 Processes A Process is the execution of a Program More specifically… – A process is a program.
Distributed Object Frameworks DCE and CORBA. Distributed Computing Environment (DCE) Architecture proposed by OSF Goal: to standardize an open UNIX envt.
CS533 - Concepts of Operating Systems 1 The Mach System Presented by Catherine Vilhauer.
Universität Dortmund System Software (2) Peter Marwedel TU Dortmund, Informatik 12 Germany 2012 年 11 月 28 日 These slides use Microsoft clip arts. Microsoft.
Processes CSCI 4534 Chapter 4. Introduction Early computer systems allowed one program to be executed at a time –The program had complete control of the.
The Mach System Silberschatz et al Presented By Anjana Venkat.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Embedded operating systems - Requirement: Configurability - Configurability.
G.v. Bochmann, revised Jan Comm Systems Arch 1 Different system architectures Object-oriented architecture (only objects, no particular structure)
Rights Management for Shared Collections Storage Resource Broker Reagan W. Moore
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
Survey 2: RT-CORBA Group A3 Ka Hou Wong Jahanzeb Faizan Jonathan Sippel.
Operating Systems : Overview
University of Technology
Chapter 3: Windows7 Part 4.
Knowledge Byte In this section, you will learn about:
Operating Systems : Overview
Chapter 4: Threads.
MPI-Message Passing Interface
Operating Systems Bina Ramamurthy CSE421 11/27/2018 B.Ramamurthy.
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Chapter 4: Threads.
Operating Systems : Overview
Presentation transcript:

fakultät für informatik informatik 12 technische universität dortmund Universität Dortmund Middleware Peter Marwedel TU Dortmund, Informatik 12 Germany Graphics: © Alexandra Nolte, Gesine Marwedel, 2003 These slides use Microsoft clip arts. Microsoft copyright restrictions apply 年 11 月 26 日

- 2 - technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2010 TU Dortmund Structure of this course 2: Specification 3: ES-hardware 4: system software (RTOS, middleware, …) 8: Test 5: Evaluation & validation (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, 2010 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, 2010 TU Dortmund OSEK/VDX COM  OSEK/VDX COM is a special communication standard for the OSEK automotive OS Std.  OSEK/VDX COM provides an “Interaction Layer” as an application programming interface (API) through which internal and external communication can be performed.  OSEK/VDX COM specifies just the functionality of the Interaction layer. Conforming implementations must be developed separately.  The Interaction layer communicates with other ECUs via a “Network Layer” and a “Data Link” layer. Some requirements for these layers are specified, but these layers themselves are not part of OSEK/VDX COM.

- 5 - technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2010 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.

- 6 - technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2010 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.

- 7 - technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2010 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.

- 8 - technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2010 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

- 9 - technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2010 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

technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2010 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, 2010 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, 2010 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.”)  doesn’t 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, 2010 TU Dortmund Pthreads  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, 2010 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, 2010 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, 2010 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, 2010 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 device’s 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, 2010 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, 2010 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, 2010 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, 2010 TU Dortmund Summary  Communication middleware OSEK/VDX COM CORBA MPI Pthreads OpenMP JXTA DPWS