# Concurrent Programming

Size: px
Start display at page:

## Transcription

1 Concurrent Programming Principles and Practice Gregory R. Andrews The University of Arizona Technische Hochschule Darmstadt FACHBEREICH INFCRMATIK BIBLIOTHEK Inventar-Nr.:..ZP.vAh... Sachgebiete:..?r.:..\). Standort: The Benjamin/Cummings Publishing Company, Inc. Redwood City, California Menlo Park, California Reading, Massachusetts New York Don Mills, Ontario Wokingham, U.K. Amsterdam Bonn Sydney Singapore Tokyo Madrid San Juan

2 Contents Part I Basic Concepts 1 Hardware and Applications; Synchronization; Program Properties Chapter 1 Sequential Programming Language Notation 7 Declarations; Statements; Procedures 1.2 Logic, Propositions, and Predicates 14 Formal Logical Systems; Propositions; Predicates 1.3 A Programming Logic 23 Axioms; Inference Rules 1.4 Proofs in Programming Logic 31 Proof Outlines; Equivalence and Simulation 1.5 Program Derivation 36 Weakest Preconditions; Weakest Preconditions of Statements; Linear Search Revisited; Sorting Historical Notes and References 47 Exercises 49 Chapter 2 Concurrency and Synchronization Specifying Concurrent Execution Atomic Actions and Synchronization 59 Fine-Grained Atomicity; Specifying Synchronization 2.3 Semantics of Concurrent Execution 64 xi

3 Xll 2.4 Techniques for Avoiding Interference 67 Disjoint Variables; Weakened Assertions; Global Invariants; Synchronization 2.5 Auxiliary Variables Safety and Liveness Properties 81 Proving Safety Properties; Scheduling Policies and Fairness Historical Notes and References 86 Exercises 89 Part II Shared Variables 95 Chapter 3 Fine-Grained Synchronization The Critical Section Problem 98 A Coarse-Grained Solution; Spin Locks: A Fine-Grained Solution; Implementing Await Statements 3.2 Critical Sections: Tie-Breaker Algorithm 107 A Coarse-Grained Solution; A Fine-Grained Solution; An iv-process Solution 3.3 Critical Sections: Ticket Algorithm 112 Coarse-Grained Solution; Fine-Grained Solutions 3.4 Critical Sections: Bakery Algorithm 115 Coarse-Grained Solution; A Fine-Grained Solution 3.5 Barrier Synchronization 120 Shared Counter; Flags and Coordinators; Symmetric Barriers 3.6 Data Parallel Algorithms 127 Parallel Prefix Computations; Operations on Linked Lists; Grid Computations; Synchronous Multiprocessors 3.7 On-The-Fly Garbage Collection 134 Problem Specification; Solution Outline; A Coarse-Grained Solution; A Fine-Grained Solution 3.8 Implementing Processes 146 A Single-Processor Kernel; A Multiprocessor Kernel Historical Notes and References 155 Exercises 159

4 Contents xiii Chapter 4 Semaphores Notation and Semantics Basic Uses and Programming Techniques 175 Critical Sections: Changing Variables; Barriers: Signaling Events; Producers and Consumers: Split Binary Semaphores; Bounded Buffers: Resource Counting 4.3 Selective Mutual Exclusion 189 Dining Philosophers; Readers and Writers 4.4 General Condition Synchronization 197 Readers and Writers Revisited; The Technique of Passing the Baton; Readers and Writers Solution; Alternative Scheduling Policies 4.5 Resource Allocation 204 Problem Definition and General Solution Pattern; Shortest-Job-Next Allocation 4.6 Implementation 210 Historical Notes and References 212 Exercises 214 Chapter 5 Conditional Critical Regions Notation and Semantics 226 Examples; Inference Rules; Safety and Liveness Properties 5.2 Dining Philosophers Revisited Readers/Writers Revisited 235 Readers' Preference Solution; Writers' Preference Solution 5.4 Interprocess Communication 238 Bounded Buffer With Exclusive Access; Bounded Buffer With Concurrent Access 5.5 Scheduling and Resource Allocation Implementations 245 Using Busy Waiting; Using Semaphores with Passing the Baton; Using Semaphores with Rem's Algorithm; Using a Kernel Historical Notes and References 254 Exercises 255

5 XIV Chapter 6 Monitors Programming Notation 264 Synchronization in Monitors; Additional Operations on Condition Variables 6.2 Formal Semantics and Program Proofs 271 Axioms and Proof Obligations; A Procedure Call Inference Rule; Safety and Liveness Properties; An Example: Readers and Writers 6.3 Synchronization Techniques 283 Interval Timer: Covering Conditions and Priority Wait; A Fair Semaphore: Passing the Condition; The Sleeping Barber Problem: Rendezvous 6.4 Disk Scheduling: Program Structures 295 Scheduler as a Separate Monitor; Scheduler as an Intermediary 6.5 Alternative Approaches to Synchronization 305 Alternative Signaling Disciplines; Equivalence of the Signaling Disciplines; Differences Between the Signaling Disciplines; Alternatives to Mutual Exclusion; Path Expressions 6.6 Implementations 319 Using Semaphores; Using a Kernel Historical Notes and References 325 Exercises 329 Part III Message Passing 339 Chapter 7 Asynchronous Message Passing Programming Notation Formal Semantics 346 Axioms and Satisfaction Proofs; Auxiliary Variables and Non-interference; An Example; Safety and Liveness Properties 7.3 Filters: A Sorting Network 355

6 Contents XV 7.4 Clients and Servers 359 Active Monitors; A Self-Scheduling Disk Driver; File Servers: Conversational Continuity 7.5 Heartbeat Algorithms 370 Network Topology: Shared-Variable Solution; Network Topology: Distributed Solution 7.6 Probe/Echo Algorithms 376 Broadcast in a Network; Network Topology Revisited 7.7 Broadcast Algorithms 383 Logical Clocks and Event Ordering; Distributed Semaphores 7.8 Token-Passing Algorithms 388 Distributed Mutual Exclusion; Termination Detection in a Ring; Termination Detection in a Graph 7.9 Replicated Servers 396 Replicated Files; Replicated Workers: Adaptive Quadrature 7.10 Implementations 402 Shared-Memory Kernel; Distributed Kernel Historical Notes and References 410 Exercises 415 Chapter 8 Synchronous Message Passing Programming Notation 424 Communication Statements; Guarded Communication 8.2 Formal Semantics 429 Axioms, Inference Rules, and Satisfaction Proofs; Auxiliary Variables and Non-interference; An Example; Safety and Liveness Properties 8.3 Networks of Filters 439 Prime Number Generation: The Sieve of Eratosthenes; Matrix/Vector Multiplication 8.4 Interacting Parallel Processes 443 Parallel Sorting: A Heartbeat Algorithm; Parallel Prefix Computations; Matrix Multiplication: Broadcast Algorithm; Matrix Multiplication: Heartbeat Algorithm

7 XVI 8.5 Clients and Servers 453 Resource Allocation; File Servers and Conversational Continuity; Centralized Dining Philosophers; Decentralized Dining Philosophers 8.6 Implementations 460 Centralized Clearing House; Decentralized Implementations Historical Notes and References 472 Exercises 474 Chapter 9 RPC and Rendezvous Remote Procedure Call 484 Synchronization in Modules; A Time Server; Caches in a Distributed File System; A Sorting Network of Merge Filters; Formal Semantics 9.2 Rendezvous 494 Client/Server Examples; A Sorting Network of Merge Filters; Formal Semantics; An Example Proof; Safety and Liveness Properties 9.3 A Multiple Primitives Notation 509 Invoking and Servicing Operations; Examples; Formal Semantics 9.4 Clients and Servers 515 Readers/Writers Revisited: Encapsulated Access; Replicated Files; Network Topology Using Probe/Echo Algorithms 9.5 Parallel Algorithms 522 Region Labeling: A Heartbeat Algorithm; The Traveling Salesman Problem: Replicated Workers 9.6 Implementations 529 RPC in a Kernel; Rendezvous Using Asynchronous Message Passing; Multiple Primitives in a Kernel Historical Notes and References 540 Exercises 543

8 Contents xvii Part IV Practice 551 Chapter 10 Language Overviews Turing Plus: Monitors 555 Program Structure; Process Interaction; Example: File Difference Checker 10.2 Occam: Synchronous Message Passing 561 Program Structure; Sequential and Parallel Constructors; Communication and Synchronization; Example: Prime Number Sieve 10.3 Ada: Rendezvous 567 Program Components; Communication and Synchronization; Example: The Dining Philosophers 10.4 SR: Multiple Primitives 575 Program Components; Communication and Synchronization; "- Example: The Traveling Salesman Problem 10.5 Linda: Distributed Data Structures 581 Tuple Space and Process Interaction; Example: Prime Numbers with Replicated Workers 10.6 Comparison and Performance 588 Performance Experiments; Interpretation of Results Historical Notes and References 593 Exercises 598 Glossary 603 Bibliography 607 Index 627

### Operating Systems Principles

bicfm page i Operating Systems Principles Lubomir F. Bic University of California, Irvine Alan C. Shaw University of Washington, Seattle PEARSON EDUCATION INC. Upper Saddle River, New Jersey 07458 bicfm

### Mutual Exclusion using Monitors

Mutual Exclusion using Monitors Some programming languages, such as Concurrent Pascal, Modula-2 and Java provide mutual exclusion facilities called monitors. They are similar to modules in languages that

### OPERATING SYSTEMS Internais and Design Principles

OPERATING SYSTEMS Internais and Design Principles FOURTH EDITION William Stallings, Ph.D. Prentice Hall Upper Saddle River, New Jersey 07458 CONTENTS Web Site for Operating Systems: Internais and Design

### PARALLEL PROGRAMMING

PARALLEL PROGRAMMING TECHNIQUES AND APPLICATIONS USING NETWORKED WORKSTATIONS AND PARALLEL COMPUTERS 2nd Edition BARRY WILKINSON University of North Carolina at Charlotte Western Carolina University MICHAEL

### Real Time Programming: Concepts

Real Time Programming: Concepts Radek Pelánek Plan at first we will study basic concepts related to real time programming then we will have a look at specific programming languages and study how they realize

### ADVANCED COMPUTER ARCHITECTURE: Parallelism, Scalability, Programmability

ADVANCED COMPUTER ARCHITECTURE: Parallelism, Scalability, Programmability * Technische Hochschule Darmstadt FACHBEREiCH INTORMATIK Kai Hwang Professor of Electrical Engineering and Computer Science University

### Contents PART I: Background

Contents List of Figures List of Tables xvii xxv PART I: Background 1 1. INTRODUCTION 3 1.1 Why Parallel Processing? 3 1.2 Parallel Architectures 4 1.2.1 SIMD Systems 5 1.2.2 MIMD Systems 6 1.3 Job Scheduling

### Chapter 18: Database System Architectures. Centralized Systems

Chapter 18: Database System Architectures! Centralized Systems! Client--Server Systems! Parallel Systems! Distributed Systems! Network Types 18.1 Centralized Systems! Run on a single computer system and

### Windows Sockets Network Programming

Windows Sockets Network Programming Bob Quinn Dave Shute TT ADDISON-WESLEY PUBLISHING COMPANY Reading, Massachusetts Menlo Park, California New York Don Mills, Ontario Wokingham, England Amsterdam Bonn

### Centralized Systems. A Centralized Computer System. Chapter 18: Database System Architectures

Chapter 18: Database System Architectures Centralized Systems! Centralized Systems! Client--Server Systems! Parallel Systems! Distributed Systems! Network Types! Run on a single computer system and do

### Genetic Algorithms in Search, Optimization, and Machine Learning

Genetic Algorithms in Search, Optimization, and Machine Learning David E. Goldberg The University of Alabama TT ADDISON-WESLEY PUBLISHING COMPANY, INC. Reading, Massachusetts Menlo Park, California Sydney

### Lecture Overview. Multiple Processors. Multiple processors. Continuous need for faster computers

Lecture Overview Multiple processors Multiprocessors UMA versus NUMA Hardware configurations OS configurations Process scheduling Multicomputers Interconnection configurations Network interface User-level

### Chapter 17: Database System Architectures

Chapter 17: Database System Architectures Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Chapter 17: Database System Architectures Centralized and Client-Server Systems

### Principles and characteristics of distributed systems and environments

Principles and characteristics of distributed systems and environments Definition of a distributed system Distributed system is a collection of independent computers that appears to its users as a single

### The Unified Software Development Process

The Unified Software Development Process Technieche Universal Darmstadt FACHBEREICH IN-FORMAHK BLIOTHEK Ivar Jacobson Grady Booch James Rumbaugh Rational Software Corporation tnventar-nsr.: Sachgebiete:

### MultiMedia and Imaging Databases

MultiMedia and Imaging Databases Setrag Khoshafian A. Brad Baker Technische H FACHBEREIGM W-C^KA VK B_l_3JLJ0 T H E K Inventar-N*.: Sachgebiete: Standort: Morgan Kaufmann Publishers, Inc. San Francisco,

### A Tutorial Introduction 1

Preface From the Old to the New Acknowledgments xv xvii xxi Verilog A Tutorial Introduction 1 Getting Started 2 A Structural Description 2 Simulating the binarytoeseg Driver 4 Creating Ports For the Module

### Client/Server Computing Distributed Processing, Client/Server, and Clusters

Client/Server Computing Distributed Processing, Client/Server, and Clusters Chapter 13 Client machines are generally single-user PCs or workstations that provide a highly userfriendly interface to the

### Lecture 6: Semaphores and Monitors

HW 2 Due Tuesday 10/18 Lecture 6: Semaphores and Monitors CSE 120: Principles of Operating Systems Alex C. Snoeren Higher-Level Synchronization We looked at using locks to provide mutual exclusion Locks

### Chapter 8 Multiple Processor Systems. 8.1 Multiprocessors 8.2 Multicomputers 8.3 Distributed systems

Chapter 8 Multiple Processor Systems 8.1 Multiprocessors 8.2 Multicomputers 8.3 Distributed systems Multiprocessor Systems Continuous need for faster computers shared memory model message passing multiprocessor

### Multiprocessor Systems. Chapter 8 Multiple Processor Systems. Multiprocessors. Multiprocessor Hardware (1)

Chapter 8 Multiple Processor Systems Multiprocessor Systems 8.1 Multiprocessors 8.2 Multicomputers 8.3 Distributed systems Continuous need for faster computers shared memory model message passing multiprocessor

### END TERM Examination, May 2014 (Model Test Paper) B.Tech (IT) IV Semester

END TERM Examination, May 2014 (Model Test Paper) B.Tech (IT) IV Semester Paper Code: ETCS - 212 Subject: Operating Systems Time: 3 hrs Maximum Marks: 75 Note: Attempt five questions including Q. No. 1

### Weighted Total Mark. Weighted Exam Mark

CMP2204 Operating System Technologies Period per Week Contact Hour per Semester Total Mark Exam Mark Continuous Assessment Mark Credit Units LH PH TH CH WTM WEM WCM CU 45 30 00 60 100 40 100 4 Rationale

### PROJECT MANAGEMENT A Managerial Approach

PROJECT MANAGEMENT A Managerial Approach Jack R. Meredith Samuel J. Mantel, Jr. University of Cincinnati TECHNISCHE HOCHSCHULE DARMSTADT G e s o in t b i b I i o I h e k B.Qt n e t> : w i rlachaftslehre

### Distributed Operating Systems Introduction

Distributed Operating Systems Introduction Ewa Niewiadomska-Szynkiewicz and Adam Kozakiewicz ens@ia.pw.edu.pl, akozakie@ia.pw.edu.pl Institute of Control and Computation Engineering Warsaw University of

### Synchronization. Todd C. Mowry CS 740 November 24, 1998. Topics. Locks Barriers

Synchronization Todd C. Mowry CS 740 November 24, 1998 Topics Locks Barriers Types of Synchronization Mutual Exclusion Locks Event Synchronization Global or group-based (barriers) Point-to-point tightly

### OPERATING SYSTEMS (OPS)

Computing Curricula - Computer Engineering Body of Knowledge 1 OPERATING SYSTEMS (OPS) OPS0. History and overview of operating systems [core] OPS1. Operating system function and design [core] OPS2. Operating

### Software Modeling and Verification

Software Modeling and Verification Alessandro Aldini DiSBeF - Sezione STI University of Urbino Carlo Bo Italy 3-4 February 2015 Algorithmic verification Correctness problem Is the software/hardware system

### Chapter 6, The Operating System Machine Level

Chapter 6, The Operating System Machine Level 6.1 Virtual Memory 6.2 Virtual I/O Instructions 6.3 Virtual Instructions For Parallel Processing 6.4 Example Operating Systems 6.5 Summary Virtual Memory General

### END TERM Examination(Model Test Paper) Fourth Semester[B.Tech]

END TERM Examination(Model Test Paper) Fourth Semester[B.Tech] Paper Code: ETCS - 212 Subject: Operating System Time: 3 hrs Maximum Marks: 75 Note: Q.No.1 is compulsory. Attempt any four questions of remaining

### Client/Server and Distributed Computing

Adapted from:operating Systems: Internals and Design Principles, 6/E William Stallings CS571 Fall 2010 Client/Server and Distributed Computing Dave Bremer Otago Polytechnic, N.Z. 2008, Prentice Hall Traditional

### Formal Engineering for Industrial Software Development

Shaoying Liu Formal Engineering for Industrial Software Development Using the SOFL Method With 90 Figures and 30 Tables Springer Contents Introduction 1 1.1 Software Life Cycle... 2 1.2 The Problem 4 1.3

### Ailed Software. Christine Hofmeister Robert Nord Dilip Soni

Ailed Software Ar chitecture Christine Hofmeister Robert Nord Dilip Soni TT ADDISON-WESLEY An imprint of Addison Wesley Longman, Inc. Reading, Massachusetts Harlow, England Menlo Park, California Berkeley,

### key points from previous lecture Overview of Presentation Disables and Spin-locks revisited Interrupts when to disable them

Overview of Presentation key points from previous lecture Spin-locks, Interrupts and Exclusion reasonable use of interrupt routines and disabling spin locks revisited, and sleep/wakeup exclusion Semaphores

### OPERATING SYSTEM PART-A UNIT-1 INTRODUCTION TO OPERATING SYSTEMS, SYSTEM STRUCTURES

OPERATING SYSTEM PART-A UNIT-1 INTRODUCTION TO OPERATING SYSTEMS, SYSTEM STRUCTURES 1. Define an operating system. Discuss its role with user and system viewpoints 2. Give the features of symmetric and

### ML for the Working Programmer

ML for the Working Programmer 2nd edition Lawrence C. Paulson University of Cambridge CAMBRIDGE UNIVERSITY PRESS CONTENTS Preface to the Second Edition Preface xiii xv 1 Standard ML 1 Functional Programming

### Concurrent programming in Java

Concurrent programming in Java INF4140 04.10.12 Lecture 5 0 Book: Andrews - ch.05 (5.4) Book: Magee & Kramer ch.04 - ch.07 INF4140 (04.10.12) Concurrent programming in Java Lecture 5 1 / 33 Outline 1 Monitors:

### Tools Page 1 of 13 ON PROGRAM TRANSLATION. A priori, we have two translation mechanisms available:

Tools Page 1 of 13 ON PROGRAM TRANSLATION A priori, we have two translation mechanisms available: Interpretation Compilation On interpretation: Statements are translated one at a time and executed immediately.

### The Oracle Universal Server Buffer Manager

The Oracle Universal Server Buffer Manager W. Bridge, A. Joshi, M. Keihl, T. Lahiri, J. Loaiza, N. Macnaughton Oracle Corporation, 500 Oracle Parkway, Box 4OP13, Redwood Shores, CA 94065 { wbridge, ajoshi,

### A Systematic Approach. to Parallel Program Verication. Tadao TAKAOKA. Department of Computer Science. Ibaraki University. Hitachi, Ibaraki 316, JAPAN

A Systematic Approach to Parallel Program Verication Tadao TAKAOKA Department of Computer Science Ibaraki University Hitachi, Ibaraki 316, JAPAN E-mail: takaoka@cis.ibaraki.ac.jp Phone: +81 94 38 5130

### OPERATING SYSTEMS PROCESS SYNCHRONIZATION

OPERATING SYSTEMS PROCESS Jerry Breecher 6: Process Synchronization 1 OPERATING SYSTEM Synchronization What Is In This Chapter? This is about getting processes to coordinate with each other. How do processes

### Lecture 4: Synchronization Primitives

Lecture 4: Synchronization Primitives CS178: Programming Parallel and Distributed Systems February 5, 2001 Steven P. Reiss I. Overview A. Topics covered last time 1. Different types of synchronization

### Distributed Systems LEEC (2005/06 2º Sem.)

Distributed Systems LEEC (2005/06 2º Sem.) Introduction João Paulo Carvalho Universidade Técnica de Lisboa / Instituto Superior Técnico Outline Definition of a Distributed System Goals Connecting Users

### TCP/IP Illustrated, Volume 2 The Implementation

TCP/IP Illustrated, Volume 2 The Implementation W. Richard Stevens Gary R. Wright ADDISON-WESLEY PUBLISHING COMPANY Reading, Massachusetts Menlo Park, California New York Don Mills, Ontario Wokingham,

### C#5.0 IN A NUTSHELL. Joseph O'REILLY. Albahari and Ben Albahari. Fifth Edition. Tokyo. Sebastopol. Beijing. Cambridge. Koln.

Koln C#5.0 IN A NUTSHELL Fifth Edition Joseph Albahari and Ben Albahari O'REILLY Beijing Cambridge Farnham Sebastopol Tokyo Table of Contents Preface xi 1. Introducing C# and the.net Framework 1 Object

### Virtual Time and Timeout in Client-Server Networks

Virtual Time and Timeout in Client-Server Networks Jayadev Misra July 13, 2011 Contents 1 Introduction 2 1.1 Background.............................. 2 1.1.1 Causal Model of Virtual Time...............

### How to Make a Correct Multiprocess Program Execute Correctly on a Multiprocessor

How to Make a Correct Multiprocess Program Execute Correctly on a Multiprocessor Leslie Lamport 1 Digital Equipment Corporation February 14, 1993 Minor revisions January 18, 1996 and September 14, 1996

### CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS What is an operating? A collection of software modules to assist programmers in enhancing efficiency, flexibility, and robustness An Extended Machine from the users

### A Survey of Parallel Processing in Linux

A Survey of Parallel Processing in Linux Kojiro Akasaka Computer Science Department San Jose State University San Jose, CA 95192 408 924 1000 kojiro.akasaka@sjsu.edu ABSTRACT Any kernel with parallel processing

### NEURAL NETWORK FUNDAMENTALS WITH GRAPHS, ALGORITHMS, AND APPLICATIONS

NEURAL NETWORK FUNDAMENTALS WITH GRAPHS, ALGORITHMS, AND APPLICATIONS N. K. Bose HRB-Systems Professor of Electrical Engineering The Pennsylvania State University, University Park P. Liang Associate Professor

### Parallel Computing for Data Science

Parallel Computing for Data Science With Examples in R, C++ and CUDA Norman Matloff University of California, Davis USA (g) CRC Press Taylor & Francis Group Boca Raton London New York CRC Press is an imprint

### Programming Language Pragmatics

Programming Language Pragmatics THIRD EDITION Michael L. Scott Department of Computer Science University of Rochester ^ШШШШШ AMSTERDAM BOSTON HEIDELBERG LONDON, '-*i» ЩЛ< ^ ' m H NEW YORK «OXFORD «PARIS»SAN

### REAL TIME OPERATING SYSTEMS. Lesson-10:

REAL TIME OPERATING SYSTEMS Lesson-10: Real Time Operating System 1 1. Real Time Operating System Definition 2 Real Time A real time is the time which continuously increments at regular intervals after

### Operating system/it0307

Operating system/it0307 For B.Tech V sem Prepared by- Mullai.P Asst.Professor[O.G] Yaashuwanth.C Asst.Professor[O.G] Department of IT Module 1: Introduction What is an operating system? Simple Batch Systems

### Introduction. Part I: Finding Bottlenecks when Something s Wrong. Chapter 1: Performance Tuning 3

Wort ftoc.tex V3-12/17/2007 2:00pm Page ix Introduction xix Part I: Finding Bottlenecks when Something s Wrong Chapter 1: Performance Tuning 3 Art or Science? 3 The Science of Performance Tuning 4 The

### Distributed Systems [Fall 2012]

Distributed Systems [Fall 2012] [W4995-2] Lec 6: YFS Lab Introduction and Local Synchronization Primitives Slide acks: Jinyang Li, Dave Andersen, Randy Bryant (http://www.news.cs.nyu.edu/~jinyang/fa10/notes/ds-lec2.ppt,

### jackdmp: Jack server for multi-processor machines Stéphane Letz, Yann Orlarey, Dominique Fober Grame, centre de création musicale Lyon, France

jackdmp: Jack server for multi-processor machines Stéphane Letz, Yann Orlarey, Dominique Fober Grame, centre de création musicale Lyon, France 1 Main objectives To take advantage of multi-processor architectures:

### Concepts of Concurrent Computation

Chair of Software Engineering Concepts of Concurrent Computation Bertrand Meyer Sebastian Nanz Lecture 3: Synchronization Algorithms Today's lecture In this lecture you will learn about: the mutual exclusion

### Operating Systems 4 th Class

Operating Systems 4 th Class Lecture 1 Operating Systems Operating systems are essential part of any computer system. Therefore, a course in operating systems is an essential part of any computer science

### Operating Systems. Distributed Systems. A distributed system is:

Operating Systems Interface between the hardware and the rest: editors, compilers, database systems, application programs, your programs, etc. Allows portability, enables easier programming, The manager

### Computer Organization

Computer Organization and Architecture Designing for Performance Ninth Edition William Stallings International Edition contributions by R. Mohan National Institute of Technology, Tiruchirappalli PEARSON

### SYSTEM ecos Embedded Configurable Operating System

BELONGS TO THE CYGNUS SOLUTIONS founded about 1989 initiative connected with an idea of free software ( commercial support for the free software ). Recently merged with RedHat. CYGNUS was also the original

### COMPUTER NETWORKS SECOND EDITION. ANDREW S.fjANENBAUM. Vrije Universiteit Amsterdam, The Netherlands. Nachrichtentechnische Bib'iothek THD Inv.

COMPUTER NETWORKS SECOND EDITION ANDREW S.fjANENBAUM Vrije Universiteit Amsterdam, The Netherlands Nachrichtentechnische Bib'iothek THD Inv.-Ni,: tq(s ULB Darmstadt iiiiiir 17800787 =3JE Prentice-Hall

### Networks and parallelism

Networks and parallelism CSE-C3200 Operating systems Autumn 2015 (I), Lecture 9 Vesa Hirvisalo Today Middleware Something between the OS and applications SOAP and DDS as the examples Network virtualization

### Chapter 2 Operating System Overview

Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 2 Operating System Overview Dave Bremer Otago Polytechnic, N.Z. 2008, Prentice Hall Roadmap Operating System Objectives/Functions

### Windows8 Internals, Sixth Edition, Part 1

Microsoft Windows8 Internals, Sixth Edition, Part 1 Mark Russinovich David A. Solomon Alex lonescu Windows Internals, Sixth Edition, Part i Introduction xvii Chapter 1 Concepts and Tools 1 Windows Operating

### Introduction. What is an Operating System?

Introduction What is an Operating System? 1 What is an Operating System? 2 Why is an Operating System Needed? 3 How Did They Develop? Historical Approach Affect of Architecture 4 Efficient Utilization

### Completing the Big Data Ecosystem:

Completing the Big Data Ecosystem: in sqrrl data INC. August 3, 2012 Design Drivers in Analysis of big data is central to our customers requirements, in which the strongest drivers are: Scalability: The

### ESD2531- Embedded RTOS

ESD2531- Embedded RTOS Module Leader Deepak V. 1 Module Aims and Summary This module intends to prepare students to design and develop the embedded software using Real-Time Operating System (RTOS). Students

### Pro.NET Performance. Apress' Sasha Goldshtein. Dima Zurbalev Ido Flatow

Pro.NET Performance Sasha Goldshtein Dima Zurbalev Ido Flatow Apress' Contents Foreword About the Authors About the Technical Reviewers Acknowledgments Introduction xv xvii xix xxi xxiii Chapter 1: Performance

### EE458 - Embedded Systems Lecture 5 Intro to RTOSes

EE458 - Embedded Systems Lecture 5 Intro to RTOSes Outline RTOS Components Multitasking Objects Services Key Characteristics of an RTOS RTEMS Key Concepts References RTC: Chapter 4 CUG: Chapter 2 1 Introduction

### Parallel Databases. Parallel Architectures. Parallelism Terminology 1/4/2015. Increase performance by performing operations in parallel

Parallel Databases Increase performance by performing operations in parallel Parallel Architectures Shared memory Shared disk Shared nothing closely coupled loosely coupled Parallelism Terminology Speedup:

### Software Configuration Management Using Vesta

Allan Heydon Roy Levin Timothy Mann Yuan Yu Software Configuration Management Using Vesta Springer Contents Preface vii Part I Introducing Vesta 1 Introduction 5 1.1 Some Scenarios 6 1.2 The Connguration

### LOCAL AREA NETWORKS. Second Edition. David A. Stamper. ADDISON-WESLEY An imprint of Addison Wesley Longman, Inc.

LOCAL AREA NETWORKS Second Edition David A. Stamper ^ ADDISON-WESLEY An imprint of Addison Wesley Longman, Inc. Reading, Massachusetts Menlo Park, California New York Harlow, England Don Mills, Ontario

### Far-western University Central Office, Mahendranagar Operating System

Far-western University Central Office, Mahendranagar Operating System Course Title: Operating Systems Credit: 3+1 Course No: B.Sc. CS OS 231 hour 45+15 Nature of the Course: Theory + Lab Year: 2 nd, Semester:

### Chapter 13 Embedded Operating Systems

Operating Systems: Internals and Design Principles Chapter 13 Embedded Operating Systems Eighth Edition By William Stallings Embedded System Refers to the use of electronics and software within a product

### MODULE 11- DESIGN OF SYNCHRONOUS SEQUENTIAL COUNTERS AND STATE MACHINES

Introduction to Digital Electronics Module 11: Design of Sequential Counters and State Machines 1 MODULE 11- DESIGN OF SYNCHRONOUS SEQUENTIAL COUNTERS AND STATE MACHINES OVERVIEW: A synchronous sequential

### Principles of Distributed Database Systems

M. Tamer Özsu Patrick Valduriez Principles of Distributed Database Systems Third Edition

OPERATING SYSTEMS IIIT-Hyderabad OVERVIEW Introduction What is an OS/Kernel? Bootstrap program Interrupts and exceptions Volatile and Non volatile storage!!! Process Management What is a process/system

### COMMMUNICATING COOPERATING PROCESSES

COMMMUNICATING COOPERATING PROCESSES The producer-consumer paradigm A buffer of items can be filled by the producer and emptied by the consumer. The producer and the consumer must be synchronized: the

### Oracle Fusion Middleware

Oracle Fusion Middleware Modeling and Implementation Guide for Oracle Business Process Management 11g Release 1 (11.1.1) E15176-02 July 2010 Describes how to design and implement business processes using

### Operating Systems (OS)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 Operating Systems (OS) An operating system defines an abstraction of hardware and manages resource sharing among the computer s users. The topics in this area explain the

### COS 318: Operating Systems. Virtual Machine Monitors

COS 318: Operating Systems Virtual Machine Monitors Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall10/cos318/ Introduction Have been around

### Hagit Attiya and Eshcar Hillel. Computer Science Department Technion

Hagit Attiya and Eshcar Hillel Computer Science Department Technion !!" What are highly-concurrent data structures and why we care about them The concurrency of existing implementation techniques Two ideas

### Why Computers Are Getting Slower (and what we can do about it) Rik van Riel Sr. Software Engineer, Red Hat

Why Computers Are Getting Slower (and what we can do about it) Rik van Riel Sr. Software Engineer, Red Hat Why Computers Are Getting Slower The traditional approach better performance Why computers are

### UNIT 1 OPERATING SYSTEM FOR PARALLEL COMPUTER

UNIT 1 OPERATING SYSTEM FOR PARALLEL COMPUTER Structure Page Nos. 1.0 Introduction 5 1.1 Objectives 5 1.2 Parallel Programming Environment Characteristics 6 1.3 Synchronisation Principles 1.3.1 Wait Protocol

### Cloud Computing. Theory and Practice. Dan C. Marinescu. Morgan Kaufmann is an imprint of Elsevier HEIDELBERG LONDON AMSTERDAM BOSTON

Cloud Computing Theory and Practice Dan C. Marinescu AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY TOKYO M< Morgan Kaufmann is an imprint of Elsevier

### File System Implementation II

Introduction to Operating Systems File System Implementation II Performance, Recovery, Network File System John Franco Electrical Engineering and Computing Systems University of Cincinnati Review Block

### INDUSTRIAL CONTROL TECHNOLOGY. A Handbook for Engineers and Researchers. Peng Zhang. Beijing Normal University, People's Republic of China

INDUSTRIAL CONTROL TECHNOLOGY A Handbook for Engineers and Researchers Peng Zhang Beijing Normal University, People's Republic of China Ш I William I Andrew Norwich, NY, USA Contents Preface 1 Sensors

### Lesson-12: Inter process communication

INTER-PROCESS COMMUNICATION AND SYNCHRONISATION: Lesson-12: Inter process communication 1 1. Inter Process Communication 2 Inter Processor Communication Inter processor communication in a multiprocessor

### Chapter 1 FUNDAMENTALS OF OPERATING SYSTEM

Chapter 1 FUNDAMENTALS OF OPERATING SYSTEM An operating system is a program that acts as an intermediary between a user of a computer and the computer hardware. The purpose of an operating system is to

### The Data Warehouse Challenge

The Data Warehouse Challenge Taming Data Chaos Michael H. Brackett Technische Hochschule Darmstadt Fachbereichsbibliothek Informatik TU Darmstadt FACHBEREICH INFORMATIK B I B L I O T H E K Irwentar-Nr.:...H.3...:T...G3.ty..2iL..

### THE UNIVERSITY OF AUCKLAND

THE UNIVERSITY OF AUCKLAND 07.340 T07.340 EXAMINATION FOR BA BSc ETC 1995 COMPUTER SCIENCE Operating Systems ( Time allowed : THREE hours ) NOTES: Answer SIX questions. The total mark for each question

### Computing Concepts with Java Essentials

2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Computing Concepts with Java Essentials 3rd Edition Cay Horstmann

### Introduction to Multiprocessors (Part I) Prof. Cristina Silvano Politecnico di Milano

Introduction to Multiprocessors (Part I) Prof. Cristina Silvano Politecnico di Milano Outline Key issues to design multiprocessors Interconnection network Centralized shared-memory architectures Distributed

### independent systems in constant communication what they are, why we care, how they work

Overview of Presentation Major Classes of Distributed Systems classes of distributed system loosely coupled systems loosely coupled, SMP, Single-system-image Clusters independent systems in constant communication

### SWARM: A Parallel Programming Framework for Multicore Processors. David A. Bader, Varun N. Kanade and Kamesh Madduri

SWARM: A Parallel Programming Framework for Multicore Processors David A. Bader, Varun N. Kanade and Kamesh Madduri Our Contributions SWARM: SoftWare and Algorithms for Running on Multicore, a portable

### Computer Science 4302 Operating Systems. Student Learning Outcomes

Computer Science 4302 Operating Systems Student Learning Outcomes 1. The student will learn what operating systems are, what they do, and how they are designed and constructed. The student will be introduced