How Shared Computing Works

Shared Computing Architecture

Unlike grid computing systems -- which in theory can have as many network interface points as there are users -- a shared computing system usually only has a few points of control. That's because most shared computing systems have specific purposes and aren't general utilities.

It's useful to imagine a typical shared computing system as having a front end and a back end. On the front end are all the computers that are volunteering CPU resources to the project. On the back end are the computers and servers that manage the overall project, divide the main task into smaller chunks, communicate with the computers on the front end and store the information the front end computers send after completing an analysis.

In general, the job of dividing up the computational problem into smaller chunks falls to a program on a back end computer, usually a server. This computer uses specific software to divide up the task into smaller pieces that are easier for an average computer system to manage. When contacted by the companion software installed on a front end computer, the server will send data over the network for analysis. Upon receiving a completed analysis job, the server will direct the data to an appropriate database.

The system's administrators will usually use another computer to piece completed analyses together. The end goal is to come to a solution of a very large problem by solving it in tiny bits. In many cases, the system's administrators will publish the results so that others can benefit from the information.

If this architecture description seems a little vague, it's because there's no single way to create and administer a shared computing system. Each system has its own unique software and architecture. In most cases, a programmer customizes the software for the specific system's goals. While two different shared computer systems might work the same way in general, once you dig down into details, they can look very different.

What are some shared computing applications, and why do they need specialized software? Find out in the next section.