But this model can be quite dear and doesn't scale well. Along comes grid computing and now we've got the capability to distribute jobs to several smaller server elements using load sharing software that distributes the load uniformly based mostly on resources and policies. Now rather than having one heavily encumbered server the load is spread uniformly across many smaller PC which can be spread around diverse locations.
Some benefits are quite plain.
1) no necessity to buy huge SMP servers for applications that may be split up and farmed out to smaller servers ( which cost a lot less than SMP servers ). Results can then be concatenated and investigated upon job ( s ) completion.
2) Much better use of idle resources. Roles can be farmed out to idle server or idle desktops. Many of those resources sit idle particularly during off business hours.
3) Grid environments are tons more modular and do not have single points of failure. If one of the servers / desktops in the grid fail there are tons of other resources ready to pick the load. Roles can immediately restart if a failure happens.
4) Policies can be managed by the grid software. Some of the hottest grid enabling software include Platform LSF, Sun Grid Engine, Data Synapse, PBS, Condor, UnivaUD, amongst others. Each do a good job of monitoring resources and handling job submissions based on internal policy engines.
5) This model scales very well. Need more compute resources just plug them in on further desktops or servers by installing grid client. They can be removed just as simply on an improvised basis.
6 ) Upgrading can be done on a make-shift basis without scheduling down-time. As there are such a lot of resources some can be taken offline while leaving enough for work to resume. This way upgrades can be cascaded as to not effect continuing projects.
7) Roles can be executed in parallel speeding performance. Using stuff like MPI will permit message passing to happen among compute resources.