Different Computing Paradigms
Over the years different computing paradigms have been developed and used. In fact different computing paradigms have existed before the cloud computing paradigm. Let us take a look at all the computing paradigms below.
1. Distributed Computing :
Distributed computing is defined as a type of computing where multiple computer systems work on a single problem. Here all the computer systems are linked together and the problem is divided into sub-problems where each part is solved by different computer systems.
The goal of distributed computing is to increase the performance and efficiency of the system and ensure fault tolerance.
In the below diagram, each processor has its own local memory and all the processors communicate with each other over a network.
2. Parallel Computing :
Parallel computing is defined as a type of computing where multiple computer systems are used simultaneously. Here a problem is broken into sub-problems and then further broken down into instructions. These instructions from each sub-problem are executed concurrently on different processors.
Here in the below diagram you can see how the parallel computing system consists of multiple processors that communicate with each other and perform multiple tasks over a shared memory simultaneously.
The goal of parallel computing is to save time and provide concurrency.
3. Cluster Computing :
A cluster is a group of independent computers that work together to perform the tasks given.
Cluster computing is defined as a type of computing that consists of two or more independent computers, referred to as nodes, that work together to execute tasks as a single machine.
The goal of cluster computing is to increase the performance, scalability and simplicity of the system.
As you can see in the below diagram, all the nodes, (irrespective of whether they are a parent node or child node), act as a single entity to perform the tasks.
4. Grid Computing :
Grid computing is defined as a type of computing where it is constitutes a network of computers that work together to perform tasks that may be difficult for a single machine to handle. All the computers on that network work under the same umbrella and are termed as a virtual super computer.
The tasks they work on is of either high computing power and consist of large data sets.
All communication between the computer systems in grid computing is done on the “data grid”.
The goal of grid computing is to solve more high computational problems in less time and improve productivity.
5. Utility Computing :
Utility computing is defined as the type of computing where the service provider provides the needed resources and services to the customer and charges them depending on the usage of these resources as per requirement and demand, but not of a fixed rate.
Utility computing involves the renting of resources such as hardware, software, etc. depending on the demand and the requirement.
The goal of utility computing is to increase the usage of resources and be more cost-efficient.
6. Edge Computing :
Edge computing is defined as the type of computing that is focused on decreasing the long distance communication between the client and the server. This is done by running fewer processes in the cloud and moving these processes onto a user’s computer, IoT device or edge device/server.
The goal of edge computing is to bring computation to the network’s edge which in turn builds less gap and results in better and closer interaction.
7. Fog Computing :
Fog computing is defined as the type of computing that acts a computational structure between the cloud and the data producing devices. It is also called as “fogging”.
This structure enables users to allocate resources, data, applications in locations at a closer range within each other.
The goal of fog computing is to improve the overall network efficiency and performance.
8. Cloud Computing :
Cloud is defined as the usage of someone else’s server to host, process or store data.
Cloud computing is defined as the type of computing where it is the delivery of on-demand computing services over the internet on a pay-as-you-go basis. It is widely distributed, network-based and used for storage.
There type of cloud are public, private, hybrid and community and some cloud providers are Google cloud, AWS, Microsoft Azure and IBM cloud.