View
61
Download
5
Category
Tags:
Preview:
DESCRIPTION
Lecture 27. Issues in Concurrent Systems. LB. Online Survey. The Spring term course/instructor opinion survey will be available during the period Monday, April 17th through Friday, April 28th from 6am to 11:59pm each day: http://www.coursesurvey.gatech.edu. Fabulous Prizes!. LB. - PowerPoint PPT Presentation
Citation preview
Issues in Concurrent Systems
Online Survey
The Spring term course/instructor opinion survey will be available during the period Monday, April 17th through Friday, April 28th from 6am to 11:59pm each day:
http://www.coursesurvey.gatech.edu
LB
Final Exam Schedule
• CS1311 Sections L/M/N Tuesday/Thursday 10:00 A.M.
• Exam Scheduled for 8:00 Friday May 5, 2000• Physics L1
LB
Final Exam Schedule
• CS1311 Sections E/F Tuesday/Thursday 2:00 P.M.
• Exam Scheduled for 2:50 Wednesday May 3, 2000• Physics L1
LB
Issues in Concurrent Systems
• Concurrency is great, but there are some problems to be addressed:– Mutual exclusion (protection)– Starvation (fairness)– Deadlock– Time– Synchronization– Increased Cost of Overhead
Mutual Exclusion
By providing mutual exclusion, we can protect a resource from being “corrupted.”
Last Seaton flight 121
Operator 1 Operator 2
Banking Example
• Gertrude makes $100 deposit
• Get current balance of $500
• balance = 500 + 100 = 600• Write new balance back to
disk thus on disk = $600
• Heathcliffe requests $100 withdrawl
• Get current balance of $500• balance = 500 - 100 = 400
• Write new balance back to disk thus on disk = $400
TimeSlice
LB
Banking Example• Gertrude makes $100
deposit• Request and get AcctLock• Get current balance of $500
from disk
• balance = 500 + 100 = 600• Write back balance = $600• Release AcctLock
• Heathcliffe requests $100 withdrawl
• Request AcctLock• Wait(AcctLock)
• Get AcctLock• Read balance = 600• balance = 600 - 100 = 500• Write back $500
LB
Fairness
• Multiple processors (users) competing for a resource.
• Make sure that all jobs get serviced (have access to the resource) fairly.
• Policies include:– Shortest job first– First come, first served– More sophisticated schemes
First Come, First Served
Fred - 10 hours
Wilma - 5 minutes
Dino - 2 seconds
Fred’s long job blocks others
Shortest Job First
Dino - 2 secondsPriority Queue
priority: 1
Wilma - 5 minutespriority: 2
Fred - 10 hourspriority: 10
Fast jobs first, but what if new fast jobs keep arriving? Will Fred’s job ever get served?
Multiple Queues
1 minute jobs
2 minute jobs
4 minute jobs
8 minute jobs
Job 123 Job 86
Job 5
Job 123
Job 13
Job 23
Job 12
LB
Typical Multiple Queue Rules
• Jobs that take longer than expected get moved
down.
• Jobs that less time than expected get moved up.
• Jobs that have been waiting a long time get
moved up.
LB
Deadlock
When sharing resources, jobs can get into never-ending waits:
Job A Job B
resource C resource D
A has resource C, needs DB has resource D, needs C
Preventing Deadlock
• There are several algorithms to prevent deadlock:– Require resources to always be
acquired in a particular order.– If the job can’t acquire all the resources
it needs for a particular task, it frees all the resources it has reserved.
– Establish priorities for resource queues.
Dining Philosophers
Chopsticks
LB
Algorithm DiningPhilosophersLoopexitif(no more food)
Engage in philosophical discussion
Get left chopstick
Get right chopstick
Eat some food with chopsticks
Put chopsicks downEndloop
LB
Dining Philosophers
LB
Dining PhilosophersYak
LB
Dining Philosophers
Yak
LB
Dining Philosophers
Yak
LB
Dining Philosophers
Yak
LB
Dining Philosophers
Yak
LB
Dining Philosophers
Yak
LB
Dining PhilosophersYak
LB
Dining Philosophers
Yak
LB
Dining PhilosophersYak
Delicious!
LB
Dining Philosophers
LB
Dining Philosophers
Deadlock!
LB
Algorithm DiningPhilosophersLoopexitif(no more food)
Engage in philosophical discussion
Get left chopstick
Get right chopstick
Eat some food with chopsticks
Put chopsicks downEndloop
Stuck here!
LB
Preventing Philosopher Deadlock
• Add a resource– Add a chopstick in the middle.
• Alter the order of acquisition– Number the chopsticks in sequence– Change algorithm to take odd numbered
chopstick first.
Dining Philosophers
4
3
2
1
LB
Dining Philosophers
4
3
2
1
LB
Dining Philosophers
4
3
2
1
LB
Dining Philosophers
4
3
2
1
Yummy!
LB
Preventing Philosopher Deadlock• Add a resource
– Add a chopstick in the middle.• Alter the order of acquisition
– Number the chopsticks in sequence– Change algorithm to take odd numbered
chopstick first.• Have a “back-off and try again” policy
– If a philosopher waits for a chopstick for more than a few minutes, release held chopstick.
LB
Time
Computer 1Computer 2
Computer 3
• Whose system clock is correct in a distributed system?
Time
• Hardware Approach: Develop highly sophisticated atomic clocks and synchronize off of US standard time clock.
• Software Approach: Use algorithms that don’t rely on real time at all!
• Mix of the two.
LB
Synchronization
Process1
Process2
• What if one process wants to exchange data with another process?
• How do the processes “get together” to coordinate their communication?
• Asynchronous vs Synchronous Operations
Impact of Processing Overhead
2 4 8 16 32 64 1281
248
163264
128
1
R = 0
R = 0.001
R = 0.02
R = 0.1
Actual Number of Processors
Effe
ctiv
e nu
mbe
r of
Proc
esso
rs
R = Context switch TimeTask Time
CS Specialties• Operating Systems people worry about the
effective allocation and coordination of resources within a single computer system.
• Networking people worry about effective communication between multiple computer systems over networks.
• Database people worry about providing fast access to specific data (located within large amounts of data) while protecting the integrity of data from corruption by multiple concurrent users.
• Hardware Architecture people worry about how processors are designed so that they can work effectively with algorithms, compilers and data structures.
CS Core Specialty Areas• Systems• Theory• Languages/Compilers• Architecture• Database• Networking/Telecom• HCI• Security• Biocomputing• ...
LB
Questions?
Recommended