P4L3 - Distributed Shared Memory Flashcards

1
Q

What is distributed shared memory?

A

A service that manages memory access across multiple nodes so that applications will have the illusion that they are running on a single shared-memory machine

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

In DSM, each node in the system owns some portion of ____ ____

A

physical memory

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

In DSM, each node needs to be involved in some _____ ______

A

consistency protocols

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

T/F: Overall memory access will be slower in a DSM environment

A

True, due to the network costs

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

What are the two ways in which DSM can be supported?

A
  1. Hardware

2. Software

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

What does hardware-supported DSM rely on?

A

physical interconnect

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

What is a downside of hardware-supported DSM?

A

Typically very expensive

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

What are some options for granularity of sharing with DSM?

A
  1. Variable Granularity
  2. Page Granularity
  3. Object Granularity
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is one side effect of increasing the granularity of sharing?

A

False Sharing

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

In the scope of DSM, describe the concept of false sharing

A

When different entities that may exist on the same memory page can trigger coherence mechanisms falsely. An example would be one process modifying a variable x and another modifying a variable y that happen to exist in the same page

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

In the scope of DSM, what is the simplest kind of application?

A

Single Reader/Single Writer since there are no consistency or sharing related challenges

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

For a DSM solution to be useful, it must provide what

A

Good performance to applications

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

What is the core performance metric for analyzing DSM performance?

A

Access latency

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

Describe the difference between migration and replication

A

Migration - whenever a process on another node needs to access remote state, copy the state over to that node

Replication - Copy state on multiple nodes

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

The node where a page is located is typically referred to as the ___ ____ for that page?

A

Home Node

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

In the scope of DSM, what is the purpose of the home node?

A

Responsible for driving all of the coherence operations related to that page ( keeping track of who the current owner is)

17
Q

In the scope of DSM, what is the owner node?

A

The node that currently OWNS the page, and can control all of the state modifications and drive the coherence mechanisms

18
Q

In DSM you need ____ ___ for performance (latency)

A

Local Caches

19
Q

In DSM, all nodes are responsible for part of ___ ____

A

distributed memory

20
Q

In DSM, _____ manages accesses and tracks page ownership

21
Q

In DSM, ____ ____ is possible for load balancing, performance or reliability

A

explicit replication

22
Q

In DSM, what are the parts of an address for a page

A

Node ID and page frame number on that node

23
Q

T/F: In DSM, metadata for local pages is partitioned across the system, while manager information for every page is replicated

24
Q

T/F: The DSM layer does not need to intercept every single access to the shared state

25
What are the reasons the DSM must intercept all shared state accesses?
1. To detect whether the access is local or remote 2. To detect if update is being performed on locally-controlled portion of the memory, in order to trigger coherence mechanisms
26
How can we avoid overheads when accessing local,non-shared state in DSM?
Dynamically engage/disengage the DSM by leveraging the memory management unit (MMU)
27
What is a consistency Model?
Is a guarantee that the state changes will behave in a certain way as long as the upper software layers follow a certain set of rules
28
Describe strict consistency model in DSM
Every node in the system will see all writes in the system in the exact same order immediately as they are applied
29
Is the strict consistency model in DSM achievable?
Not really, its a nice theoretical model but its not sustainable in practice
30
Describe sequential consistency in DSM
With sequential consistency, not important that we see updates immediately but ordering of updates must occur the same across processes
31
T/F: In sequential consistency, operations from the same process always appear in the order they were issued
True!
32
Describe causal consistency in DSM
Guarantees that if possible causal relationships exist between updates, then the same order will be honored in other processes.
33
Describe weak consistency in DSM
Introduces more than just read/write operations in the form of synchronization points
34
T/F: In weak consistency, the synchronization point must be called by both processes to see an update
True!
35
What are the three key issues in accessing data items in DSM address space while keeping data consistent?
``` DSM Algorithm (how the access actually executes) Implementation Level (where the access is implemented) Memory Consistency Model (How to define consistency) ```
36
Does sequential consistency imply causal consistency?
Yes. Causal consistency is strictly weaker than sequential consistency. Ie - sequential accomplished everything causal does.