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

A

home node

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

A

True!

24
Q

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

A

False!

25
Q

What are the reasons the DSM must intercept all shared state accesses?

A
  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
Q

How can we avoid overheads when accessing local,non-shared state in DSM?

A

Dynamically engage/disengage the DSM by leveraging the memory management unit (MMU)

27
Q

What is a consistency Model?

A

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
Q

Describe strict consistency model in DSM

A

Every node in the system will see all writes in the system in the exact same order immediately as they are applied

29
Q

Is the strict consistency model in DSM achievable?

A

Not really, its a nice theoretical model but its not sustainable in practice

30
Q

Describe sequential consistency in DSM

A

With sequential consistency, not important that we see updates immediately but ordering of updates must occur the same across processes

31
Q

T/F: In sequential consistency, operations from the same process always appear in the order they were issued

A

True!

32
Q

Describe causal consistency in DSM

A

Guarantees that if possible causal relationships exist between updates, then the same order will be honored in other processes.

33
Q

Describe weak consistency in DSM

A

Introduces more than just read/write operations in the form of synchronization points

34
Q

T/F: In weak consistency, the synchronization point must be called by both processes to see an update

A

True!

35
Q

What are the three key issues in accessing data items in DSM address space while keeping data consistent?

A
DSM Algorithm (how the access actually executes)
Implementation Level (where the access is implemented)
Memory Consistency Model (How to define consistency)
36
Q

Does sequential consistency imply causal consistency?

A

Yes. Causal consistency is strictly weaker than sequential consistency. Ie - sequential accomplished everything causal does.