On the Duality of Operating System Structures

Slides:



Advertisements
Similar presentations
1 SEDA: An Architecture for Well- Conditioned, Scalable Internet Services Matt Welsh, David Culler, and Eric Brewer Computer Science Division University.
Advertisements

CMPT 300: Operating Systems I Dr. Mohamed Hefeeda
Concurrency, Thread and Event CS6410 Sept 6, 2011 Ji-Yong Shin.
Hugh Lauer Xerox Corporation Roger Needham Cambridge University Presented by Vidhya Priyadharshnee Palaniswamy Gnanam Spring 2011.
Why Events Are A Bad Idea (for high-concurrency servers) By Rob von Behren, Jeremy Condit and Eric Brewer.
1 On the Duality of Operating System Structures by Hugh C. Lauer, Xerox Corporation and Roger M. Needham, Cambridge University Presented by Scott Fletcher.
Chapter 3: Processes. 3.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Objectives Understand Process concept Process scheduling Creating.
1/28/2004CSCI 315 Operating Systems Design1 Operating System Structures & Processes Notice: The slides for this lecture have been largely based on those.
“Why Events are a Bad Idea (For high-concurrency servers)” Paper by Rob von Behren, Jeremy Condit and Eric Brewer, May 2003 Presentation by Loren Davis,
1 On the Duality of Operating System Structures Hugh Lauer, Xerox Roger Needham, Cambridge University Oct 1978, reprinted April 1979 Presented by David.
On the Duality of Operating System Structures Hugh Lauer Xerox Corporation Roger Needham Cambridge University Presented by Yahia Mahmoud.
1 Process Description and Control Chapter 3 = Why process? = What is a process? = How to represent processes? = How to control processes?
Why Events Are A Bad Idea (for high-concurrency servers) Rob von Behren, Jeremy Condit and Eric Brewer Computer Science Division, University of California.
On the Duality of Operating System Structures Hugh C. Lauer Xerox Corporation Roger M. Needham Cambridge University Presented By: Ashwini Kulkarni.
SEDA: An Architecture for Well-Conditioned, Scalable Internet Services
Why Events Are A Bad Idea (for high-concurrency servers) Rob von Behren, Jeremy Condit and Eric Brewer Presented by: Hisham Benotman CS533 - Concepts of.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 14, 2005 Operating System.
Dave Archer - CS533 - Spring On the Duality of Operating System Structures Hugh C. Lauer, Roger M. Needham.
On the Duality of Operating System Structures 1. Hugh C. Lauer Xerox Corporation Palo Alto, Californi a Roger M. Needham Cambridge University Cambridge,
SEDA: An Architecture for Well-Conditioned, Scalable Internet Services Presented by Changdae Kim and Jaeung Han OFFENCE.
CS533 - Concepts of Operating Systems 1 On The Duality of Operating System Structures Hugh Lauer, Xerox Roger Needham, Cambridge University 1979 Presented.
ON THE DUALITY OF OPERATING SYSTEM STRUCTURES Hugh C. Lauer and Roger M. Needham Presented by: Ali R. Butt (adapted from many slides available online and.
Middleware Services. Functions of Middleware Encapsulation Protection Concurrent processing Communication Scheduling.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 4: Threads.
Presenting: Why Events Are A “Bad” Idea ( for high-concurrency servers) Paper by: Behren, Condit and Brewer, 2003 Presented by: Rania Elnaggar 1/30/2008.
By: Rob von Behren, Jeremy Condit and Eric Brewer 2003 Presenter: Farnoosh MoshirFatemi Jan
1 Why Events Are A Bad Idea (for high-concurrency servers) By Rob von Behren, Jeremy Condit and Eric Brewer (May 2003) CS533 – Spring 2006 – DONG, QIN.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 4: Threads.
REVIEW OF “ON THE DUALITY OF OPERATING SYSTEM STRUCTURES” Paper by Hugh C. Lauer and Roger M. Needham Presentation by Erin Chapman.
Paper Review of Why Events Are A Bad Idea (for high-concurrency servers) Rob von Behren, Jeremy Condit and Eric Brewer By Anandhi Sundaram.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 4: Processes Process Concept Process Scheduling Types of shedulars Process.
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 4: Threads.
Introduction to Operating Systems Concepts
Chapter 4: Threads Modified by Dr. Neerja Mhaskar for CS 3SH3.
Introduction to threads
Kernel Design & Implementation
Advanced Operating Systems CIS 720
SEDA: An Architecture for Scalable, Well-Conditioned Internet Services
Why Events Are A Bad Idea (for high-concurrency servers)
On the Duality of Operating System Structures
Concurrency, threads, and events
Processes and Threads Processes and their scheduling
Day 12 Threads.
Process Management Presented By Aditya Gupta Assistant Professor
CS533 Concepts of Operating Systems
Chapter 4: Threads.
CGS 3763 Operating Systems Concepts Spring 2013
Process Description and Control
Threads Chapter 4.
Process Description and Control
Multithreaded Programming
Hugh Lauer Xerox Corporation Roger Needham Cambridge University
Process Description and Control
Process Description and Control
Process Description and Control
Operating Systems : Overview
Process Description and Control
Operating Systems : Overview
Why Threads Are A Bad Idea (for most purposes)
Chapter 2 Processes and Threads 2.1 Processes 2.2 Threads
CS510 Operating System Foundations
Why Events Are a Bad Idea (for high concurrency servers)
Process Description and Control
Outline Chapter 2 (cont) Chapter 3: Processes Virtual machines
On the Duality of Operating System Structures
Why Threads Are A Bad Idea (for most purposes)
Why Threads Are A Bad Idea (for most purposes)
Threads CSE 2431: Introduction to Operating Systems
CS533 Concepts of Operating Systems Class 4
Presentation transcript:

On the Duality of Operating System Structures - Lauer, Needham Presented by – Kapil Ahuja 11/28/2018

Key Point Message-oriented system Procedure-oriented system * Image from OSC 11/28/2018

Tracker Basics Message Oriented System Procedure Oriented System Obv.1 & 2: Duality Mapping & Similar Programs Observation3: Performance Preservation Finally: Which One to Use? Should you Change? Conclusion 11/28/2018

Basics (Terminology) In Paper (1970’s) Today (2000’s) Message Oriented Event Based Procedure Oriented Thread Based Mapping not exact as events today use: Cooperative multitasking (basically non-preemptive multitasking) Shared memory These not present in message oriented system of paper 11/28/2018

Basics (Introduction) Most OS and internet servers can be classified using message or procedure oriented system Type1: Style very close to one model or the other Type2: Subsystems correspond to one model or the other Type3: Ill-structured and unstable 11/28/2018

Basics (Objectives) Eliminate uninformed controversy about which is “better” to build. In general: Message oriented – simpler concurrency model Procedure oriented – simpler & natural programming style Eliminate several degrees of freedom in the design process 11/28/2018

Tracker Basics Message Oriented System Procedure Oriented System Obv.1 & 2: Duality Mapping & Similar Programs Observation3: Performance Preservation Finally: Which One to Use? Should you Change? Conclusion 11/28/2018

Message Oriented System Characterized by: Small number of (relatively static) big processes Explicit set of message channels Limited amount of direct sharing of data in memory Examples: Real-time systems General OS: IBM's OS/360, GEC 4080 11/28/2018

Tracker Basics Message Oriented System Procedure Oriented System Obv.1 & 2: Duality Mapping & Similar Programs Observation3: Performance Preservation Finally: Which One to Use? Should you Change? Conclusion 11/28/2018

Procedure Oriented System Characterized by: Large number of very small processes Rapid creation and deletion of processes Communication by means of direct sharing of data in memory Examples: HYDRA Plessey System 250 11/28/2018

Tracker Basics Message Oriented System Procedure Oriented System Obv.1 & 2: Duality Mapping & Similar Programs Observation3: Performance Preservation Finally: Which One to Use? Should you Change? Conclusion 11/28/2018

Obv. 1 & 2: Duality Mapping & Similar Programs Message-oriented system Procedure-oriented … message ports SendReply … procedure identifiers simple RETURN (from procedure) monitor Servers SendMessage; AwaitReply (immediate) SendMessage;... AwaitReply (delayed) procedure call FORK; . . .JOIN 11/28/2018

….Obv. 1 & 2 (Contd.) – Server’s Message-oriented Procedure-oriented begin m: messageBody i:messageId, p:portId, s:set of portId resourceExhausted: boolean flag do forever [m, i, p] = WaitForMessage[s] case p of port 1 =>... port 2 =>... if resourceExhausted then s = s - port2; SendReply[i, reply]; … port L =>. s = s + port 2 ... endcase endloop end ResourceManager: MONITOR = C: CONDITION resourceExhausted: BOOLEAN proc 1: ENTRY PROCEDURE[…] =… proc 2: ENTRY PROCEDURE[...] RETURNS[…] = BEGIN IF resourceExhausted THEN WAIT C RETURN [results] ... END proc L: ENTRY PROCEDURE[...] = resourceExhausted = FALSE SIGNAL C … 11/28/2018

Obv. 1 & 2: Duality Mapping & Similar Programs Message-oriented system Procedure-oriented … message ports SendReply … procedure identifiers simple RETURN (from procedure) monitor Clients SendMessage; AwaitReply (immediate) SendMessage;... AwaitReply (delayed) procedure call FORK; . . .JOIN 11/28/2018

….Obv. 1 & 2 (Contd.) Open Question Procedure Message Is having a no reasonable counterpart a good thing? Procedure Message 11/28/2018

Tracker Basics Message Oriented System Procedure Oriented System Obv.1 & 2: Duality Mapping & Similar Programs Observation3: Performance Preservation Finally: Which One to Use? Should you Change? Conclusion 11/28/2018

Obv3: Performance Preservation 3 components of the dynamic behavior: Execution times of programs themselves Computational overhead of primitive system operations Queuing and waiting times reflecting congestion and sharing of resources 11/28/2018

…Obv3 (Contd.) - Execution Times same info. in data struct. same client code same additions etc. same computing power 11/28/2018

Obv3: Performance Preservation 3 components of the dynamic behavior: Execution times of programs themselves Computational overhead of primitive system operations Queuing and waiting times reflecting congestion and sharing of resources 11/28/2018

…Obv3 (Contd.) – Comput. Overhead This implies the background things can be made equally efficient. Example: Message oriented – Send Message OR Procedure oriented – Call a procedure Manipulate Queue Force Context Switch * Image from OSC 11/28/2018

Obv3: Performance Preservation 3 components of the dynamic behavior: Execution times of programs themselves Computational overhead of primitive system operations Queuing and waiting times reflecting congestion and sharing of resources 11/28/2018

Tracker Basics Message Oriented System Procedure Oriented System Obv.1 & 2: Duality Mapping & Similar Programs Observation3: Performance Preservation Finally: Which One to Use? Should you Change? Conclusion 11/28/2018

Finally: Which One to Use? Depends on the substrate upon which the system is built Basically the following criteria's: Organization of real & virtual memory Ease of scheduling and dispatching Arrangement of peripheral devices & interrupts Architecture of instruction set & programmable registers Thus advantages to have a system in which changing from one form to other is easy 11/28/2018

Tracker Basics Message Oriented System Procedure Oriented System Obv.1 & 2: Duality Mapping & Similar Programs Observation3: Performance Preservation Finally: Which One to Use? Should you Change? Conclusion 11/28/2018

Should you Change? Not easy to change to reflect the suggested duality Why? Underlying addressing structures etc. tightly bound to the design Transformation to a dual version not justified by the second order gains Example where easy to change: Cambridge CAP Computer 11/28/2018

Tracker Basics Message Oriented System Procedure Oriented System Obv.1 & 2: Duality Mapping & Similar Programs Observation3: Performance Preservation Finally: Which One to Use? Should you Change? Conclusion 11/28/2018

Conclusion: Still Controversial! It was a empirical study i.e. no rigorous proofs Thus, number of people still disagree to this duality 11/28/2018

My Evaluation: Summary “It's alright -- you're both doing ok, and you're not that different.” In modern times: …….up to a constant factor of crashes. 11/28/2018

My Eval.: Intercomputer Comm. Message oriented system preferred Why? Easier to implement How? No troubles like the shared memory server as in procedure oriented Shared Memory Server Kernel A Kernel B 11/28/2018

References Papers: Books: Others: On the Duality of Operating System Structures - Lauer, Needham Why Events Are A Bad Idea (for high-concurrency servers) - Rob von Behren, Jeremy Condit and Eric Brewer SEDA: An Architecture for Well-Conditioned, Scalable Internet Services - Matt Welsh, David Culler, and Eric Brewer Books: Operating System Concepts – Silberschatz, Galvin, Gagne Modern Operating Systems – Tanenbaum Others: Summary by Jonathan Ledlie at Harvard University Presentation by David Allen at Portland State University Presentation by Mehmet Belgin at Virginia Tech 11/28/2018

Questions? 11/28/2018