Chapter 10 (Multiprocessor and Real-Time Scheduling) Flashcards

(41 cards)

1
Q

What are the classifications of multiprocessor systems?

A

Loosely coupled

Tightly coupled

Functionally specialized

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Which classification of multiprocessor systems have its own memory and I/O channels?

A

Loosely coupled

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Which classification of multiprocessor systems share main memory and are controlled by an OS?

A

Tightly coupled

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the different levels of granularity?

A

Independent parallelism

Course/Very coarse-grained parallelism

Medium-grained parallelism

Fine-grained parallelism

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is independent parallelism?

A

Unrelated processes, no synchronization

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is course/Very coarse-grained parallelism

A

Gross level of synchronization

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is medium-grained parallelism

A

Parallelism within an application (threads)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is fine-grained parallelism

A

Parallelism within an instruction stream

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Which granularity has this characteristic: Scheduling decisions of one thread may affect the performance of the entire application.

A

Medium-grained parallelism

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Which granularity has this characteristic: Supported by either a multiprogrammed uniprocessor or a multiprocessor with little or no impact on scheduling.

A

Independent, course, and very-course parallelsim

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are the two methods of assigning processes to processors?

A

Static assignment

Variable assignment

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Advantages of static assignment

A

May require less overhead in the scheduling function since processor assignment is only made once

Permits group or gang scheduling

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are the disadvantages of static assignment?

A

Doesn’t distribute workload well (process could wait while CPU is free)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are characteristics of variable assignment?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What are some means to decide which process will execute on which processor?

A

Master/slave

Peer approach

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is the peer approach?

A

Processors do self-scheduling

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What is the master/slave approach?

A

One CPU dedicated to OS and schedules all jobs

18
Q

T/F The particular scheduling algorithm chosen for multiprocessor systems is less important than for uniprocessor systems

19
Q

What are four approaches for multiprocessor thread scheduling?

A

Load sharing

Gang scheduling

Dedicated processor assignment

Dynamic scheduling

20
Q

Advantages of load sharing

A

Even distribution of work across CPU’s

No centralized scheduler required

Each processor selects a process from a global ready queue

21
Q

Disadvantages of load sharing

A

Global queue may become a bottleneck

Preempted threads unlikely to resume on same CPU, less efficient caching

Unlikely to have all threads of a program executing at the same time

22
Q

What is gang scheduling?

A

Scheduling threads of a single process to run at the same time

23
Q

How does dedicated processor assignment result in a speedup?

A

Avoids process switching by dedicating a group of processors to an application for the duration of its execution

24
Q

What are unused allocated processors in dedicated processor assignment similar to?

A

Fragmentation

25
What is a hard real-time task?
One that must meet its deadline or else it could cause system failure
26
What is a soft real-time task?
One that should meet its deadline but is not mandatory.
27
What are aperiodic real-time tasks?
Has a deadline or time constraint by which it must start or finish
28
What are periodic real-time tasks?
Once per time period T, or exactly T time units apart
29
What are the characteristics of real-time operating systems?
``` Determinism Responsiveness User control Reliability Fail-soft operation ```
30
What is determinism?
The extent to which the OS performs an operation at fixed, predetermined times or within predetermined time intervals
31
What is responsiveness?
How long it takes to service an interrupt once it has been acknowledged
32
What is user control?
User is given a much higher degree of control over the scheduling of tasks in a real-time OS
33
What is fail-soft operation?
The ability to fail in such a way as to preserve as much capability and data as possible
34
What's the difference between fail-safe and fail-soft?
Fail-soft maintains partial functionality while fail-safe avoids unsafe behavior
35
What are the four basic approaches to real-time scheduling?
Static table-driven Static priority-driven Dynamic planning-based Dynamic best effort
36
What is static table-driven scheduling?
Schedule is computed in advance from set of jobs and their requirements
37
What is static priority-driven?
Priorities are assigned to jobs in advance from set of jobs and their requirements
38
What is dynamic planning-based?
Allows accepting new tasks at run-time
39
What is dynamic best effort?
Assigns priorities based on task characteristics
40
T/F Rate-Monotonic scheduling performs worse than earliest deadline scheduling
F, it performs almost as well as earliest deadline
41
T/F Rate-Monotonic can be easier to achieve stability by giving essential tasks shorter periods and thus higher priorities
T