Some notes on distributed systems as I always have been curious on how to apply it.
Mostly adapted from CMSC412’s overview of Distributed Systems.

Reference:
[1] Professor Ashok K Agrawala - CMSC412 slides on Distributed Systems


Overview

A distributed system is a collection of loosely coupled nodes interconnected by a communications network.

In this case, nodes could represent processors, computers, machines, hosts, etc.

Sites represent the location of the machine and node refer to a specific system.
Generally, a client node at one site will want to use a resource a server contains at a different site.

Nodes exist in one of these different configurations:

  • Client-Server - Server has a resource that a client would like to use
  • Peer-to-Peer - Each node shares equal responsibilities and can act as both clients and servers
  • Hybrid

Communication over the network occurs through message passing.

All higher level functions of a standalone system can be expanded to encompass a distributed system.

Reasons for Distributed Systems

Resource Sharing

  • Sharing files or printing at remote sites
  • Processing information in a distributed database
  • Using remote specialized hardware devices such as GPUs

Computation Speedup

  • Distribute subcomputations among various sites to run concurrently
  • Load balancing - moving jobs to more lightly-loaded sites

Reliability

  • Detect and recover from site failure, function transfer, reintegrate failed site

0 items under this folder.