Issues in Concurrent Systems - PowerPoint PPT Presentation

1 / 44
About This Presentation
Title:

Issues in Concurrent Systems

Description:

Title: Issues in Concurrent Systems Last modified by: Bill Leahy Created Date: 7/14/1999 6:02:01 PM Document presentation format: On-screen Show Other titles – PowerPoint PPT presentation

Number of Views:55
Avg rating:3.0/5.0
Slides: 45
Provided by: ccGatech9
Learn more at: http://www.cc.gatech.edu
Category:

less

Transcript and Presenter's Notes

Title: Issues in Concurrent Systems


1
Issues in Concurrent Systems
Lecture 27
2
Online Survey
LB
  • The Spring term course/instructor opinion survey
    will be available during the period Monday, April
    17th through Friday, April 28th from 6am to
    1159pm each day
  • http//www.coursesurvey.gatech.edu

Fabulous Prizes!
3
Final Exam Schedule
LB
  • CS1311 Sections L/M/N Tuesday/Thursday 1000 A.M.
  • Exam Scheduled for 800 Friday May 5, 2000
  • Physics L1

4
Final Exam Schedule
LB
  • CS1311 Sections E/F Tuesday/Thursday 200 P.M.
  • Exam Scheduled for 250 Wednesday May 3, 2000
  • Physics L1

5
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

6
Mutual Exclusion
  • By providing mutual exclusion, we can protect a
    resource from being corrupted.

7
Banking Example
LB
  • 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

Time Slice
Final Answer?
8
Banking Example
LB
  • 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

9
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

10
First Come, First Served
Fred - 10 hours
Wilma - 5 minutes
Dino - 2 seconds
Freds long job blocks others
11
Shortest Job First
Priority Queue
Dino - 2 seconds
priority 1
Fast jobs first, but what if new fast jobs keep
arriving? Will Freds job ever get served?
12
Multiple Queues
LB
Job 123
Job 86
Job 5
Job 13
Job 23
8 minute jobs
Job 123
Job 12
13
Typical Multiple Queue Rules
LB
  • 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.

14
Deadlock
  • When sharing resources, jobs can get into
    never-ending waits

Job B
Job A
resource D
resource C
A has resource C, needs D B has resource D, needs
C
15
Preventing Deadlock
  • There are several algorithms to prevent deadlock
  • Require resources to always be acquired in a
    particular order.
  • If the job cant acquire all the resources it
    needs for a particular task, it frees all the
    resources it has reserved.
  • Establish priorities for resource queues.

16
Dining Philosophers
LB
17
LB
  • Algorithm DiningPhilosophers
  • Loop
  • exitif(no more food)
  • Engage in philosophical discussion
  • Get left chopstick
  • Get right chopstick
  • Eat some food with chopsticks
  • Put chopsicks down
  • Endloop

18
Dining Philosophers
LB
19
Dining Philosophers
LB
Yak
20
Dining Philosophers
LB
Yak
21
Dining Philosophers
LB
Yak
22
Dining Philosophers
LB
Yak
23
Dining Philosophers
LB
Yak
24
Dining Philosophers
LB
Yak
25
Dining Philosophers
LB
Yak
26
Dining Philosophers
LB
Yak
27
Dining Philosophers
LB
Yak
Delicious!
28
Dining Philosophers
LB
29
Dining Philosophers
LB
Deadlock!
30
LB
  • Algorithm DiningPhilosophers
  • Loop
  • exitif(no more food)
  • Engage in philosophical discussion
  • Get left chopstick
  • Get right chopstick
  • Eat some food with chopsticks
  • Put chopsicks down
  • Endloop

Stuck here!
31
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.

32
Dining Philosophers
LB
1
4
2
3
33
Dining Philosophers
LB
1
4
2
3
34
Dining Philosophers
LB
1
4
2
3
35
Dining Philosophers
LB
1
Yummy!
4
2
3
36
Preventing Philosopher Deadlock
LB
  • 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.

37
Time
  • Whose system clock is correct in a distributed
    system?

38
Time
LB
  • Hardware Approach Develop highly sophisticated
    atomic clocks and synchronize off of US standard
    time clock.
  • Software Approach Use algorithms that dont rely
    on real time at all!
  • Mix of the two.

39
Synchronization
  • 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

Process 2
Process 1
40
Impact of Processing Overhead
128
R 0
64
R 0.001
32
Effective number of Processors
16
R 0.02
8
R 0.1
4
2
1
2
4
8
16
32
64
128
1
Actual Number of Processors
41
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.

42
CS Core Specialty Areas
LB
  • Systems
  • Theory
  • Languages/Compilers
  • Architecture
  • Database
  • Networking/Telecom
  • HCI
  • Security
  • Biocomputing
  • ...

43
Questions?
44
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com