






Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
A comprehensive introduction to parallel and distributed computing, covering fundamental concepts, key differences, advantages, limitations, and future trends. it delves into various types of parallelism (bit-level, instruction-level, and task-level), exploring their granularity, dependencies, and scalability. the text also examines different distributed computing models, including virtualization, service-oriented architecture, grid computing, and utility computing, illustrating their applications in diverse fields like climate modeling, big data processing, and machine learning. The educational value lies in its clear explanations, practical examples, and insightful discussion of the future of parallel and distributed computing.
Typology: Lecture notes
1 / 11
This page cannot be seen from the preview
Don't miss anything!







The simultaneous growth in availability of big data and in the number of simultaneous users on the Internet places particular pressure on the need to carry out computing tasks “in parallel,” or simultaneously. Parallel and distributed computing occurs across many different topic areas in computer science, including algorithms, computer architecture, networks, operating systems, and software engineering. During the early 21st^ century there was explosive growth in multiprocessor design and other strategies for complex applications to run faster. Parallel and distributed computing builds on fundamental systems concepts, such as concurrency, mutual exclusion, consistency in state/memory manipulation, message-passing, and shared-memory models.
Parallel Computing: In parallel computing multiple processors performs multiple tasks assigned to them simultaneously. Memory in parallel systems can either be shared or distributed. Parallel computing provides concurrency and saves time and money.
Distributed Computing: In distributed computing we have multiple autonomous computers which seems to the user as single system. In distributed systems there is no shared memory and computers communicate
with each other through message passing. In distributed computing a single task is divided among different computers.
Difference between Parallel Computing and Distributed Computing:
Parallel computing Distributed computing
System components are located at different locations
Multiple computers perform multiple operations
It have only distributed memory
Computers communicate with each other through message passing.
Key Differences
Why parallel computing? The whole real world runs in dynamic nature i.e. many things happen at a certain time but at different places concurrently. This data is extensively huge to manage. Real world data needs more dynamic simulation and modeling, and for achieving the same, parallel computing is the key. Parallel computing provides concurrency and saves time and money. Complex, large datasets, and their management can be organized only and only using parallel computing‟s approach. Ensures the effective utilization of the resources. The hardware is guaranteed to be used effectively whereas in serial computation only some part of hardware was used and the rest rendered idle. Also, it is impractical to implement real-time systems using serial computing.
Applications of Parallel Computing:
Limitations of Parallel Computing:
Future of Parallel Computing: The computational graph has undergone a great transition from serial computing to parallel computing. Tech giant such as Intel has already taken a step towards parallel computing by employing multicore processors. Parallel computation will revolutionize the way computers work in the future, for the better good. With the entire world connecting to each other even more than before, Parallel Computing does a better role in helping us stay that way. With faster networks, distributed systems, and multi-processor computers, it becomes even more necessary.
to just one.
Disadvantages of Distributed Systems It is difficult to provide adequate security in distributed systems because the nodes as well as the connections need to be secured. Some messages and data can be lost in the network while moving from one node to another. The database connected to the distributed systems is quite complicated and difficult to handle as compared to a single user system. Overloading may occur in the network if all the nodes of the distributed system try to send data at once.
Distributed Computing Models
There are certain technologies utilizing the power of distributed computing creating platforms that are flexible, reliable and scalable. These technologies are listed below:
Virtualization Service-Oriented Architecture (SOA) Grid Computing Utility Computing
Virtualization
Virtualization is a technique, which allows sharing single physical instance of an application or resource among multiple organizations or tenants (customers). It does this by assigning a logical name to a physical resource and providing a pointer to that physical resource when demanded.
The Multitenant architecture offers virtual isolation among the multiple tenants. Hence, the organizations can use and customize their application as though they each have their instances running.
. Service-Oriented Architecture (SOA) Service-Oriented Architecture helps to use applications as a service for other applications regardless the type of vendor, product or technology. Therefore, it is possible to exchange the data between applications of different vendors without additional programming or making changes to services.
The cloud computing service oriented architecture is shown in the diagram below.
Utility Computing
Utility computing is based on Pay-per-Use model. It offers computational resources on demand as a metered service. Cloud computing, grid computing, and managed IT services are based on the concept of utility computing.
Examples of real-world applications
Scientific Simulations
Data Analytics
Artificial Intelligence
Cryptography
Weather Forecasting
Finance and Economics
Healthcare and Bioinformatics
Other Applications