Chapter 10 (Multiprocessor and Real-Time Scheduling) Flashcards
What are the classifications of multiprocessor systems?
Loosely coupled
Tightly coupled
Functionally specialized
Which classification of multiprocessor systems have its own memory and I/O channels?
Loosely coupled
Which classification of multiprocessor systems share main memory and are controlled by an OS?
Tightly coupled
What are the different levels of granularity?
Independent parallelism
Course/Very coarse-grained parallelism
Medium-grained parallelism
Fine-grained parallelism
What is independent parallelism?
Unrelated processes, no synchronization
What is course/Very coarse-grained parallelism
Gross level of synchronization
What is medium-grained parallelism
Parallelism within an application (threads)
What is fine-grained parallelism
Parallelism within an instruction stream
Which granularity has this characteristic: Scheduling decisions of one thread may affect the performance of the entire application.
Medium-grained parallelism
Which granularity has this characteristic: Supported by either a multiprogrammed uniprocessor or a multiprocessor with little or no impact on scheduling.
Independent, course, and very-course parallelsim
What are the two methods of assigning processes to processors?
Static assignment
Variable assignment
Advantages of static assignment
May require less overhead in the scheduling function since processor assignment is only made once
Permits group or gang scheduling
What are the disadvantages of static assignment?
Doesn’t distribute workload well (process could wait while CPU is free)
What are characteristics of variable assignment?
Assigns process from single queue to any free processor
Distributes work load more evenly
Cost of scheduling a process is independent of the particular processor on which it is scheduled
What are some means to decide which process will execute on which processor?
Master/slave
Peer approach
What is the peer approach?
Processors do self-scheduling