[Mithral Logo Bar]

Home

Developers Den

Products & Services

Press Room

The Cosm Project

User Projects

About Mithral
Contact Us
Legal

Philosophy and Economies
of Collective Computing

In the past half century, digital computers have evolved from multi-million dollar behemoths housed in giant environmentally controlled rooms visited only by the privileged few, to a commodity resource found in more than half the households in some major industrialized nations [1].

Prior to the introduction of the personal computer in the late 1970's, computing power was primarily used by the academic community for research purposes. Mundane time-consuming tasks were delegated to the institution's computing facility, rather than being handled by an individual or team of individuals. The benefits in terms of saved time were enormous, although at a great cost due to the rarity of computers and the demand for time on those computers.

The concept of the personal computer brought this time-saving device to the desktop of the individual. The earliest personal computers had but a fraction of the power of a typical mainframe computer installation, but the power was immediately available at any time. As the power of the personal computer increased at an exponential rate [2], it became increasingly practical for researchers to simply use their own desktop computer instead of a shared mainframe resource.

In the 1990's, with the advent of public accessibility of the Internet, another change has taken place at least as significant as the introduction of the personal computer. Many millions of personal computers are now connected to one another on a part-time basis, and it is becoming increasingly common for those computers to be connected continuously.

This great leap in connectivity has made it possible to reintroduce the concept of a shared computing resource. However, this resource is not a mainframe computer with its own limited resources - it is the combined power of all the connected computers worldwide. With the massive growth of the Internet [3], this computing resource is virtually unlimited.

The Internet is not only growing in number of connected computers. Advances in technology offer continued growth in processor speed, fast storage (RAM), bulk storage (hard drives), and communications bandwidth; advances in manufacturing continue to lower the associated cost. The price of some computer hardware items such as memory are showing signs of stabilizing, indicating that a commodity market for computer hardware will soon be a reality.

In order to take advantage of these vast computing resources, a suitable infrastructure must be put into place. This infrastructure must offer the following characteristics:

  • Generality
  • Accessibility
  • Scalability
  • Integrity
  • Security

Generality. This refers to both capability and implementation. Capability generality is to the ability for the virtual machine to handle a wide variety of tasks. Whether it is an extensive simulation, or solving a billion equations, or performing trillions of lengthy calculations, the machine must be able to adapt to the problem. Implementation generality is a more practical concern: The individual program that is run on each machine must be portable to different computer architectures.

Accessibility. The resources of the virtual machine must be freely available to users, and it must be easy for individuals to participate by offering their own computing services. There cannot be any cost associated with the computing services of the virtual machine, because that cost would rapidly drop to negligible amounts due to advancements in technology and manufacturing, and expansion of the virtual machine. The bookkeeping cost would eventually exceed the cost of the service.

Scalability. The virtual machine must be designed to support unbounded expansion in computing power. A hierarchical control structure supports this characteristic.

Integrity. It must be possible to set on arbitrarily high level of confidence in the correctness of results, and for the virtual machine to meet or exceed that level. This would be implemented through simple double-checking (or, generally, N-checking) or more complex assurances of work performed [4].

Security. The virtual machine must be resistant to malicious activities that could compromise its correct operation. Additionally, individuals who offer computing resources must have some way of ensuring that the operations performed on their own computer will not compromise other activities on their computer.

With a suitable architecture and infrastructure, the collective computing resources of millions of today's otherwise idle computers can be offered to anybody who would like to put it to use. The reliability of results can be assured to any degree of confidence, and the security of individuals' computers can be maintained.

Notes

[1] Recently the news has reported that over 50% of US households now have a personal computer.

[2] Moore's Law states that for a given cost, the amount of computing power available for that cost doubles approximately every eighteen months.

[3] The Internet Domain Survey at http://www.nw.com claims over 43,000,000 connected computers ("hosts") as of January 1999. The data collected by this survey clearly shows an exponential growth trend.

[4] Zero-knowledge proofs are one way to establish that assigned work has been done to an arbitrarily high confidence level. Full double checking is one type of zero-knowledge proof.

v0.1 by Greg Hewgill


© Mithral Communications & Design Inc. 1995-2008. All rights reserved.
Mithral® and Cosm® are trademarks of Mithral Communications & Design Inc.