chapter 10 - multiprocessor and real time scheduling Flashcards
(53 cards)
classification of multiprocessor systems?
loosely coupled, tightly coupled, functionally specialized processors
what is a loosely coupled multiprocessor?
distributed multiprocessor/cluster
Relatively autonomous systems, with each processor having its own memory and I/O channels
what is tightly coupled multiprocessesing?
Processors share main memory and are controlled by an operating system
what are functionally specialized processors?
Such as I/O processor controlled by a master processor
specialized processor controlled by a master processor
what is granularity?
the frequency of synchronization between the processes in a system.
what are the types of granularity?
independent parallelism, fine-grained, medium-grained, coarse, very coarse
what is independent parallelism?
unrelated processes, no synchronization
what is coarse-grained parallelism?
multiprocessing of concurrent processes in a multiprogramming environment
what is very coarse-grained parallelism?
distributed processing across network nodes to form a single computing environment
what is medium grained parallelism?
parallel processing or multitasking within a single application (threads)
what is fine-grained parallelism?
parallelism inherent in a single instruction stream
what do independent, coarse, and very coarse parallelism have in common?
supported by either a multiprogrammed uniprocessor or multiprocessor with little to no impact on scheduling
what makes medium grained parallelism unique?
scheduling decisions of one thread can affect the entire application’s performance
3 issues that come with scheduling on a multiprocessor
- assignment of processes to processor
- use of multiprogramming on individual processors
- actual dispatching of a process
assignment of processes to processor (issue 1) - static assignment
assigns process to a processor where it stays until finished
assignment of processes to processor (issue 1) - static assignment - advantages
May require less overhead in the scheduling function since processor assignment is only made once.
Permits group or gang scheduling
assignment of processes to processor (issue 1) - static assignment - disadvantages
Doesn’t distribute workload well (process could wait while a CPU is free)
Could periodically redistribute processes to balance the queues.
assignment of processes to processor (issue 1) - variable assignment -
Assign process from single queue to any free processor.
Distributes work-load more evenly among processors.
2 approaches for assignment of processes to processors (issue 1)
master/slave, peer approach
what is the master/slave approach in assignment of processes to processors (issue 1)
one CPU (or set of CPUs) is dedicated to OS. Schedules all jobs. Simplifies OS, but not as fault-tolerant and may be performance bottleneck.
a variation uses multiple CPUs for kernel processes
what is the peer approach in assignment of processes to processors (issue 1)
processors do self-scheduling. Complicates the OS but is more fault-tolerant
why is multiprogramming desirable in uniprocessor systems? (issue 2)
achieves better processor utilization
having a single processor be busy all the time when there are many processors may not be ideal as having applications perform better on average
explain process dispatching (issue 3)
When a single processor is used, different scheduling algorithms may be used to increase system performance or meet system objectives.
However, studies show that the particular scheduling algorithm chosen for multiprocessor systems is less important than for uniprocessor systems.
FCFS is the best for a multiprocessor system
what are the 4 approaches for multiprocessor thread scheduling?
load sharing, gang scheduling, dedicated processor assignment, dynamic scheduling