CS533 Concepts of Operating Systems Class 6 The Duality of Threads and Events.

Slides:



Advertisements
Similar presentations
Extensibility, Safety and Performance in the SPIN Operating System Presented by Allen Kerr.
Advertisements

Chess Review May 8, 2003 Berkeley, CA Compiler Support for Multithreaded Software Jeremy ConditRob von Behren Feng ZhouEric Brewer George Necula.
Lightweight Remote Procedure Call Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy Presented by Alana Sweat.
Chapter 4: Multithreaded Programming
Big Picture Lab 4 Operating Systems Csaba Andras Moritz.
CS533 Concepts of Operating Systems Class 5 Integrated Task and Stack Management.
1 Threads CSCE 351: Operating System Kernels Witawas Srisa-an Chapter 4-5.
CS533 Concepts of Operating Systems Class 3 Monitors.
Stacks and HeapsCS-3013 A-term A Short Digression on Stacks and Heaps CS-3013 Operating Systems A-term 2008 (Slides include materials from Modern.
CS533 Concepts of Operating Systems Class 5 Event-Based Systems.
CS533 Concepts of Operating Systems Class 8 Remote Procedure Call & LRPC.
CS533 Concepts of Operating Systems Class 20 Summary.
CS533 Concepts of Operating Systems Class 7 Virtualization and Exokernels.
CS533 Concepts of Operating Systems Class 5 System Structuring using Layers & Micro-Kernel Based OSs.
Digression on Stack and Heaps CS-502 (EMC) Fall A Short Digression on Stacks and Heaps CS-502, Operating Systems Fall 2009 (EMC) (Slides include.
CS533 Concepts of Operating Systems Class 8 Shared Memory Implementations of Remote Procedure Call.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 5: Threads Overview Multithreading Models Threading Issues Pthreads Solaris.
CS533 Concepts of Operating Systems Class 16 Exokernel.
CS533 Concepts of Operating Systems Class 14 Virtualization.
CS533 Concepts of Operating Systems Class 7 System Structuring using Layers and Micro-kernels.
CS533 Concepts of Operating Systems Class 11 System Structuring using Layers.
CS533 Concepts of Operating Systems Class 5 Event-Based Systems.
CS533 Concepts of Operating Systems Class 6 The Duality of Threads and Events.
CS533 Concepts of Operating Systems Class 4 Remote Procedure Call.
Intro to Computer Architecture
CS533 Concepts of Operating Systems Class 5 Event-Based Systems.
Threads CSCI 444/544 Operating Systems Fall 2008.
CS533 Concepts of Operating Systems Class 2 Thread vs Event-Based Programming.
CS533 Concepts of Operating Systems Class 7 Integrated Task and Stack Management.
CS533 Concepts of Operating Systems Class 8 System Structuring using Layers.
Object-oriented Programming Concepts
CS533 Concepts of Operating Systems Class 2 The Duality of Threads and Events.
CS533 - Concepts of Operating Systems 1 Class Discussion.
CS533 Concepts of Operating Systems Class 3 Integrated Task and Stack Management.
CS533 Concepts of Operating Systems Class 9 User-Level Remote Procedure Call.
Inter-Process Communication  most OSs provide several abstractions for inter- process communication: message passing, shared memory, etc.  communication.
Stacks and HeapsCS-502 Fall A Short Digression Stacks and Heaps CS-502, Operating Systems Fall 2007 (Slides include materials from Operating System.
User-Level Interprocess Communication for Shared Memory Multiprocessors Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy Presented.
1 I/O Management in Representative Operating Systems.
Why Events Are A Bad Idea (for high-concurrency servers) Rob von Behren, Jeremy Condit and Eric Brewer Computer Science Division, University of California.
CS533 Concepts of Operating Systems Class 4 Remote Procedure Call.
CS533 Concepts of Operating Systems Class 14 Extensible Virtual Memory Management.
CS533 Concepts of Operating Systems Class 9 Lightweight Remote Procedure Call (LRPC) Rizal Arryadi.
Chapter 51 Threads Chapter 5. 2 Process Characteristics  Concept of Process has two facets.  A Process is: A Unit of resource ownership:  a virtual.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 4: Threads.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 5: Threads Overview Multithreading Models Threading Issues Pthreads Solaris.
SEDA: An Architecture for Well-Conditioned, Scalable Internet Services Presented by Changdae Kim and Jaeung Han OFFENCE.
Advanced / Other Programming Models Sathish Vadhiyar.
Concurrent Programming. Concurrency  Concurrency means for a program to have multiple paths of execution running at (almost) the same time. Examples:
Processes Introduction to Operating Systems: Module 3.
CS333 Intro to Operating Systems Jonathan Walpole.
Multithreaded Programing. Outline Overview of threads Threads Multithreaded Models  Many-to-One  One-to-One  Many-to-Many Thread Libraries  Pthread.
Thread By Group III Kathryn Bean and Wafa’ Jaffal.
ITEC 352 Lecture 19 Functions in Assembly. Functions + Assembly Review Questions? Project due on Friday Stacks Function activation / deactivation.
By: Rob von Behren, Jeremy Condit and Eric Brewer 2003 Presenter: Farnoosh MoshirFatemi Jan
CS533 Concepts of Operating Systems Jonathan Walpole.
CS533 Concepts of Operating Systems Jonathan Walpole.
Operating Systems Unit 2: – Process Context switch Interrupt Interprocess communication – Thread Thread models Operating Systems.
Big Picture Lab 4 Operating Systems C Andras Moritz
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
Storage Classes There are three places in memory where data may be placed: In Data section declared with .data in assembly language in C - Static) On the.
Processes and threads.
CS533 Concepts of Operating Systems
CS533 Concepts of Operating Systems Class 10
CS533 Concepts of Operating Systems Class 16
CS533 Concepts of Operating Systems Class 7
EE 4xx: Computer Architecture and Performance Programming
CS533 Concepts of Operating Systems Class 11
Thread Model for Work Unit
CS533 Concepts of Operating Systems Class 14
Presentation transcript:

CS533 Concepts of Operating Systems Class 6 The Duality of Threads and Events

CS533 - Concepts of Operating Systems 2 Questions  Are event-based and multi-threaded programming really duals of each other?  How does message communication map to procedure call/return? o Synchronous message passing o Asynchronous message passing  Are they the same underneath? o How would you implement message passing? o How would you implement procedure calling?

CS533 - Concepts of Operating Systems 3 Questions  Should the choice depend on the underlying architecture? o What does this mean anyway?  Is the cost of synchronization for sharing in-place in thread models the same as the cost of copying for message passing models? o Does hardware provide better support for one than the other?

CS533 - Concepts of Operating Systems 4 Questions  What is the costs of pushing state onto the stack and popping it off, vs the cost of allocating copying then freeing message memory? o How would you optimize local message passing? o What conventions would you need to follow to avoid needing synchronization? o How does this compare to local state in procedure calling? o How might you optimize pointer passing? o What does this remind you of?

CS533 - Concepts of Operating Systems 5 Questions  Is threading just an automated pattern of memory management that is done manually in event models?  Do the two models have equal memory consumption? o Did it matter before, and does it today? o Is over-allocation of memory inevitable in thread-based systems?

CS533 - Concepts of Operating Systems 6 Questions  Do both models present the same scheduling choices? o Do they have the same locality of reference behavior? o Does this matter?  Are both models equivalent with respect to dynamic allocation of hardware resources (CPUs)?  Are both models equivalent with respect to maintaining processor affinity? o Is it better to maintain good code locality or good data locality?

CS533 - Concepts of Operating Systems 7 Questions  What are the relative levels of abstraction for o Threads/procedures o Events/messages o Monitors  What is the relationship between design patterns and programming language support for a model?

CS533 - Concepts of Operating Systems 8 Reminder  Class 7 presenters o Discuss your presentation plans with me ahead of time o Mail me the final version of your slides BEFORE the class