chapter 10 - multiprocessor and real time scheduling Flashcards
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