Introduction / Core Concepts Flashcards

(11 cards)

1
Q

What is a Distributed System?

A

A distributed system is a collection of computers that appears to the user as a single coherent system.

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

What are the charactistics of a Distributed System? (4 points)

A
  • Composed of independent components/sub systems.
  • Users perceive it as a single system.
  • Components collaborate with each other.
  • Most current computer-based systems are distributed
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Name seven Design issues in Distributed systems? (HOSSFTQ)

A
  • Heterogeneity
  • Openness
  • Security
  • Scalability
  • Failure Handling
  • Transparency
  • Quality of Service
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Describe Design Issue of Heterogeneity?

A

Distributed systems often operate across a diverse range of networks, computer hardware and operating systems.

Engineers must ensure that different components can communicate and work together.

Standard protocols like HTTP play a crucial role in enabling heterogeneous systems to communicate in a timely manner, allowing openness and extensibility.

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

Describe Design Issue of Openness?

A

Openness refers to the ability of a system to be extended or re-implemented in various ways.

Can be referred to as accessibility.

Characterised primarily by the degree to which new resource sharing services can be added and made available for use by clients

Components from any supplier can be integrated into the system

Can interact with the other system components.

Open systems are characterised by the fact that their key interfaces are published.

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

Describe Design Issue of Security?

A

Security is a significant concern in distributed systems due to the increased number of potential attack points compared to centralized systems.

Distributed systems often involve multiple organizations with potentially conflicting security policies, further complicating security management.

A successful attack on one part of a distributed system can create a “back door” for attackers to access other parts.

Distributed Denial of Service (DDoS) attacks, where compromised computers (a botnet) flood a host with unsolicited requests, overwhelming its resources.

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

Describe Design Issue of Scalability?

A

Scalability is the ability of a system to maintain performance as demands increase.

Charactistics (Size, Distribution, Manageability, Capability, SDMC)

Size: The ability to add more resources to accommodate more users.

Distribution: The ability to distribute system components without performance degradation.

Manageability: The ability to manage the system as it grows in size and complexity.

Capability: The ability to increase the power/capability of components to handle increased requests.

Scaling Strategies
- Vertical Scaling (Scaling Up): Replacing existing components with more powerful ones.
- Horizontal Scaling (Scaling Out): Adding more components to the system.

Techniques to achieve scalability include:
- Hiding Latency: e.g, avoid blocking on remote requests or move data and/or code.
- Distribution: Split components and spread parts across system: 2-Tier vs N-Tier
- Replication: Replicate components across system

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

Describe Design Issue of Failure Handling?

A

Distributed Systems need to be able to detect and handle failures appropiately

Must provide a high degree of availability

Availability is the proportion of time it is available for use (99.9%)

Failure handling techniques
- Detecting failures: detect failures
- Masking failures: mask/hide failures that are detected.
- Tolerating failures: some failures have to be tolerated.
- recover from failure: restore system to recovery state after failure/crash.
- Redundancy: using redundant components to tolerate failures.

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

Describe Design Issue of Transparency? (LMRCFS)

A

Transparency aims to hide the distributed nature of the system from users, presenting it as a single system.

Types of transparency:
- Location Transparency: Hiding the physical location of a resource.
- Migration Transparency: Hiding that a resource can move to another location.
- Replication Transparency: Hiding that a resource is replicated.
- Concurrency Transparency: Hiding that a resource may be shared by multiple users.
- Failure Transparency: Hiding failures and recovery processes.
- Scaling Transparency: Hiding the scaling capabilities of the system.

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

Describe Design Issue of Quality of Service (QOS)

A

QoS refers to the ability of a distributed system to deliver services reliably with acceptable response time and throughput.

QoS is particularly critical for time-sensitive applications, such as video chat, where degradation can significantly impact usability.

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

Summary

A

The document emphasizes the inherent complexity of distributed systems.

It reiterates the importance of considering the design issues mentioned above (Heterogeneity, Openness, Security, Scalability, Failure Handling, Transparency, and Quality of Service) when developing distributed systems.

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