See UNISA – Summary of 2010 Posts for a list of related UNISA posts. this post we briefly investigate distributed systems. If you are not studying at UNISA you should probably give this materials summary post a miss 🙂
Last time we looked at security… today conclude by looking at the notes of distributed systems.
Distributed System … what is it?
A distributed system is a collection of processors that do not share memory or a common system clock.
Notes at a glance
The notes are connected to the above illustration, whereby point 1. below relates to the bookmark *1 on the illustration above.
- Connecting every node in the wide area network (WAN) to achieve a fully connected network may prove to be too costly and therefore a partially connected network is the typical model for the WAN.
- The use of a ring network and token passing is very effective for environments with a high sustained load as throughput is not impacted with increased traffic as is the case with collision detection contention protocols.
- Broadcast traffic can cause a lot of traffic if allowed to propagate to all networks, which requires a controlled use of broadcasts and gateways that can trap broadcast traffic.
- Name resolution and the caching thereof ensures that repeated lookups can be done without having to perform remote and costly lookups. The balance between remote lookups and local cached lookups needs to consider performance (latter) and inconsistency (former). Inconsistencies can creep into cached lookup information when updates made on the network are not reflected in the local cache.
- Circuit switching … suited for environments that have constant demands for network resources, which balances the initial tax on resource reservations.
- Required network resources are reserved before data is transmitted.
- Reservation minimises packet dropping and increases quality of service.
- Requires round-tripping to setup reservations.
- Resource usage is higher than with other connection types.
- Network transparency is an important aspect of distributed operating systems, making distributed systems and resources appear as a centralized environment to the user. users should also be able to connect to systems, not machines, improving mobility.
- Process migration can be straightforward if the host operating system are the same, or be a challenge in a heterogeneous environment with different programming models and guidelines. Virtual machines, such as the Java virtual machine, is an example of a process migration strategy that is supported by a number of operating systems.
- Failure detection should be capable of detecting common networking failures such as network link, host or resource (file system) failures.
- Broadcasts are used by status notification and gathering solutions, performing fire-and-forget status update broadcasts.
- Ring algorithms assume that links are unidirectional and that messages are sent to their right neighbour (clockwise).
- Handshake protocols may be used to detect failures. “I am here” messages may be sent on regular intervals, or alternatively probing “are you there” messages may be sent. If a node is unreachable a timeout will occur, whereas delayed responses may indicate overloaded nodes.
- Computation migration transfers the actual computation to other systems. Examples are the remote procedure call (RPC) and solutions such as Windows Communication Foundation (WCF). See .NET Enterprise Solutions – Interoperability for the Connoisseur for examples of these two or other solutions.
That’s it for my UNISA study notes … now the time has come to complete the projects and start studying the detail behind the summaries. Good luck everyone!