1 - Server/Client Flashcards

(20 cards)

1
Q

What are the 2 broad models of a distributed system?

A
  1. Server with many client (can be thick or thin)
  2. Peer to peer systems (clients are servers)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What really is the cloud? What’s an elastic cloud?

A

The cloud is literally just a host. Elastic Cloud is just adding more hosts to a distributed system.

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

What are the ways that we can find and contact resources?

A
  1. Just hard code it (put in IP)
  2. Configuration file (hostname)
  3. Announce yourself (DHCP)
  4. Lookup service (domain names!)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the 4 resource location requirements?

A
  1. Location transparency
  2. Global uniqueness
  3. Ability to access names from all locations
  4. Protocol identification - speak same language
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is DNS?

A

Domain Name System:
- hierarchical lookup, translates domain names to IP addresses

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

What are 3 issues with client/server architectures?

A
  1. Division of labour (how to split up work?)
  2. Reliability of transmission
  3. Is it the right solution?
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are some important considerations for server design of multiple machines?

A
  1. How to manage state between clients/server, server/client?
  2. Concurrency
  3. Work distribution
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Who holds state in a thin server? What about thick?

A

Thin - client (stateless)
Thick - server (stateful)

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

For an NFS like aviary, argue for both sides of why stateless or stateful would be better

A

Stateful - need to lock files to prevent concurrent writes

Stateless - invalid locks on crashes, stateless would be better

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

Give the pros and cons of thin clients

A

Pros:
cheap clients

Cons:
beefy servers, can’t do anything if not connected to internet

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

Give the pros and cons of thick clients

A

Pros:
- offload work to client, server has less load
- reduce cost if lots of stuff is done on client-side
- client can work even if not connected (offline netflix)

Cons:
- maintenance is hard because you have to push it out to every client

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

When sending data, what does it mean to “push”?

A

Send an announcement, data to peers and no response is needed

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

When sending data, what does it mean to “pull”?

A

Request/response protocol, (e.g. HTTP), you ask for a response and you get that resource

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

When sending data, what does it mean to “push/pull”?

A

Do both push/pull, can announce and respond to requests (P2P)

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

When would you block?

A

When you need to know the response before continuning:

  • check if logged in
  • check if the write worked
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What’s a rendezvous?

A

Synchronizes client and server

  • client blocks while it waits for a response
  • client and server have the same data for a moment
17
Q

What’s a callback?

A

Client sends a message and says where it is to send a message back

  • client goes on doing whatever, server eventually sends a message
18
Q

What’s a relay/buffer?

A
  • Send asynchronously to a middle host
  • sender does a push, receiver can be pushed-to, or pull from middle (message queue!)
19
Q

How does P2P flooding work?

A

Receive a message, forward message to every peer except the one that sent it (message is received by a peer multiple times)

20
Q

How does P2P gossiping work?

A

Flooding, but only to some neighbours which reduces the avalanche of methods