<p>The grid computing paradigm emerged as a new field distinguished from traditional distributed computing because of its focus on large-scale resource sharing and innovative high-performance applications such as:</p>

<ul>
<li>distributed supercomputing; </li>
<li>on demand computing; </li>
<li>high throughput computing; </li>
<li>data-intensive computing;</li>
</ul>

<p>Distributed supercomputing applications require multiple supercomputers to solve problems otherwise too large or whose execution is divided on different components that can benefit from execution on different architectures. This class of applications present a number of challenges to be faced, like resource discovery and scheduling, coordinated startup, configuration at multiple sites, wide area message passing and fault tolerance. An example of such application is SF-Express, a distributed interactive simulation of a military battle.
On demand computing refers to the possibility of dynamically acquiring online instruments (e.g. microscopes, satellite sensors and telescopes) connected by high-speed networks to gather and process the data generated. An experiment of microtomography at photon sources in 1999 demonstrated the feasibility of on demand computing.
The aim of high throughput computing (HTC) is to schedule many independent jobs for parametric studies or data analysis; in this case a measure of efficiency is the number of jobs processed per unit of time. The two most important tools for HTC, namely Condor and Nimrod are now grid-aware. 
Data-intensive applications extract new knowledge from geographically distributed data archives or digital libraries; issues related to this class of applications include scheduling and configuration of multiple data flows through several hierarchy levels.</p>

<p>Finally cluster computing refers to the use of a cluster, which is a parallel computer, for running parallel scientific simulations. Therefore, when using just a single cluster you are doing parallel computing; when using more than one simultaneously but for the same application, may be with different architecture, you are doing distributed supercomputing, so this is grid computing. Platform computing, the company producing the LSF scheduler, promotes its LSF multi-cluster capabilities as grid computing.</p>

CC BY-SA 3.0
2011-11-04T15:22:51.257Z
interesting answer, but I don't see the relation with TCS.
Kaveh
CC BY-SA 3.0
2011-11-05T06:53:20.420Z
@Kaveh: think of grid computing as a subset of distributed computing. If you believe that distributed computing belongs to TCS, then there is an obvious relation, the same that occurs, for instance between analysis and numerical analysis. The latter not only provides a practical way to compute things, it is based on theory that formally guarantees the correctness of results. The same happens with grid computing: the underlying theory (from distributed systems) allows practical use of very large-scale distributed applications.
Massimo Cafaro
CC BY-SA 3.0
2011-11-05T12:40:48.880Z
are there different theoretical models associated with each of these or has this distinction been considered only in practice? It would be nice to mention them if there are different theoretical models for them.
Kaveh
CC BY-SA 3.0
2011-11-05T13:53:00.367Z
No, there are not distinct theoretical models. It's a distinction that arise in practice, since, once you solve a problem theoretically, when you move to actual implementation you will often face new problems strictly related to the one you started with, that must be solved in order to make things a reality. Here is an example, taken from a different domain: say you want to go from Earth on the Moon. From a theoretical perspective, the problem is solved by computing the escape velocity, that  must be >= 11.2 km/s. However, this is clearly not enough: now you have to actually build a rocket...
Massimo Cafaro
CC BY-SA 3.0
2011-11-04T06:58:44.183Z
2011-11-04T06:58:44.183Z
Massimo Cafaro
<p>These terms seem to get thrown around rather vaguely, in my opinion, and was wondering if there were some hard-lined facts about what accounts for which category in these fields. If there aren't any, then, any heuristics for determining how to categorize a system would be helpful :)</p>

CC BY-SA 3.0
2011-11-02T00:17:09.470Z
Related: [What is “distributed computing” as a field of computer science?](http://cstheory.stackexchange.com/questions/8144/what-is-distributed-computing-as-a-field-of-computer-science)
Jukka Suomela
CC BY-SA 3.0
2011-11-02T01:15:20.460Z
I think the question @JukkaSuomela links is barely on topic, and this one is off-topic. I don't see a research level question in *theoretical computer science*. I would suggest asking this on a website like programmers.SE, but I am not completely familiar with their scope, so check the scope before asking.
Artem Kaznatcheev
CC BY-SA 3.0
2011-11-02T01:19:14.680Z
Can you move it over to either Programmers or one of the other S.E. sites?
Kaitlyn Mcmordie
CC BY-SA 3.0
2011-11-02T01:49:17.173Z
@KaitlynMcmordie: Only the moderators can migrate a question to Programmers.  I do not know if the moderators will migrate this question or not, but if not, please read [this post](http://meta.cstheory.stackexchange.com/questions/1285/to-migrate-or-not-to-migrate-just-close/1292#1292) for a possible explanation why the moderators often choose not to migrate questions.
Tsuyoshi Ito
CC BY-SA 3.0
2011-11-02T10:14:00.883Z
@KaitlynMcmordie: You can simply delete your own question and re-post it elsewhere.
Jukka Suomela
<dc.distributed-comp>
How can you tell between what is a "distributed" system versus "grid" computing versus "cluster" computing?
Kaitlyn Mcmordie
# How can you tell between what is a "distributed" system versus "grid" computing versus "cluster" computing?

(Asked by: username_0 on 2011-11-02)

These terms seem to get thrown around rather vaguely, in my opinion, and was wondering if there were some hard-lined facts about what accounts for which category in these fields. If there aren't any, then, any heuristics for determining how to categorize a system would be helpful :)

**Tags:** dc.distributed-comp

> **Comments:**
> **username_1**: Related: [What is “distributed computing” as a field of computer science?](http://cstheory.stackexchange.com/questions/8144/what-is-distributed-computing-as-a-field-of-computer-science)  
> **username_2**: I think the question @JukkaSuomela links is barely on topic, and this one is off-topic. I don't see a research level question in *theoretical computer science*. I would suggest asking this on a website like programmers.SE, but I am not completely familiar with their scope, so check the scope before asking.  
> **username_0**: Can you move it over to either Programmers or one of the other S.E. sites?  
> **username_3**: @KaitlynMcmordie: Only the moderators can migrate a question to Programmers.  I do not know if the moderators will migrate this question or not, but if not, please read [this post](http://meta.cstheory.stackexchange.com/questions/1285/to-migrate-or-not-to-migrate-just-close/1292#1292) for a possible explanation why the moderators often choose not to migrate questions.  
> **username_1**: @KaitlynMcmordie: You can simply delete your own question and re-post it elsewhere.  

---

## 1 answers

### Answer by username_4 on 2011-11-04. Score: 1

The grid computing paradigm emerged as a new field distinguished from traditional distributed computing because of its focus on large-scale resource sharing and innovative high-performance applications such as:

* distributed supercomputing;
* on demand computing;
* high throughput computing;
* data-intensive computing;

Distributed supercomputing applications require multiple supercomputers to solve problems otherwise too large or whose execution is divided on different components that can benefit from execution on different architectures. This class of applications present a number of challenges to be faced, like resource discovery and scheduling, coordinated startup, configuration at multiple sites, wide area message passing and fault tolerance. An example of such application is SF-Express, a distributed interactive simulation of a military battle.
On demand computing refers to the possibility of dynamically acquiring online instruments (e.g. microscopes, satellite sensors and telescopes) connected by high-speed networks to gather and process the data generated. An experiment of microtomography at photon sources in 1999 demonstrated the feasibility of on demand computing.
The aim of high throughput computing (HTC) is to schedule many independent jobs for parametric studies or data analysis; in this case a measure of efficiency is the number of jobs processed per unit of time. The two most important tools for HTC, namely Condor and Nimrod are now grid-aware.
Data-intensive applications extract new knowledge from geographically distributed data archives or digital libraries; issues related to this class of applications include scheduling and configuration of multiple data flows through several hierarchy levels.

Finally cluster computing refers to the use of a cluster, which is a parallel computer, for running parallel scientific simulations. Therefore, when using just a single cluster you are doing parallel computing; when using more than one simultaneously but for the same application, may be with different architecture, you are doing distributed supercomputing, so this is grid computing. Platform computing, the company producing the LSF scheduler, promotes its LSF multi-cluster capabilities as grid computing.

> **Comments:**
> **username_5**: interesting answer, but I don't see the relation with TCS.  
> **username_4**: @username_5: think of grid computing as a subset of distributed computing. If you believe that distributed computing belongs to TCS, then there is an obvious relation, the same that occurs, for instance between analysis and numerical analysis. The latter not only provides a practical way to compute things, it is based on theory that formally guarantees the correctness of results. The same happens with grid computing: the underlying theory (from distributed systems) allows practical use of very large-scale distributed applications.  
> **username_5**: are there different theoretical models associated with each of these or has this distinction been considered only in practice? It would be nice to mention them if there are different theoretical models for them.  
> **username_4**: No, there are not distinct theoretical models. It's a distinction that arise in practice, since, once you solve a problem theoretically, when you move to actual implementation you will often face new problems strictly related to the one you started with, that must be solved in order to make things a reality. Here is an example, taken from a different domain: say you want to go from Earth on the Moon. From a theoretical perspective, the problem is solved by computing the escape velocity, that  must be >= 11.2 km/s. However, this is clearly not enough: now you have to actually build a rocket...  

---

