0% found this document useful (0 votes)
2 views

Distributed_Systems_Revision_Notes

The document compares distributed and parallel systems, highlighting that distributed systems consist of multiple independent nodes with their own resources, while parallel systems involve multiple processors sharing memory in a tightly coupled manner. It outlines the advantages and disadvantages of distributed systems, including resource sharing and fault tolerance, as well as challenges like complex management and security issues. Additionally, it details communication primitives used in distributed systems, such as synchronous and asynchronous methods, along with their blocking and non-blocking characteristics.

Uploaded by

arjunnv009
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Distributed_Systems_Revision_Notes

The document compares distributed and parallel systems, highlighting that distributed systems consist of multiple independent nodes with their own resources, while parallel systems involve multiple processors sharing memory in a tightly coupled manner. It outlines the advantages and disadvantages of distributed systems, including resource sharing and fault tolerance, as well as challenges like complex management and security issues. Additionally, it details communication primitives used in distributed systems, such as synchronous and asynchronous methods, along with their blocking and non-blocking characteristics.

Uploaded by

arjunnv009
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Distributed vs Parallel Systems

Distributed System:

- Multiple computers (nodes) connected by a network.

- Each node has its own memory and CPU.

- Nodes work independently and communicate via message passing.

- Autonomy: Each processor can run its own OS.

- Heterogeneity: Different hardware/software across nodes.

Parallel System:

- Single system with multiple processors sharing memory.

- Processors work in tightly coupled fashion.

- Used mainly for high-speed processing.

- All processors usually run the same OS.

Advantages of Distributed Systems

1. Resource sharing (hardware, software, data).

2. Scalability (add more systems easily).

3. Fault tolerance (failure in one node doesn't stop the system).

4. Improved performance and load balancing.

5. Cost-effective compared to large mainframes.

6. Flexibility in development and expansion.

7. Geographical distribution of systems.

Disadvantages of Distributed Systems

1. Complex design and management.

2. Network dependency and delays.

3. Security is harder to manage.

4. Synchronization and consistency issues.

5. Difficult fault diagnosis.

6. Software development is more complex.

7. Data integrity and coordination challenges.


Primitives for Distributed Communication

1. Synchronous Primitives

- Both sender and receiver must be active and synchronized.

- Send completes only after Receive is completed.

- Handshaking is involved.

- Reliable but can block processes.

2. Asynchronous Primitives

- Sender and receiver do not need to be synchronized.

- Send returns immediately after placing data in a buffer.

- Communication happens without blocking.

3. Blocking Primitives

- The process is paused until the operation is complete.

- For Send: blocks until message is transferred to kernel/network.

- For Receive: blocks until data is received.

4. Non-blocking Primitives

- The process continues immediately after initiating communication.

- A handle is returned to check status later.

- Use Wait() to block until completion if needed.

Four Types of Send Primitives

| Type | Synchronization | Blocking | Description |

|-----------------------------|------------------|-----------|-------------|

| Synchronous Blocking | Yes | Yes | Waits for receiver to receive and acknowledge |

| Synchronous Non-Blocking | Yes | No | Initiates transfer, continues execution, confirms later |

| Asynchronous Blocking | No | Yes | Waits only until data is transferred to kernel/network |

| Asynchronous Non-Blocking | No | No | Sends data and continues, handle returned for later

check |
Synchronous Non-Blocking Send

- Data is copied to kernel buffer, control returns.

- A handle is returned to track completion.

- Wait or check the handle to confirm data is received.

Non-blocking Receive

- Receive returns immediately.

- Handle is returned and is posted when data arrives.

- Use Wait or check handle to confirm data has arrived.

Blocking Asynchronous Send

- Process is blocked until data is copied to kernel/network.

- No handle is returned.

- No need to wait for ACK.

Non-blocking Asynchronous Send

- Returns immediately after starting the data transfer.

- A handle is returned.

- Used when you need to reuse the buffer.

- Completion is tracked using the handle or Wait().

You might also like