introduction (1) Flashcards

1
Q

What are the consequences of the way a distributed is defined?

A

concurrency.

No global clock.

Independent failure of different components.

Unreliable communication.

Insecure communication.

Expensive communication.

Scalability.

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

What is distribution transparency and what kind of types are there?

A

Hide from the user that processes and resources are distributed across different machines and related aspects.

Types:

Access
Location
Migration
Relocation
Replication
Concurrency
Failure
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is access transparency?

A

Hide differences in data representation and how resources are accessed.

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

What is location transparency?

A

Hide that resources are located across different locations.

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

What is migration transparency?

A

Hide that a resource is moved from one location to another.

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

What is relocation transparency?

A

Hide that a e.g. a server decides to move a file from one location to another while in use.

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

What is concurrency transparency?

A

Hide that a resource is replicated across several locations.

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

What is concurrency transparency?

A

Hide that the resource is used by several users at the same time.-

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

What is failure transparency?

A

Hide the failure and recovery of a resource.

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

Why is it not always a good idea to implement the highest degree of transparency?

A

It gives little room for optimization, many extra layers also increases the complexity of the system.

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

What is a scalable system?

A

A scalable system remains effective even though the number of users or amount of data grows a lot.

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

Which dimension are there to scalability?

A

Size:
Users and resources can easily be added.

Geographic:
Users and resources can be located far apart geographically.

Administratively:
If the system is still easy to manage even though it spans across many independent organization and groups of people.

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

What are some techniques used to improve scalability?

A

Replication

Sharding (split and spread resource across system)

Hiding communication latencies (async communication etc.)

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

What does it mean that a distributed system has a high degree of openness?

A

That the system has components that can easily be used by or integrated with other systems.

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

How does replication affect the scalability of a system?

A

It helps with load balancing and increases availability.

The disadvantage that could decrease scalability is that the replicated data must be kept consistent.

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

What does hiding communication latencies mean and how does it affect system scalability?

A

Avoiding that the user has to wait for a response by using async communication or reducing the number of remote requests.

Helps with geographical scalability if the resource is located far away.

17
Q

What are the goals of a distributed system?

A
Resource sharing
Distribution transparency 
Openness
Scalability
Fault tolerance
Allowing heterogeneity ( interoperability)
18
Q

What are common techniques for handling failures?

A

Detecting failures (checksum)
Masking failures (retransmission in protocols)
Tolerating failures (as in web-browsers, 404)
Recovery from failures (roll back)
Redundancy (replicate servers in failure-independent ways)