# What is the difference between Grid and Cloud Computing?

• Trying2Learn
In summary: Cloud computing is the on-demand availability of computer system resources, especially data storage and computing power, without direct active management by the user, in order to reach a common goal.
Trying2Learn
TL;DR Summary
What is the difference between Grid and Cloud Computing
Good Morning

I have googled this issue (the difference between Grid and Cloud computing, as per subject line), but I find many of the definitions overlap each other and leave a lot of ambiguity. A lot of the examples focus on manipulation of data (versus independent processes).

But BEFORE I ask for anyone to tell me the difference, please allow me to provide a context.

Suppose I wish analyze a problem... The problem requires the following: a finite element code (for material deformation), a multi-body dynamics code (for rigid body motion, say robotics), a CFD code (since the problem is under water), and, say a thermal code. (Or even more: suppose I am trying to bridge the length scale gap and integrate Finite element methods for material deformation, with, say, molecular codes)

Let's say I like Jane's FE code, but not her solver (I prefer, say, Mary's solver--say, she uses Crout Reduction, or some parallel method). I like John's Multi-body dynamics code (but not his use of, say Runge-Kutta -- I like Sam's code for that). I like Steve's CFD code, John's thermal code, and so on.

So I go to a web page and "describe/define" the problem and which codes I need: click, click, click, click... connect to Main_server.

The server parses my requests and begins. Fortunately, Jane, Mary, Steve and John have turned all their codes into servers, waiting for connections.

Main_server decides to alternate a time stepping algorithm and ships data sets (data not from experiments, but from a round of number crunching for a given time step) to the various other servers (who do a time step and ship the data set back). The problem is then solved (set aside whether this is even worth doing).

In the context of that example... what is the difference between Grid vs Cloud computing (or even deciding to code all of this with BSD sockets, fork/exec, shared memory, etc.)

Looking at the respective Wikipedia entries:
Wikipedia said:
Cloud computing is the on-demand availability of computer system resources, especially data storage and computing power, without direct active management by the user.
The key point here is that the computer resources (i.e. hardware) are managed by someone else. Individual cloud nodes can be used for almost anything - for example running a CFD computation, serving a website like this one or running a game server. Examples of cloud computing providers include Amazon Web Services and Microsoft Azure.

Wikipedia said:
Grid computing is the use of widely distributed computer resources to reach a common goal.
The resources could be cloud resources, or they could be individual desktops and laptops. Grid computing examples include SETI@home and GIMPS.

berkeman
OK, I am going to be facetious to make my point (because I did google those definitions and they make no sense to me). For example...

You wrote

Cloud computing is the on-demand availability of computer system resources, especially data storage and computing power, without direct active management by the user.

You wrote

Grid computing is the use of widely distributed computer resources to reach a common goal.

OK, so I am going to rewrite your definition of cloud computing

Cloud computing is the on-demand availability of computer system resources, especially data storage and computing power, without direct active management by the user, in order to reach a common goal.

And I am back to square 1

See? Please forgive me for my ignorance, but I cannot see the difference.

pbuk said:
Looking at the respective Wikipedia entries:

The key point here is that the computer resources (i.e. hardware) are managed by someone else. Individual cloud nodes can be used for almost anything - for example running a CFD computation, serving a website like this one or running a game server. Examples of cloud computing providers include Amazon Web Services and Microsoft Azure.The resources could be cloud resources, or they could be individual desktops and laptops. Grid computing examples include SETI@home and GIMPS.

Or to put my issue another way...

I am hoping for two definitions that are syntactically similar so I can "simply" disambiguate...

You said:
The key point here is that the computer resources (i.e. hardware) ... OK, why did you list hardware? Is grid computing then, about software? Why did you call out hardware in cloud, but not in grid.

And then you wrote this
"The resources could be cloud resources, or they could be individual desktops and laptops. "

With this sentence, I can not see the difference in grid vs cloud. Are you saying that the only difference is that if I turn my home laptop into a server and let it run all night for clients, then it is "grid?"

The way I look at it, grid computing is the case where each computer calculates a small portion of a large problem. The results are combined to make a whole. FEA is an example.

Cloud computing can be used to process multiple copies of smaller problems. For example, processing many credit card transactions, or handling requests to view Youtube videos. Each transaction is an individual goal.

So the essential difference is not in the computers, but in the type of problem.

pbuk
anorlunda said:
The way I look at it, grid computing is the case where each computer calculates a small portion of a large problem. The results are combined to make a whole. FEA is an example.

Cloud computing can be used to process multiple copies of smaller problems. For example, processing many credit card transactions, or handling requests to view Youtube videos. Each transaction is an individual goal.

So the essential difference is not in the computers, but in the type of problem.
OK, I am fine with that definition. But can you now put that definition in the context of what I find on the internet through a google search? I find this

"While grid computing involves virtualizing computing resources to store massive amounts of data, whereas cloud computing is where an application doesn't access resources directly, rather it accesses them through a service over the internet. "

So could you explain "virtualizing" in the context of different tasks: FE, CFD, Dynamics, Temperature.

And then with regard to: "cloud computing is where an application doesn't access resources directly, "
Explain why your example of a credit card is NOT "accessing resources"

Are you expecting authors all over the world to coordinate their use of language and definitions? There are no language police and no guarantees against overlapping/conflicting definitions.

sysprog
anorlunda said:
Are you expecting authors all over the world to coordinate their use of language and definitions? There are no language police and no guarantees against overlapping/conflicting definitions.
Actually, no. I am, at MINIMUM, looking for at least ONE definition of one term, that is in clear, succinict distiction to the other term. For right now, ALL definitions look the same to me.

However, I do see your point. And I could accept your point, if I could at least see some sort of clear DISTINCTIVE definition between the two expressions -- but at this point, I cannot see any difference.

Perhaps that is what you are suggesting? The jury is still out?

(At this point, I cannot even see this: "Cloud computing uses grid computing," or "Grid computing uses cloud computing. To me, they seem like phrases.)

Last edited:
Cloud is just a fancy name for using computer resources provided by someone else, like Amazon, Google etc. This comes in 2 flavours:

1) Static: You normally get given a "base" amount of resources (CPU/Memory/Disk) like if you own the hardware yourself. It's just sitting somewhere on the internet (cloud.)

2) Dymanic / Elastic: This is normally application based. You start with a base set of resources as above but if your application requires more CPU/Memory/Disk then it is dymanically allocated as required which allows the hardware resources to scale up and down.

The advantage is if you need to run resource intensive programs. The chances are those resource intensive operations are only required occasionally. If you were to buy the hardware yourself, you would need to buy enough hardware to cope when your resource intensive application was running but the rest of the time they would sit there idle. This method allows you to "pay as you go" for resources instead of having to pay for them up front and them spending a lot of time doing nothing.

Grid computing is different, let's say you have a grid of 10 computers. When you have a problem to solve that problem is split into different parts (10 in this case as we have 10 computers in the grid) and each computer processes 1/10th of the problem. The results are then all re-assembled to give you your final result.

There is special GRID software involved in splitting the workload up, assigning it to each grid computer and then re-combining the result at the end.

With the Cloud dymanic / elastic model. The software is completely unaware of anything happening, it's just requesting resources as required as receiving the resources it requested. There is no additional layer to split up workloads etc, that is all transparent.

Trying2Learn and sysprog
Trying2Learn said:
OK, so I am going to rewrite your definition of cloud computing

Cloud computing is the on-demand availability of computer system resources, especially data storage and computing power, without direct active management by the user, in order to reach a common goal.
But those words don't belong on the end of a definition of cloud computing - actually the opposite is true, cloud resources are used independently by different end-users.

Trying2Learn said:
The key point here is that the computer resources (i.e. hardware) ... OK, why did you list hardware? Is grid computing then, about software? Why did you call out hardware in cloud, but not in grid.
Well there's a bit more to it than that, but yes cloud computing is about making individual hardware resorces available and grid computing is about using software to connect distributed hardware resources together.

Trying2Learn said:
And then you wrote this
"The resources could be cloud resources, or they could be individual desktops and laptops. "

With this sentence, I can not see the difference in grid vs cloud. Are you saying that the only difference is that if I turn my home laptop into a server and let it run all night for clients, then it is "grid?"
No, neither is it "cloud" - it is just a server with hardware and software managed by you.

Trying2Learn said:
"While grid computing involves virtualizing computing resources to store massive amounts of data, whereas cloud computing is where an application doesn't access resources directly, rather it accesses them through a service over the internet. "
I don't think that sentence helps understanding anything.

Last edited:
Cloud CPU resources are normally provided as a set of processing cycles. Whether those processing cycles are executed on 1 powerful computer or a handful of smaller ones is irrelevant. It's just a set number of CPU cycles.

CPU cycles are easy to add, just add more or faster CPU's to your hardware. The CPU itself is split into different sub-processing parts if you like, sometimes you need to execute the process on a specific part of the CPU. You normally only have one of each of these sub-processing parts on a physical CPU. If you want to optimise your usage adding more processing cycles is no good in these cases, you need multiple physical CPU's to access that specific part of each CPU in order to do more processing. This is where the GRID computing comes in. A classic example is when using GPU's as you can generally only have a limited number of GPU's in a physical server. CPU's use a processing technology called "CISC" where as GPU's use "RISC" instead. Both are good for different types of calculations and you normally write your software to work on either one or the other.

In my opinion "cloud" is a marketing term, "grid" is a technical term. Therefore "cloud" has no intrinsic meaning, it is something someone wants to sell you.

Trying2Learn
In days gone by in computer networking circles, when you drew a network diagram for some reason any connection "outside" your network was drawn as a "Cloud." This is where the "Cloud" name came from.

jedishrfu and Trying2Learn
I remember cloud computing to be more of a utility like electricty water or gas. Youre trying to solve a numerical problem with insufficient resources and so you contract with a cloud computing service to handle it and let you know when your task is complete.

How its implemented is up to the provider. One such implementation could be Docker containers or another of queuing up your task with others to be run in some prioritized order. If your task was patallelizable then it could run on many computers and their results would aggregated together and returned to you perhaps using a grid computing approach.

Grid computing in contrast is not a utility. It is a collection of networked desktop computers using special software on each one to allow externally loaded computations to be done during idle times or in the background. Searching for primes and protein folding were two famed projects that used this scheme via Linda software.

https://en.m.wikipedia.org/wiki/Linda_(coordination_language)

https://computer.howstuffworks.com/grid-computing.htm

pbuk
I think that the 'cloud' metaphor is grossly overused. It came from the custom of representing packet-switching networks as cloud squiggles on flowcharts in the '60s. Given that it's intentionally imprecise regarding what it designates, it's folly to try to give it a precise definition, and the marketing hoopla has only made that truer.

The definitions of grid computing are less imprecise; however, from the perspective of any machine in a grid, the others could be regarded as part of a 'cloud', so there's not much escape from ambiguity there.

There is grid computing in the clouds, and cloud computing in the grids; what is really being referenced is computational machines that are interconnected for various purposes, and those purposes aren't as simplifiable as promulgators of such labels as 'cloud' and 'grid' are won't to have people suppose.

Tom.G

## What is Grid Computing?

Grid computing involves the use of multiple computers or resources to work on a single task or problem. It allows for the sharing of resources and processing power among different machines.

## What is Cloud Computing?

Cloud computing involves the delivery of computing services over the internet, including storage, servers, databases, software, and analytics. It allows for on-demand access to these resources and can be scaled up or down as needed.

## How are Grid and Cloud Computing similar?

Both Grid and Cloud Computing involve the use of multiple resources to work on a task or problem. They both also allow for a more efficient use of resources and can be easily scaled up or down.

## What is the main difference between Grid and Cloud Computing?

The main difference between Grid and Cloud Computing is that Grid Computing typically uses dedicated resources, while Cloud Computing uses shared resources that can be accessed on-demand.

## Which is better for scientific research, Grid or Cloud Computing?

It depends on the specific needs and requirements of the research project. Grid Computing may be better for tasks that require high-performance computing and dedicated resources, while Cloud Computing may be better for tasks that require flexibility and scalability.

• Programming and Computer Science
Replies
5
Views
1K
• Programming and Computer Science
Replies
8
Views
2K
• Programming and Computer Science
Replies
3
Views
959
• Programming and Computer Science
Replies
29
Views
3K
• STEM Career Guidance
Replies
3
Views
2K
• Programming and Computer Science
Replies
1
Views
661
• Programming and Computer Science
Replies
13
Views
4K
Replies
7
Views
1K
• General Math
Replies
20
Views
2K
• Programming and Computer Science
Replies
21
Views
5K