Assignment: Parallel and Distributed Computing Submitted To: Sir Shoaib Date: 25-03-2019
Assignment: Parallel and Distributed Computing Submitted To: Sir Shoaib Date: 25-03-2019
Umer Shahzad
BCS 8th (A)
Roll No: 7432
Q1. What is Parallel Computing?
Parallel Computing is the simultaneous use of multiple compute resources to solve a
computational problem.
Parallel computing helps in performing large computations by dividing the workload
between more than one processor, all of which work through the computation at the
same time.
Multiprocessing:
In Multiprocessing systems, two or more processors shared the work to be done.
Master/Slave Configuration:
The earliest versions had a master/slave configuration. One processor (the master) was
programmed to be responsible for all of the work in the system; the other (the slave)
performed only those tasks it was assigned by the master. This arrangement was necessary
because it was not then understood how to program the machines so they could cooperate
in managing the resources of the system.
Symmetric Multiprocessing System (SMP)
Massively Parallel Processing Systems (MPP)
Non-Uniform Memory Addressing
SMP machines
Parallel computing saves time, allowing the execution of applications in a shorter and
solve larger problems in a short point of time.
You can do many things simultaneously by using multiple computing resources and is
much better suited for modeling, simulating and understanding complex, real-world
phenomena.
It has massive data storage and quick data computations and can help keep you
organized. If you have Internet, then communication and social networking can be
made easier.
It can take advantage of non-local resources when the local resources are finite.
Speed up and better cost per performance in the long run.
The extra cost (i.e. increased execution time) incurred are due to data transfers,
synchronization, communication, thread creation/destruction, etc.
The use of parallel computing can solve problems computationally and data-intensive
problems using multicore processors, but, sometimes this effect on some of our
control algorithm and does not give good results.
They're harder to debug or prove correct, and they often perform worse than their
serial counterparts due to communication and coordination overhead.
Collaborative Networks provide a global venue where people from around the
world can meet and conduct work "virtually".
Modeling, Simulating.
Distributed computing also refers to the use of distributed systems to solve computational
problems. In distributed computing, a problem is divided into many tasks, each of which is
solved by one or more computers, which communicate with each other via message passing.
Grid, Distributed or Cluster Computing works on various tasks within a network, but
it is also capable of working on specialized applications. In distributed computing
processors usually have their own private or distributed memory.
Significant Characteristics of Distributed Systems:
Three significant characteristics of distributed systems are:
Concurrency of components
Lack of a global clock
Independent failure of components.
____________________________________