Using Two Computers To Increase CPU Processing Power

by on January 30, 2008

Q: Someone once told me I could connect 2 PCs to increase CPU speed such as when I want to render a 3D animation on one computer. But I cannot find software or information on how to implement this method. How do I add another PC to add performance to my existing machine?

A: Yes, it is possible to connect two or more PC’s to increase processing speed. This kind of arrangement is technically called as ‘Distributed Computing’. The distributed computer system comprises of multiple software components installed on multiple computers operating as a single system.

The PC’s in a distributed system may either be physically close to each other and connected using a LAN, or they may be at geographically distant locations and connected using a WAN.

The distributed system as described above can be implemented using proprietary software and hardware procured from a small number of vendors. However, industry trends are indicating towards open and standards-based systems.

The open distributed computing system can be run on hardware that has been provided by multiple number of vendors and use a varied range of software components that are based on standards. These kinds of systems are not dependent on the underlying software and can be run on various operating systems by using various communication protocols. For example, a distributed computing system may be comprised of machines that may be having different hardware platforms and using different operating systems, like UNIX and Windows. These machines can communicate by using SNA or TCP/IP over Ethernet or Token Ring.

The Client/Server Model

The client/server model is a common method of organizing software in order to run it on distributed systems. It essentially splits functionality into two parts, clients and servers.

A client is, in effect, is a program that uses the services that are provided by other programs, which are called servers. The server performs the service for which it has received a request from the client.

For implementing a client/server model, quite a lot of basic services may be needed, which may include, among others, the following:

  • A communication mechanism for enabling client/servers interaction.
  • A naming mechanism for enabling client to find servers that are offering the desired services.
  • A security mechanism for enabling secure communications between client/server.

Each of the above mentioned services is described in much more detail at Services of a transaction processing environment.

CICS and Encina use same mechanisms for few services, like DCE for security. Such shared services have been described at Services common to Encina and CICS.

Distributed computing is a good idea for achieving an increased processing power while utilizing the already existing hardware. It provides the dual benefit of scalability and redundancy without involving any prohibitive cost for the same.