Types of Distributed Systems Flashcards
(15 cards)
What is a Centralized Architecture?
Processing occurs in a single central location, typically a server, following a client-server model. Clients request services from the server and wait for a response.
What is 2-tier client/server architectures
A system that consists/implements a single logical server serving an indefinite/multiple number of clients.
What is Thin and Fat Client model?
Context: The presentation layer in the OSI model is responsible for ensuring data is formatted and translated so it can be understood by the application layer of another system
Thin Client Model:
- Thin clients have the presentation layer implemented on the client-side, and all other layers (data management, application processing and database) are
implemented on a server.
Fat Client Model:
- Fat clients handle some or all application processing. Thin clients are simpler to manage but can overload the server and network. Fat clients reduce network traffic but are more complex to manage.
Advantage and Disadvantage of Thin Client Model
Advantage:
- Simple to deploy and manage the clients
Disadvantage:
- It places a heavy processing load on both the server and the network.
- Server will generate significant network traffic
Advantage and Disadvantage of Fat Client Model?
Advantage:
- Some of the processing takes place locally at the client nodes, generating less network traffic.
Disadvantage:
- More complex than a thin client model especially for management of new clients.
- New versions of the application have to be installed on all clients (Can cause compatibility)
What are multi-tier Client/Server Architectures?
Definition: Different layers of the system (presentation, data management, application processing, and databases) are separate processes. This can improve scalability and performance.
Note: May execute on different processors and/or physical machines.
Advantages:
- Can improve scalability and performance
Disadvantage:
- Can add extra complexity with the implementation.
What is a decentralised Architecture?
Each node in the network makes its own decisions, with the system’s behavior based on the collection of these decisions. There is no central entity.
What is Peer-to-Peer System? (CLRS)
In a peer-to-peer system, processes are equal, acting as both clients and servers (interaction between processes are symmetric).
Attributes:
- Control: No one is in charge
- Limited Information: Each peer only knows about a few others.
- Resilience: No central point of failure, no central server to close down.
- Scalability: Easiser to accommodate more users/add more peers.
Example: Napster (A hybrid architecture combining decentralized and centralized elements.) , Bluesky, mastordon, lemmy.
Advantages and Disadvantages of Centralised Computing?
Advantages:
- Easy to update and secure
- Cost-efficient for smaller systems (one central server is cost-effcient), - Less complex.
Disadvantages:
- Single point of failure,
- Reliance on ideal network conditions.
- Maintenance and updates become very difficult due to the one server (downtime is inevitable in order to make changes)
Advantages and Disadvantages of Decentralised Computing?
Advantages:
- Less performance bottleneck,
- High availability
- Easy to scale
- More node independence
Disadvantages:
- No central oversight,
- Harder failure detection
- Increased complexity.
- Request Tracing more difficult.
What are cluster Computing Systems?
Multiple nodes appear as a single unit to the user (transparency), often used for parallel programming.
Key Note: The hardware is largely the same, they all have the same OS and are all connected through the same network.
What is Grid Computing?
A computing systems that combines computer resources spread over different geographical locations to achieve a common goal.
Nodes are diverse, unlike cluster computing.
What is Volunteer Computing?
Utilizes a PC’s unused CPU cycles for scientific computing.
Free and Open Source.
What is Cloud Computing? (CPESR)
Cloud computing provides resizeable computing capacity that enables users to build and host applications in a data centre.
Characteristics:
* Computing as a utility
* Pay-per-use (no commitment, utility prices)
* Elastic capacity - resources can scale up/down on demand
* Self service interface
* Resources are abstracted / virtualised
Examples: DigitalOcean, Google Cloud, AWS
Summary
- Decentralised vs Centralised computing
- Cluster computing, grid computing, cloud computing, volunteer computing
- The future is data-based