# Computational problems

**There are many different ways to describe computational problems. Here are a few that are important to grid technology:**

**Parallel calculations**: Parallel calculations can be split into many smaller sub-calculations. This means that each sub-calculation can be worked on by a different processor, so that many sub-calculations can be worked on "in parallel". This allows you to speed up your computation.

**E****mbarrassingly parallel** **calculations**: A calculation is embarrassingly parallel when each sub-calculation is independent of all the other calculations. For example, analyzing a large databank of medical images is embarrassingly parallel, since each image is independent of the others.

**Coarse-grained calculations**: Coarse-grained calculations are often embarrassingly parallel. "Monte Carlo simulations", where you vary the parameters in a model and then study the results, are also coarse-grained calculations.

**Fine-grained calculations**: In a fine-grained calculation, each sub-calculation is dependent on the result of another sub-calculation. For example, when calculating the weather, each calculation in one volume of atmosphere is affected by surrounding volumes. Fine-grained parallel calculations require very clever programming to make the most of their parallelism, so that the right information is available to processors at the right time.

**High-performance vs. high-throughput**:

Fine-grained calculations are better suited to **high-performance computing**, which usually involves a big, monolithic supercomputer, or very tightly coupled computer clusters with lots of identical processors and an extremely fast, reliable network between the processors.

Embarrassingly parallel calculations are ideal for **high-throughput computing:** more loosely coupled networks of computers where delays in getting results from one processor will not affect the work of the others.

**And grid computing..?** Many interesting problems in science require a combination of fine- and coarse-grained calculations, and this is where grids can be particularly powerful:

For example, in the case of complex climate modeling, researchers launch many similar calculations to see how different parameters affect their models. Each calculation is a fine-grained parallel calculation that needs to run on a single cluster or supercomputer. Using a grid, these many independent calculations can be distributed over many different grid clusters, thus adding coarse-grained parallelism and saving a lot of time.