Mid-term study Flashcards
What are the components of network communication at it’s most basic?
What are the two message based communication systems?
How do the two forms of message based communication systems compare?
How does network performance affect communication performance?
How does network size impact communications?
In general, what are resrouces?
What is DNS and what is the order and information the following provices:
hawk.cs.umanitoba.ca
In general, what is resource discovery?
Resourch Discovery: How does your program know what computer to connect to and what services/process are available to it?
What are 3 standard recourse discovery approaches?
- Know where the resource you are looking for is located
- Ask the server where the resource is located
- AKA directory-based lookup service
- A service that helps you find other services,
- But how do we find the directory of services?
- Ask “the network” where a resource is
- use multicast to send a message to a group of machines
- Broadcast to all machines
- Machines that are designed to respond will
What are the factors to consider for resource discovery protocols?
What are Extended failure modes?
Extended failure modes is the idea that we have new ways in which things can now go wrong with a distributed network, so we need to build our program from the ground up with failure modes in mind as it is VERY difficult to change later
What are the new “failure modes” that are introduced with distributed computing?
- Concurrency - having multiple process/cores running at the same time
- Communication - now we are dependant on a communication system
And combinations of the above
- failure at the server
- The connection is fine, but you can’t get any messages back
- failure of servers connection to network
- The server is fine, but as above, you can’t get any messages back
- the communication / messages recieved are garbled
- messaging is delayed or mis-ordered
We must be able to detect and deal with failures
What are some techniques for detecting failures?
- Timeouts
- Set a timer, if nothing happens we know something whent wrong (but what)
- Redudancy
- Have multiple machines complete the work and campare the results
What are techniques for recovering from communication failure?
- retransmission
- If we hit a timeout, request the information be resent
- if a server process fails, set it up so a new server is selected
Define scalability
The ability for a system to grow in size without making changes to the system design