Chapter 1 - Intro Flashcards

1
Q

What is Tanenbaum’s definition of a distributed system?

A

A collection of autonomous computing elements that appears to its users as a single coherent system

[1]

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

What is Colouris’ definition of a distributed system?

A

One in which components located at networked computers communicate and coordinate their actions only by passing messages

[2]

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

What are the three primary characteristics of a distributed system according to Schroeder?

A
  • Multiple computers
  • Interconnections
  • Shared state

[2]

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

What is Wikipedia’s definition of a distributed system?

A

A system whose components are located on different networked computers, which communicate and coordinate their actions by passing messages to one another

[2]

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

What are the individual computing elements in a distributed system often called?

A

Nodes

[3]

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

How do nodes in a distributed system typically communicate?

A

Typically via messages

[3]

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

What does it mean for the computing elements in a distributed system to be ‘autonomous’?

A

Each node is independent from the others and may therefore operate concurrently with respect to the others

[4]

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

What is a key characteristic of time in a distributed system?

A

No global clock

[5]

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

What is a consequence of the independence of nodes in a distributed system regarding failures?

A

Independent failures

[6]

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

What should a distributed system ideally appear to its users?

A

A single coherent system

[7]

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

What is the goal of ‘distributed transparency’?

A

The user shouldn’t be able to tell where a process executes or where data is stored

[7]

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

What software layer is often used to manage a distributed system?

A

Middleware

[8]

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

Name some key design goals for building a distributed system.

A
  • Resource sharing: Make (remote) resources accessible
  • Transparency: Hide that resources are distributed
  • Openness: Components can be easily used by others
  • Scalability: Scale to increasing users, resources, locations
  • Dependability: Deliver reliable and correct processing
  • Security: Resources, computations, and users are protected

[9, 10, 11, 12, 13]

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

What are some examples of resources that are commonly shared in distributed systems?

A
  • Peripherals
  • Storage facilities
  • Data
  • Files
  • Services
  • Networks

[10]

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

Name a few types of distribution transparency.

A
  • Access
  • Location
  • Relocation
  • Migration
  • Replication
  • Concurrency
  • Failure

[14]

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

Why is aiming for full distribution transparency often not the best approach?

A

There are communication latencies that cannot be hidden, completely hiding failures is impossible, and full transparency can cost performance

[15]

17
Q

What does it mean for a distributed system to be ‘open’?

A

It offers components that can easily be used by, or integrated into, other systems

[11]

18
Q

What are the different types of scalability mentioned?

A
  • Size scalability
  • Geographic scalability
  • Administrative scalability

[11, 12]

19
Q

What are some aspects covered by the term ‘dependable’ in distributed systems?

A
  • Available
  • Reliable
  • Safe
  • Maintainable

[12]

20
Q

What are some key security aspects important in distributed systems?

A
  • Confidentiality
  • Integrity
  • Authorization
  • Authentication

[13]

21
Q

What are the two main approaches to scaling a distributed system?

A
  • Scale up
  • Scale out

[16]

22
Q

What is a common technique used in distributed systems to improve performance and availability?

A

Replication and caching

[17]

23
Q

What is a major challenge introduced by replication in distributed systems?

A

Maintaining consistency among the multiple copies

[17]

24
Q

Name a few of the ‘Eight Fallacies of Distributed Computing’.

A
  • The network is reliable
  • The network is secure
  • The network is homogeneous
  • Latency is zero
  • Bandwidth is infinite
  • There is one administrator

[18]

25
Q

What are the three main types of distributed systems discussed?

A
  • High performance distributed computing systems
  • Distributed information systems
  • Distributed systems for pervasive computing

[19, 22, 24]

26
Q

Describe ‘cluster computing’.

A

A group of high-end systems connected through a LAN, often homogeneous with the same OS and near-identical hardware

[20]

27
Q

Describe ‘grid computing’.

A

Connects heterogeneous systems that are often dispersed across several organizations and span a wide-area network

[20, 21]

28
Q

Describe ‘cloud computing’.

A

Involves outsourcing the entire infrastructure needed for applications, providing services like compute, data storage, and networking

[21]

29
Q

What is a primary focus of ‘distributed information systems’?

A

The management of information, often involving distributed databases with distributed transactions

[23]

30
Q

What are the ACID properties in the context of transactions?

A
  • Atomic
  • Consistent
  • Isolated
  • Durable

[23]

31
Q

What is a ‘Remote Procedure Call’ (RPC)?

A

A mechanism where one component can send a request to another by performing a local procedure call

[25]

32
Q

Describe ‘pervasive computing’.

A

Systems that naturally blend into the environment, often involving mobile and embedded systems

[24]

33
Q

What is a defining characteristic of ‘mobile computing’?

A

The location of a device is assumed to change over time

[26]

34
Q

Describe ‘sensor networks’.

A

Networks consisting of thousands of small nodes, often with wireless communication and battery power

[27, 28]

35
Q

What is the ‘Internet of Things’ (IoT)?

A

The network of devices that contain electronics, software, sensors, actuators, and connectivity

[28]

36
Q

What is the main idea behind ‘edge computing’?

A

To bring computing closer to where it is needed, often on distributed devices

[29]

37
Q

What is a ‘socket’ in the context of network communication?

A

A communication endpoint that an application can write/read data to be sent/received from the network

[30]

38
Q

Name some basic operations that can be performed on a socket.

A
  • Socket
  • Bind
  • Listen
  • Accept
  • Connect
  • Send
  • Receive
  • Close

[30, 31]

39
Q

What is the purpose of Python’s ‘Pickle’ library in the context of distributed systems?

A

It’s a simple protocol for serializing/deserializing Python object structures into a byte stream

[31]