introduction (1) Flashcards
What are the consequences of the way a distributed is defined?
concurrency.
No global clock.
Independent failure of different components.
Unreliable communication.
Insecure communication.
Expensive communication.
Scalability.
What is distribution transparency and what kind of types are there?
Hide from the user that processes and resources are distributed across different machines and related aspects.
Types:
Access Location Migration Relocation Replication Concurrency Failure
What is access transparency?
Hide differences in data representation and how resources are accessed.
What is location transparency?
Hide that resources are located across different locations.
What is migration transparency?
Hide that a resource is moved from one location to another.
What is relocation transparency?
Hide that a e.g. a server decides to move a file from one location to another while in use.
What is concurrency transparency?
Hide that a resource is replicated across several locations.
What is concurrency transparency?
Hide that the resource is used by several users at the same time.-
What is failure transparency?
Hide the failure and recovery of a resource.
Why is it not always a good idea to implement the highest degree of transparency?
It gives little room for optimization, many extra layers also increases the complexity of the system.
What is a scalable system?
A scalable system remains effective even though the number of users or amount of data grows a lot.
Which dimension are there to scalability?
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.
What are some techniques used to improve scalability?
Replication
Sharding (split and spread resource across system)
Hiding communication latencies (async communication etc.)
What does it mean that a distributed system has a high degree of openness?
That the system has components that can easily be used by or integrated with other systems.
How does replication affect the scalability of a system?
It helps with load balancing and increases availability.
The disadvantage that could decrease scalability is that the replicated data must be kept consistent.