70 likes | 75 Views
Explore the relationship between event-based programming and interrupt handling, the implications of mixing these models, scheduling resources in event-based programming, and the challenges with event handlers. Understand the problems with static resource allocation decisions, massive concurrency, and the benefits of thread pools. Discover the effectiveness of techniques like thread pool resizing, event batching, and adaptive load shedding in handling heavy loads. Delve into the complexities and simplicities of programming threads and events in operating systems.
E N D
CS533 Concepts of Operating SystemsClass 5 Event-Based Systems
Questions • How does event-based programming relate to interrupt handling? • Where is the boundary between interrupt handling and scheduled thread execution? • What are the implications of mixing these models? CS533 - Concepts of Operating Systems
Questions • How can resources be scheduled in event-based programming? • What is the problem with event handlers blocking or performing long-lived computation? CS533 - Concepts of Operating Systems
Questions • What is the problem with making resource allocation decisions statically? • What is the Slashdot effect? • Why is massive concurrency not a good match for multi-threading? • Is web service embarrassingly parallel? • What transparency is imposed (ie., what is hidden?) by the thread-per request model? • Why does it hurt? • Why does the event handling model help? CS533 - Concepts of Operating Systems
Questions • What is a thread pool? • Why do the following techniques help during heavy load? • Thread pool resizing • Event batching • Adaptive load shedding • Why does pipeline parallelism scale well? • Thread per stage vs thread per request • What does it mean for a service to be “well conditioned”? CS533 - Concepts of Operating Systems
Questions • Do Ousterhout and Welsh contradict each other? • What is hard about programming threads? • What is easy about programming threads? • What is hard about programming events? • What is easy about programming events? CS533 - Concepts of Operating Systems
Reminder • Class 6 presenters • Discuss your presentation plans with me ahead of time • Mail me the final version of your slides BEFORE the class CS533 - Concepts of Operating Systems