1 / 44

Issues in Concurrent Systems

Explore the challenges of concurrency including mutual exclusion, starvation, deadlock, time, synchronization, and increased overhead cost.

jpina
Download Presentation

Issues in Concurrent Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lecture 27 Issues in Concurrent Systems

  2. 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!

  3. 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

  4. 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

  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. Operator 1 Operator 2 Last Seat on flight 121 Mutual Exclusion By providing mutual exclusion, we can protect a resource from being “corrupted.”

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

  8. 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 Banking Example

  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 Fred’s long job blocks others

  11. Wilma - 5 minutes priority: 2 Fred - 10 hours priority: 10 Shortest Job First Priority Queue Dino - 2 seconds priority: 1 Fast jobs first, but what if new fast jobs keep arriving? Will Fred’s job ever get served?

  12. 1 minute jobs 2 minute jobs 4 minute jobs LB Multiple Queues Job 123 Job 86 Job 13 Job 5 Job 23 8 minute jobs Job 12 Job 123

  13. 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.

  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 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.

  16. Chopsticks LB Dining Philosophers

  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. LB Dining Philosophers

  19. LB Dining Philosophers Yak

  20. LB Dining Philosophers Yak

  21. LB Dining Philosophers Yak

  22. LB Dining Philosophers Yak

  23. LB Dining Philosophers Yak

  24. LB Dining Philosophers Yak

  25. LB Dining Philosophers Yak

  26. LB Dining Philosophers Yak

  27. LB Dining Philosophers Yak Delicious!

  28. LB Dining Philosophers

  29. LB Dining Philosophers 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. LB Dining Philosophers 1 4 2 3

  33. LB Dining Philosophers 1 4 2 3

  34. LB Dining Philosophers 1 4 2 3

  35. LB Dining Philosophers 1 Yummy! 4 2 3

  36. 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.

  37. Computer 2 Computer 1 Computer 3 Time • Whose system clock is correct in a distributed system?

  38. LB 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.

  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. Context switch Time R = Task Time 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 1 2 4 8 16 32 64 128 Actual Number of Processors

  41. Operating Systems people worry about the effective allocation and coordination of resources within a single computer system. Networkingpeople 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 Specialties

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

  43. Questions?

More Related