0% found this document useful (0 votes)
18 views3 pages

Cs 621

The document discusses Systolic Arrays, a parallel processing architecture ideal for matrix operations and signal processing, highlighting their benefits such as massively parallel processing, energy efficiency, and scalability. It also explains the Two-Phase Commit (2PC) protocol, which is termed a blocking commit protocol due to its reliance on a coordinator, and outlines solutions to avoid blocking, including the Three-Phase Commit (3PC) and consensus algorithms like Paxos or Raft. These solutions enhance fault tolerance and availability in distributed systems.

Uploaded by

hunyroomi4
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views3 pages

Cs 621

The document discusses Systolic Arrays, a parallel processing architecture ideal for matrix operations and signal processing, highlighting their benefits such as massively parallel processing, energy efficiency, and scalability. It also explains the Two-Phase Commit (2PC) protocol, which is termed a blocking commit protocol due to its reliance on a coordinator, and outlines solutions to avoid blocking, including the Three-Phase Commit (3PC) and consensus algorithms like Paxos or Raft. These solutions enhance fault tolerance and availability in distributed systems.

Uploaded by

hunyroomi4
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Parallel And Distributed Computing (CS621)

Student Id: Bc210407911

Question No. 01
Explain Systolic array.

Solution:
Systolic Array is a specific type of parallel processing architecture for large-scale computations
especially suitable to apply in matrix operations, convolutional computations, signal processes. It
is a collection of processing elements (PEs) linked in a regular mesh topology. These PEs
interact by passing the data between them in a coordinated rhythmic manner, akin to how the
human heart pulses and hence it is called systolic.
The idea or concept of systolic array is basically pipelining the data with multiple streams of data
being fed into the system and processed step-by-step going from one PE to another until final
output has been generated. Every PE computes a simple operation (addition, multiplication or
accumulation) and passes the intermediate result to its neighbors. As such it could minimize the
bottleneck due to delay in frequent interaction with external memory, and computational
inefficiency.
Some of the key benefits systolic arrays provide include:
 Massively parallel processing: Handles multiple nodes that speeds up processing on a
large dataset.
 This regular structure of the PEs eases their hardware design and implementation.
 Energy efficiency: The rapid data movement helps cut energy use relative to general-
purpose processors.
 Scalability: Systolic arrays can be scaled to accommodate larger datasets by increasing
the number of processing elements.
Systolic arrays are commonly used in computationally intense fields. They are an essential
component of machine learning accelerators such as Google Tensor Processing Units (TPUs),
where systolic arrays are used for high-performance matrix multiplication. They are used for
digital signal processing (DSP) and real-time image processing systems too.
Based on synchronized data flow design paired with piping operated function, systolic array
presents a viable solution to such highly demanding computation capabilities needed in modern
technology developments.
Question No. 02
Why Two Phase Commit (2PC) is also referred to as a blocking commit protocol. Name
two solutions to avoid blocking.

Solution:
Two-Phase Commit (2PC) is a blocking commit protocol because if the coordinator crashed,
neither participant will be able to move forward and keep waiting for an indefinite time. But in a
distributed system where participants need to wait for the coordinator to commit the transaction.
In case coordinator crashed after participants voted "yes", but before he has sent the final
decision "commit" or "abort", it can't decide anything by itself. As a result, the system goes into
block state and is waiting for the coordinator to recover.
Reasons for Blocking in Two-Phase Commit:
 Coordinator Dependence: The participants depend on the coordinator to determine if
they should proceed or cancel the transaction.
 Absence of Timeout System: Participants are unable to address the transaction on their
own, which may result in possible deadlocks.

Solutions to Avoid Blocking:

Three-Phase Commit (3PC):

To mitigate against this blocking, our protocol adds a "pre-commit" phase. Then, one final
consensus is taken from all participants to confirm that each part of the network is ready before
making the definitive decision. In case of coordinator failure, it allows the participants to resolve
the transaction locally with timeouts and safe states.

Consensus algorithms (e.g., Paxos or Raft)

The protocols are used for systems that are distributed and require consensus in the presence of
failures. They eliminate the requirement for one coordinator and make decisions using majority
(quorum) votes. This is non-blocking as any participant can proceed regardless of some nodes
dying.

However, these limitations of the 2PC’s blocking protocol model can be alleviated by employing
techniques such as 3PC or other consensus-based protocols, which would strengthen fault
tolerance and availability of the systems in distributed settings.

The End

You might also like