SlideShare a Scribd company logo
1 of 40
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
Advanced Operating Systems
Lecture notes
Dr. Clifford Neuman
University of Southern California
Information Sciences Institute
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
Administration
• Class e-mail: csci555@usc.edu
• Office hours: No office hours today. Dr.
Neuman is out of town.
• Reading report #1 will be posted by
Tuesday
• Class Web page
http://gost.isi.edu/555
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
CSci555: Advanced Operating Systems
Lecture 2 – September 1, 2006
Dr. Tatyana Ryutov
University of Southern California
Information Sciences Institute
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
Outline: Communications Models
• Communication Models:
– General concepts.
– Message passing.
– Distributed shared memory (DSM).
– Remote procedure call (RPC) [Birrel et al.]
▪ Light-weight RPC [Bershad et al.]
– DSM case studies
▪ IVY [Li et al.]
▪ Linda [Carriero et al.]
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
Communication Models
• Support for processes to
communicate among themselves.
• Traditional (centralized) OS’s:
– Provide local (within single
machine) communication support.
– Distributed OS’s: must provide
support for communication across
machine boundaries.
▪ Over LAN or WAN.
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
Communication Paradigms
• 2 paradigms
– Message Passing (MP)
– Distributed Shared Memory (DSM)
• Message Passing
– Processes communicate by sending
messages.
• Distributed Shared Memory
– Communication through a “virtual shared
memory”.
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
Message Passing
• Basic communication primitives:
– Send message.
– Receive message.
• Modes of communication:
– Synchronous versus asynchronous.
• Semantics:
– Reliable versus unreliable.
...
Send
Sending Q
...
Receiving Q
Receive
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
Synchronous Communication
• Blocking send
– Blocks until message is transmitted
– Blocks until message acknowledged
• Blocking receive
– Waits for message to be received
• Process synchronization.
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
Asynchronous Communication
• Non-blocking send: sending process continues
as soon message is queued.
• Blocking or non-blocking receive:
– Blocking:
▪ Timeout.
▪ Threads.
– Non-blocking: proceeds while waiting for
message.
▪ Message is queued upon arrival.
▪ Process needs to poll or be interrupted.
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
Reliability of Communication
• Unreliable communication:
– “best effort” - send and hope for the best
– No ACKs or retransmissions.
– Application must provide its own reliability.
– Example: User Datagram Protocol (UDP)
▪ Applications using UDP either don’t need
reliability or build their own (e.g., UNIX NFS
and DNS (both UDP and TCP), some audio
or video applications)
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
Reliability of Communication
• Reliable communication:
– Different degrees of reliability.
– Processes have some guarantee that messages
will be delivered.
– Example: Transmission Control Protocol (TCP)
– Reliability mechanisms:
▪ Positive acknowledgments (ACKs).
▪ Negative Acknowledgments (NACKs).
– Possible to build reliability atop unreliable
service (E2E argument).
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
Distributed Shared Memory
• Motivated by development of shared-
memory multiprocessors which do
share memory.
• Abstraction used for sharing data
among processes running on
machines that do not share memory.
• Processes think they read from and
write to a “virtual shared memory”.
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
DSM 2
• Primitives: read and write.
• OS ensures that all processes see all
updates.
– Happens transparently to
processes.
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
DSM and MP
• DSM is an abstraction!
– Gives programmers the flavor of a centralized
memory system, which is a well-known
programming environment.
– No need to worry about communication and
synchronization.
• But, it is implemented atop MP.
– No physically shared memory.
– OS takes care of required communication.
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
Caching in DSM
• For performance, DSM caches data locally.
– More efficient access (locality).
– But, must keep caches consistent.
– Caching of pages for of page-based DSM.
• Issues:
– Page size.
– Consistency mechanism.
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
Approaches to DSM
• Hardware-based:
– Multi-processor architectures with
processor-memory modules connected
by high-speed LAN (E.g., Stanford’s
DASH).
– Specialized hardware to handle reads
and writes and perform required
consistency mechanisms.
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
Approaches to DSM
• Page-based:
– Example: IVY.
– DSM implemented as region of
processor’s virtual memory;
occupies same address space
range for every participating
process.
– OS keeps DSM data consistency
as part of page fault handling.
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
Approaches to DSM
• Library-based:
– Or language-based.
– Example: Linda.
– Language or language extensions.
– Compiler inserts appropriate library
calls whenever processes access DSM
items.
– Library calls access local data and
communicate when necessary.
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
DSM Case Studies: IVY
• Environment:”loosely coupled”
multiprocessor.
– Memory is physically distributed.
– Memory mapping managers (OS kernel):
▪ Map local memories to shared virtual space.
▪ Local memory as cache of shared virtual space.
▪ Memory reference may cause page fault; page
retrieved and consistency handled.
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
IVY
• Issues:
– Read-only versus writable data.
– Locality of reference.
– Granularity (1 Kbyte page size).
▪ Bigger pages versus smaller
pages.
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
IVY
• Memory coherence strategies:
– Page synchronization
▪ Invalidation
▪ Write broadcast
– Page ownership
▪ Fixed: page always owned by same
processor
▪ Dynamic
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
IVY Page Synchronization
• Invalidation:
– On write fault, invalidate all copies; give
faulting process write access; gets copy of
page if not already there.
– Problem: must update page on reads.
• Write broadcast:
– On write fault, fault handler writes to all
copies.
– Expensive!
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
IVY Memory Coherence
• Paper discusses approaches to memory
coherence in page-based DSM.
– Centralized: single manager
residing on a single processor
managing all pages.
– Distributed: multiple managers
on multiple processors managing
subset of pages.
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
DSM Case Studies: Linda
• Language-based approach to DSM.
• Environment:
– Similar to IVY, ie, loosely coupled
machines connected via fast
broadcast bus.
– Instead of shared address space,
processes make library calls inserted by
compiler when accessing DSM.
– Libraries access local data and
communicate to maintain consistency.
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
Linda
• DSM: tuple space.
• Basic operations:
– out (data): data added to tuple space.
– in (data): removes matching data from
TS; destructive.
– read (data): same as “in”, but tuple
remains in TS (non-destructive).
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
Linda Primitives: Examples
• out (“P”, 5, false) : tuple (“P”, 5, false)
added to TS.
– “P” : name
– Other components are data values.
– Implementation reported on the paper:
every node stores complete copy of TS.
– out (data) causes data to be broadcast
to every node.
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
Linda Primitives: Examples
• in (“P”, int I, bool b): tuple (“P”, 5,
false) removed from TS.
– If matching tuple found locally,
local kernel tries to delete tuple on
all nodes.
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
Remote Procedure Call
• Builds on MP.
• Main idea: extend traditional (local)
procedure call to perform transfer of
control and data across network.
• Easy to use: analogous to local calls.
• But, procedure is executed by a different
process, probably on a different machine.
• Fits very well with client-server model.
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
RPC Mechanism
1. Invoke RPC.
2. Calling process suspends.
3. Parameters passed across network to target
machine.
4. Procedure executed remotely.
5. When done, results passed back to caller.
6. Caller resumes execution.
Is this synchronous or asynchronous?
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
RPC Advantages
• Easy to use.
• Well-known mechanism.
• Abstract data type
– Client-server model.
– Server as collection of exported
procedures on some shared
resource.
– Example: file server.
• Reliable.
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
RPC Semantics 1
• Delivery guarantees.
• “Maybe call”:
– Clients cannot tell for sure
whether remote procedure was
executed or not due to message
loss, server crash, etc.
– Usually not acceptable.
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
RPC Semantics 2
• “At-least-once” call:
– Remote procedure executed at
least once, but maybe more than
once.
– Retransmissions but no duplicate
filtering.
– Idempotent operations OK; e.g.,
reading data that is read-only.
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
RPC Semantics 3
• “At-most-once” call
– Most appropriate for non-idempotent
operations.
– Remote procedure executed 0 or 1 time,
ie, exactly once or not at all.
– Use of retransmissions and duplicate
filtering.
– Example: Birrel et al. implementation.
▪ Use of probes to check if server
crashed.
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
RPC Implementation (Birrel et al.)
work
Caller Callee
Call
packet
Result
User
User
stub
RPC
runtime
RPC
runtime
Server
stub Server
call pck
args
xmit rcv unpk call
return
pck
result
xmit
rcv
unpk
result
return
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
RPC Implementation 2
• RPC runtime mechanism responsible
for retransmissions,
acknowledgments.
• Stubs responsible for data packaging
and un-packaging;
– AKA marshalling and un-
marshalling: putting data in form
suitable for transmission.
Example: Sun’s XDR.
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
Binding
• How to determine where server is? Which
procedure to call?
– “Resource discovery” problem
▪ Name service: advertises servers and
services.
▪ Example: Birrel et al. uses Grapevine.
• Early versus late binding.
– Early: server address and procedure name
hard-coded in client.
– Late: go to name service.
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
Synchronous & Asynchronous RPC
Synchronous Asynchronous
Client Server Client Server
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
RPC Performance
• Sources of overhead
– data copying
– scheduling and context switch.
• Light-Weight RPC
– Shows that most invocations took place on a
single machine.
– LW-RPC: improve RPC performance
for local case.
– Optimizes data copying and thread
scheduling for local case.
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
LW-RPC 1
• Argument copying
– RPC: 4 times
– copying between kernel and user
space.
– LW-RPC: common data area (A-stack)
shared by client and server and used to
pass parameters and results; access by
client or server, one at a time.
Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE
LW-RPC 2
• A-stack avoids copying between kernel
and user spaces.
• Client and server share the same thread:
less context switch (like regular calls).
A
client
user
kernel
server
1. copy args
2. traps
3. upcall
4. executes & returns

More Related Content

Similar to usc-csci555-f06-l02.ppt

Weakness and strengths of computer
Weakness and strengths of computerWeakness and strengths of computer
Weakness and strengths of computerAmanjot_kaur
 
Advancing Research at London's Global University
Advancing Research at London's Global UniversityAdvancing Research at London's Global University
Advancing Research at London's Global Universityinside-BigData.com
 
Data Management for Undergraduate Researchers
Data Management for Undergraduate ResearchersData Management for Undergraduate Researchers
Data Management for Undergraduate ResearchersRebekah Cummings
 
Research Cyberinfrastructure at UCSD - David Minor - RDAP12
Research Cyberinfrastructure at UCSD - David Minor - RDAP12Research Cyberinfrastructure at UCSD - David Minor - RDAP12
Research Cyberinfrastructure at UCSD - David Minor - RDAP12ASIS&T
 
Data Management Crash Course
Data Management Crash CourseData Management Crash Course
Data Management Crash CourseKristin Briney
 
Data Analytics: HDFS with Big Data : Issues and Application
Data Analytics:  HDFS  with  Big Data :  Issues and ApplicationData Analytics:  HDFS  with  Big Data :  Issues and Application
Data Analytics: HDFS with Big Data : Issues and ApplicationDr. Chitra Dhawale
 
Hadoop Ecosystem and Low Latency Streaming Architecture
Hadoop Ecosystem and Low Latency Streaming ArchitectureHadoop Ecosystem and Low Latency Streaming Architecture
Hadoop Ecosystem and Low Latency Streaming ArchitectureInSemble
 
Palmetto Technology Hub - Skill Sharing
Palmetto Technology Hub - Skill Sharing Palmetto Technology Hub - Skill Sharing
Palmetto Technology Hub - Skill Sharing Tina Arnoldi, MA, LPC
 
HotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William Enck
HotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William EnckHotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William Enck
HotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William EnckTao Xie
 
DuraCloud Archiving & Preservation Webinar
DuraCloud Archiving & Preservation WebinarDuraCloud Archiving & Preservation Webinar
DuraCloud Archiving & Preservation WebinarDuraSpace
 
Deploying Big Data Platforms
Deploying Big Data PlatformsDeploying Big Data Platforms
Deploying Big Data PlatformsChris Kernaghan
 
NAAL Statewide Digitization Program
NAAL Statewide Digitization ProgramNAAL Statewide Digitization Program
NAAL Statewide Digitization ProgramFSU Libraries
 
IWMW 2000: Newcastle University Case Study
IWMW 2000: Newcastle University Case StudyIWMW 2000: Newcastle University Case Study
IWMW 2000: Newcastle University Case StudyIWMW
 
Beyond the Technology: Institutional issues with implementing automated capture
Beyond the Technology: Institutional issues with implementing automated captureBeyond the Technology: Institutional issues with implementing automated capture
Beyond the Technology: Institutional issues with implementing automated capturesetstanford
 
USENIX FAST2010参加報告
USENIX FAST2010参加報告USENIX FAST2010参加報告
USENIX FAST2010参加報告Ryousei Takano
 

Similar to usc-csci555-f06-l02.ppt (20)

Weakness and strengths of computer
Weakness and strengths of computerWeakness and strengths of computer
Weakness and strengths of computer
 
20090517
2009051720090517
20090517
 
Advancing Research at London's Global University
Advancing Research at London's Global UniversityAdvancing Research at London's Global University
Advancing Research at London's Global University
 
Data Management for Undergraduate Researchers
Data Management for Undergraduate ResearchersData Management for Undergraduate Researchers
Data Management for Undergraduate Researchers
 
Research Cyberinfrastructure at UCSD - David Minor - RDAP12
Research Cyberinfrastructure at UCSD - David Minor - RDAP12Research Cyberinfrastructure at UCSD - David Minor - RDAP12
Research Cyberinfrastructure at UCSD - David Minor - RDAP12
 
Data Management Crash Course
Data Management Crash CourseData Management Crash Course
Data Management Crash Course
 
Data Analytics: HDFS with Big Data : Issues and Application
Data Analytics:  HDFS  with  Big Data :  Issues and ApplicationData Analytics:  HDFS  with  Big Data :  Issues and Application
Data Analytics: HDFS with Big Data : Issues and Application
 
Hadoop Ecosystem and Low Latency Streaming Architecture
Hadoop Ecosystem and Low Latency Streaming ArchitectureHadoop Ecosystem and Low Latency Streaming Architecture
Hadoop Ecosystem and Low Latency Streaming Architecture
 
Llauferseiler "OU Libraries: Opportunities Supporting Research and Education"
Llauferseiler "OU Libraries: Opportunities Supporting Research and Education"Llauferseiler "OU Libraries: Opportunities Supporting Research and Education"
Llauferseiler "OU Libraries: Opportunities Supporting Research and Education"
 
Palmetto Technology Hub - Skill Sharing
Palmetto Technology Hub - Skill Sharing Palmetto Technology Hub - Skill Sharing
Palmetto Technology Hub - Skill Sharing
 
HotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William Enck
HotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William EnckHotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William Enck
HotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William Enck
 
Os(vijayanand)
Os(vijayanand)Os(vijayanand)
Os(vijayanand)
 
DuraCloud Archiving & Preservation Webinar
DuraCloud Archiving & Preservation WebinarDuraCloud Archiving & Preservation Webinar
DuraCloud Archiving & Preservation Webinar
 
Data Management 101
Data Management 101Data Management 101
Data Management 101
 
Deploying Big Data Platforms
Deploying Big Data PlatformsDeploying Big Data Platforms
Deploying Big Data Platforms
 
Implementing Linked Data in Low-Resource Conditions
Implementing Linked Data in Low-Resource ConditionsImplementing Linked Data in Low-Resource Conditions
Implementing Linked Data in Low-Resource Conditions
 
NAAL Statewide Digitization Program
NAAL Statewide Digitization ProgramNAAL Statewide Digitization Program
NAAL Statewide Digitization Program
 
IWMW 2000: Newcastle University Case Study
IWMW 2000: Newcastle University Case StudyIWMW 2000: Newcastle University Case Study
IWMW 2000: Newcastle University Case Study
 
Beyond the Technology: Institutional issues with implementing automated capture
Beyond the Technology: Institutional issues with implementing automated captureBeyond the Technology: Institutional issues with implementing automated capture
Beyond the Technology: Institutional issues with implementing automated capture
 
USENIX FAST2010参加報告
USENIX FAST2010参加報告USENIX FAST2010参加報告
USENIX FAST2010参加報告
 

Recently uploaded

BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajanpragatimahajan3
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...Pooja Nehwal
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 

Recently uploaded (20)

BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 

usc-csci555-f06-l02.ppt

  • 1. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Advanced Operating Systems Lecture notes Dr. Clifford Neuman University of Southern California Information Sciences Institute
  • 2. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Administration • Class e-mail: csci555@usc.edu • Office hours: No office hours today. Dr. Neuman is out of town. • Reading report #1 will be posted by Tuesday • Class Web page http://gost.isi.edu/555
  • 3. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE CSci555: Advanced Operating Systems Lecture 2 – September 1, 2006 Dr. Tatyana Ryutov University of Southern California Information Sciences Institute
  • 4. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Outline: Communications Models • Communication Models: – General concepts. – Message passing. – Distributed shared memory (DSM). – Remote procedure call (RPC) [Birrel et al.] ▪ Light-weight RPC [Bershad et al.] – DSM case studies ▪ IVY [Li et al.] ▪ Linda [Carriero et al.]
  • 5. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Communication Models • Support for processes to communicate among themselves. • Traditional (centralized) OS’s: – Provide local (within single machine) communication support. – Distributed OS’s: must provide support for communication across machine boundaries. ▪ Over LAN or WAN.
  • 6. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Communication Paradigms • 2 paradigms – Message Passing (MP) – Distributed Shared Memory (DSM) • Message Passing – Processes communicate by sending messages. • Distributed Shared Memory – Communication through a “virtual shared memory”.
  • 7. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Message Passing • Basic communication primitives: – Send message. – Receive message. • Modes of communication: – Synchronous versus asynchronous. • Semantics: – Reliable versus unreliable. ... Send Sending Q ... Receiving Q Receive
  • 8. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Synchronous Communication • Blocking send – Blocks until message is transmitted – Blocks until message acknowledged • Blocking receive – Waits for message to be received • Process synchronization.
  • 9. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Asynchronous Communication • Non-blocking send: sending process continues as soon message is queued. • Blocking or non-blocking receive: – Blocking: ▪ Timeout. ▪ Threads. – Non-blocking: proceeds while waiting for message. ▪ Message is queued upon arrival. ▪ Process needs to poll or be interrupted.
  • 10. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Reliability of Communication • Unreliable communication: – “best effort” - send and hope for the best – No ACKs or retransmissions. – Application must provide its own reliability. – Example: User Datagram Protocol (UDP) ▪ Applications using UDP either don’t need reliability or build their own (e.g., UNIX NFS and DNS (both UDP and TCP), some audio or video applications)
  • 11. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Reliability of Communication • Reliable communication: – Different degrees of reliability. – Processes have some guarantee that messages will be delivered. – Example: Transmission Control Protocol (TCP) – Reliability mechanisms: ▪ Positive acknowledgments (ACKs). ▪ Negative Acknowledgments (NACKs). – Possible to build reliability atop unreliable service (E2E argument).
  • 12. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Distributed Shared Memory • Motivated by development of shared- memory multiprocessors which do share memory. • Abstraction used for sharing data among processes running on machines that do not share memory. • Processes think they read from and write to a “virtual shared memory”.
  • 13. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE DSM 2 • Primitives: read and write. • OS ensures that all processes see all updates. – Happens transparently to processes.
  • 14. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE DSM and MP • DSM is an abstraction! – Gives programmers the flavor of a centralized memory system, which is a well-known programming environment. – No need to worry about communication and synchronization. • But, it is implemented atop MP. – No physically shared memory. – OS takes care of required communication.
  • 15. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Caching in DSM • For performance, DSM caches data locally. – More efficient access (locality). – But, must keep caches consistent. – Caching of pages for of page-based DSM. • Issues: – Page size. – Consistency mechanism.
  • 16. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Approaches to DSM • Hardware-based: – Multi-processor architectures with processor-memory modules connected by high-speed LAN (E.g., Stanford’s DASH). – Specialized hardware to handle reads and writes and perform required consistency mechanisms.
  • 17. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Approaches to DSM • Page-based: – Example: IVY. – DSM implemented as region of processor’s virtual memory; occupies same address space range for every participating process. – OS keeps DSM data consistency as part of page fault handling.
  • 18. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Approaches to DSM • Library-based: – Or language-based. – Example: Linda. – Language or language extensions. – Compiler inserts appropriate library calls whenever processes access DSM items. – Library calls access local data and communicate when necessary.
  • 19. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE DSM Case Studies: IVY • Environment:”loosely coupled” multiprocessor. – Memory is physically distributed. – Memory mapping managers (OS kernel): ▪ Map local memories to shared virtual space. ▪ Local memory as cache of shared virtual space. ▪ Memory reference may cause page fault; page retrieved and consistency handled.
  • 20. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE IVY • Issues: – Read-only versus writable data. – Locality of reference. – Granularity (1 Kbyte page size). ▪ Bigger pages versus smaller pages.
  • 21. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE IVY • Memory coherence strategies: – Page synchronization ▪ Invalidation ▪ Write broadcast – Page ownership ▪ Fixed: page always owned by same processor ▪ Dynamic
  • 22. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE IVY Page Synchronization • Invalidation: – On write fault, invalidate all copies; give faulting process write access; gets copy of page if not already there. – Problem: must update page on reads. • Write broadcast: – On write fault, fault handler writes to all copies. – Expensive!
  • 23. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE IVY Memory Coherence • Paper discusses approaches to memory coherence in page-based DSM. – Centralized: single manager residing on a single processor managing all pages. – Distributed: multiple managers on multiple processors managing subset of pages.
  • 24. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE DSM Case Studies: Linda • Language-based approach to DSM. • Environment: – Similar to IVY, ie, loosely coupled machines connected via fast broadcast bus. – Instead of shared address space, processes make library calls inserted by compiler when accessing DSM. – Libraries access local data and communicate to maintain consistency.
  • 25. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Linda • DSM: tuple space. • Basic operations: – out (data): data added to tuple space. – in (data): removes matching data from TS; destructive. – read (data): same as “in”, but tuple remains in TS (non-destructive).
  • 26. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Linda Primitives: Examples • out (“P”, 5, false) : tuple (“P”, 5, false) added to TS. – “P” : name – Other components are data values. – Implementation reported on the paper: every node stores complete copy of TS. – out (data) causes data to be broadcast to every node.
  • 27. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Linda Primitives: Examples • in (“P”, int I, bool b): tuple (“P”, 5, false) removed from TS. – If matching tuple found locally, local kernel tries to delete tuple on all nodes.
  • 28. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Remote Procedure Call • Builds on MP. • Main idea: extend traditional (local) procedure call to perform transfer of control and data across network. • Easy to use: analogous to local calls. • But, procedure is executed by a different process, probably on a different machine. • Fits very well with client-server model.
  • 29. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE RPC Mechanism 1. Invoke RPC. 2. Calling process suspends. 3. Parameters passed across network to target machine. 4. Procedure executed remotely. 5. When done, results passed back to caller. 6. Caller resumes execution. Is this synchronous or asynchronous?
  • 30. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE RPC Advantages • Easy to use. • Well-known mechanism. • Abstract data type – Client-server model. – Server as collection of exported procedures on some shared resource. – Example: file server. • Reliable.
  • 31. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE RPC Semantics 1 • Delivery guarantees. • “Maybe call”: – Clients cannot tell for sure whether remote procedure was executed or not due to message loss, server crash, etc. – Usually not acceptable.
  • 32. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE RPC Semantics 2 • “At-least-once” call: – Remote procedure executed at least once, but maybe more than once. – Retransmissions but no duplicate filtering. – Idempotent operations OK; e.g., reading data that is read-only.
  • 33. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE RPC Semantics 3 • “At-most-once” call – Most appropriate for non-idempotent operations. – Remote procedure executed 0 or 1 time, ie, exactly once or not at all. – Use of retransmissions and duplicate filtering. – Example: Birrel et al. implementation. ▪ Use of probes to check if server crashed.
  • 34. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE RPC Implementation (Birrel et al.) work Caller Callee Call packet Result User User stub RPC runtime RPC runtime Server stub Server call pck args xmit rcv unpk call return pck result xmit rcv unpk result return
  • 35. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE RPC Implementation 2 • RPC runtime mechanism responsible for retransmissions, acknowledgments. • Stubs responsible for data packaging and un-packaging; – AKA marshalling and un- marshalling: putting data in form suitable for transmission. Example: Sun’s XDR.
  • 36. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Binding • How to determine where server is? Which procedure to call? – “Resource discovery” problem ▪ Name service: advertises servers and services. ▪ Example: Birrel et al. uses Grapevine. • Early versus late binding. – Early: server address and procedure name hard-coded in client. – Late: go to name service.
  • 37. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Synchronous & Asynchronous RPC Synchronous Asynchronous Client Server Client Server
  • 38. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE RPC Performance • Sources of overhead – data copying – scheduling and context switch. • Light-Weight RPC – Shows that most invocations took place on a single machine. – LW-RPC: improve RPC performance for local case. – Optimizes data copying and thread scheduling for local case.
  • 39. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE LW-RPC 1 • Argument copying – RPC: 4 times – copying between kernel and user space. – LW-RPC: common data area (A-stack) shared by client and server and used to pass parameters and results; access by client or server, one at a time.
  • 40. Copyright © 1995-2006 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE LW-RPC 2 • A-stack avoids copying between kernel and user spaces. • Client and server share the same thread: less context switch (like regular calls). A client user kernel server 1. copy args 2. traps 3. upcall 4. executes & returns