Module 1 - Intro Flashcards

You may prefer our related Brainscape-certified flashcards:
1
Q

What is a distributed system?

A

A collection of autonomous computing elements what appear to its users as a single coherent system

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

What is a middleware?

A

A layer of software that separates applications from the underlying platforms

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

What are 5 goals of distributed systems?

A
  • Support resource sharing
  • Making distribution transparent
  • being open
  • being scalable
  • being highly available
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What a does “distribution transparent” mean

Give an example

A

The system hides the fact that processes and resources are physically distributed

Examples:

  • They hide where a resource is physically located
  • They hide that the data is replicated
  • They hide failures
  • They hide that resources may be shared by several processes
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What does a “open distributed system” mean

A

A system that offers components that can be easily used or integrated into other systems

Properties of an open system:

  • interoperability
  • composability
  • extensibility
  • separation of policy and mechanism
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What does a “scalable distributed system” mean

A

Scalability is a system’s ability to expand along three axes:

  1. Size (number of users & resources)
  2. Geography
  3. Administration (multiple independent admins)

Being able to add resources and improve the performance of the system

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

What are 3 anti-patterns for scalable distributed systems?

A
  • Centralized services (a single server for all users)
  • Centralized data (a single DB for all data
  • Centralized algorithms (it isn’t scalable for the algorithms to assume a global view of the network)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are primitive common rules to improve scalability in a distributed system?

A

Batch processing
Replication of microservices
Partitioning of requests
Load balancing

The idea is to avoid the anti-patterns

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

What are the 8 fallacies (false beliefs) of distributed systems? (given the network)

As in, what are NOT features of a distributed system?

A
  • The network is reliable
  • The network is secure
  • The network is homogeneous
  • The topology does not change
  • Latency is zero
  • Bandwidth is infinite
  • Transport cost is zero
  • There is a single administrator
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What does it mean for a network in a distributed system to be homogeneous

A

For the connections between microservices to all be the same bandwidth and latency

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

In high performance computing, there are multiprocessor systems and multicomputer systems. Describe the difference between a multiprocessor and a multicomputer system.

A

A multiprocessor shares memory across the computing units, whereas a multicomputer passes messages between computing units (each computing unit has its own memory block)

Multiprocessor Systems = parallel computing
Multicomputer Systems = distributed computing

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

What are characteristics of a shared memory system? (a system in which computing units share memory)

A
  • Threads communicate together by accessing shared variables
  • Requires shared variable primitives
  • Useful for CPU intensive programs
  • Parallel computing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are characteristics of Message passing systems (a system in which each computing unit has its own memory block)

A
  • Processes must communicate by sending and receiving messages over a network
  • More scalable but system must support messages
  • Distributed computing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are “cluster computing systems”?

A

Cluster computing frameworks distribute CPU or I/O-intensive
jobs across multiple servers

Just like Hadoop

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

What are the 4 computing layers that a cloud system is divided into? (think SaaS, IaaS, PaaS, HaaS)

A

Application - Web services

Platform - Software framework, Databases

Infrastructure - VMs, Blob Storage

Hardware - CPU, Memory, Disk

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

Example of PaaS (Platform as a service)

A

AWS, Azure, GCP, Digial Ocean

17
Q

Example of IaaS (Infrastructure as a service)

A

AWS S3, AWS EC2, etc

18
Q

Describe how middleware can be used as a communication facilitator between client applications and server applications

A

The middleware layer sits in between the clients and the servers, interfaces with the client applications, and the server-side apps