Cooperative computing: the fellowship of the Grid


Think of millions of Personal Computers accumulating their aggregate power on the same task. That will give you a glimpse of the quake taking place in the computer industry these days. Cooperative computing takes advantage of widespread broadband connections and new concepts such as Grid, peer-to-peer and ASPs to bring the Internet to its next level.

I. Network technologies: Metcalfe’s magic square

Robert Metcalfe, the creator of the Ethernet protocol and founder of 3COM, has formulated an empiric law to measure the usefulness of a network:

Network usefulness= k * N²

where N stands for the number of network nodes and k for a multiplying factor.

In other words, the usefulness of a network is proportional to the square of the number of nodes that are connected. Let’s take the example of the telephone. Starting with two users, there is a network, but it’s not very useful. Once most residents in a city are connected, the usefulness of the network grows larger in proportion. Today, virtually all people living in the developed world are connected, so the telephone network has created a “global village.”

Metcalfe's law

II. Internet : the premature revolution

Let’s now consider the case of the Internet. In 1993, 2.5 millions computers were connected. In 1997, they were 25 millions. Using Metcalfe’s formula, the usefulness of the Internet was roughly multiplied by 100 over four years. This mathematical assertion can easily be verified in our everyday life, which has been dramatically changed by the Internet. Writing and receiving e-mails has become routine. We are accustomed to getting news, entertainment and many other forms of information through the Web. All this led us to think the Web was a revolution. Even the financial markets eventually adopted this belief, resulting in the “Internet bubble” of the late 1990s.

Then, in 2000, the bubble burst.

Why ? Because then, Metcalfe’s law applied only partially to the Internet. True, millions of computers were connected, but the Web still had a centralized architecture, where most of the electronic exchanges took place between Web users and Internet sites or portals. Within that hierarchy, there was little direct interaction between individual Web users.

III. Cooperative computing: the big leap forward

The development of cooperative computing may signal the beginning of this long-awaited revolution. The idea is simple: take advantage of Internet connections to bring together computer resources disseminated all over the world. The phenomenon has gathered unprecedented momentum over the past two years due to the availability of continuous broadband connections. We are gradually approaching the point where every individual computer on Earth can interact with all others, bringing Metcalfe’s law’s to its conclusion.

IV. Four steps towards cooperative computing

Cooperative computing has developed through four application areas, paving the way to distributed intelligence.

  • Sharing information: peer to peer
  • P2P has become increasingly popular during the past 5 years. Napster was a prime mover. Its system allowed millions of music fans to exchange songs for free by transfering sound files (mostly MP3) from one computer to another. Feeling the threat, music publishers sued Napster, arguing that it encouraged piracy. Napster’s weak point was that its technology used a centralized server, so the company could not deny knowing its users were engaged in illegal traffic. In the end, Napster was closed down (a Website called “Napster” re-opened a few months ago with the same logo but has little in common with the first Napster). This unfortunate end (fortunate for some people) did not stop file sharing. Instead, it fostered peer to peer systems.Programmers developed truly decentralized applications and protocols, including Gnutella, Kazaa, eDonkey and more recently Bittorrent. The companies that produce these software programs cannot be easily accused of piracy, because with no central server, they cannot be held responsible for how people use their technology.

    Beyond legal disputes, one thing is certain: file sharing can be used to make information available as it has never been. With peer to peer, there is no need to publish information. If it is on the shared folder of a connected computer, it can be instantly retrieved by any other computer on the network. (1).

  • Sharing computer resources: grid computing
  • Some applications require such high levels of computing power that they require the use of expensive supercomputers. These applications include “big science” (astronomy and physics), finance and biochemestry. Industry also needs more and more computing power as it shifts from real world experiments to simulation, whether for designing aircraft or for assessing a car’s safety through virtual crash tests. All these applications require intensive computer resources. This demand can already be satisfied (or soon will) through cooperative computing. Instead of allocating the entire set of calculations to a single computer, why not split it into millions of pieces and ask many computers all over the world to do their share of the work ? All it takes is a simple installation of a small program that will process the data sent by a central server when any given computer is idle. Then the PC sends back the results to the server, which combines the millions of partial results to reconstruct an overall solution. This intelligent technique, known as grid computing, can be used in various areas:

    – Science

    Grid computing is a viable alternative for carrying out huge scientific programs without huge budgets. One of the first examples of this was the SETI@home initiative. (Search for ExtraTerrestrial Intelligence). The goal of this research is to analyze signals received from space in search of a logical sequence that could not be the result of a natural or human phenomenon. Many frequences, coming from many directions, could contain such a signal, resulting in a tremendous workload for computers. That is why it was decided to share the calculations among several millions of computers owned by individual volonteers around the globe. According to SETI@home officials, there are currently three million PC computers participating in the program, which have the processing power of a 15 teraflop machine (a computer capable of 15 000 billion mathematical operations per second). Yet the total cost of the program does not exceed $500,000 By comparison, IBM’s ASCI White, the most powerful computer today, has a capacity of only 12 teraflops and costs $110 million.

    – Medical research

    Will SETI@home discover an extraterrestrial signal ? Maybe or maybe not. But other programs make the most of grid computing, with more direct benefits. Stanford University is managing a program aimed at studying genoms and protein synthesis. The program consists of two parts, Folding@home and Genome@home (Genome@home however ran out of budget in 2004, while Folding@home is still alive and kicking). Since it started in early 2001, more than 20,000 CPU years have been donated by volunteers. (CPU years are similar to man-years for a human-based project.) This effort made it possible to simulate over six million new proteic sequences. It helps scientists better understand the way proteins fold in nature (how they assemble), which is a key but still mysterious biological phenomenon.

    – Business

    Many business sectors require enormous computer power, including finance, car manufacturing and biotechnology. Buying supercomputers requires heavy investment that can be avoided by setting up computer grids. Take the example of a bank. In order to carry out its complex financial operations, it will be able to use the idle time of computers on its Local Area Network (LAN). This solution has many advantages. First, it is relatively cheap. Second, it is scalable. If the bank needs more computing power, it will only have to tighten its grid by adding more computers to it. If the needs vary in time, the bank will be able to outsource its supply of computer time. A subcontracter will sell it the exact number of CPU hours required, just as the electrical utility invoices for the number of kWh it consumes. Some companies are already providing this kind of service, like Gridsystems, through its solution “Innergrid”.

  • Sharing knowledge: expert networks
  • Knowledge management is also a part of cooperative computing. It addresses the fact that much of the knowledge capital of a company is implicit and remains in the brains of its current employees. This goes far beyond official qualifications, titles and site locations. In order to make this “knowledge treasure” available to the entire company, so-called Employee Knowledge Networks (EKN) offer a way to connect an employee trying to solve a problem with other employees who have the answer or parts of the answer. To do so, employees must be encouraged to feed the company’s knowledge databases, to participate in discussion groups over the intranet, and to identify themselves as “experts” on given subjects. Then a series of technical tools, including e-mail, instant messaging and virtual workspaces makes them available to answer questions. Askme corporation provides a good overview of the benefits of an EKN on its homepage.

    Wikis have brought this phenomenon of cooperative production of knowledge to a new level. A wiki is a unique type of Internet site that eliminates the distance between the reader and the producer of information. When a Web surfer visits a wiki, he can respond to its content at any time by clicking on the “Edit this page” link or a button on the page. That will open the page in edit mode, where he can modify or complete the text however he wishes. When he has finished, he can click on “Save changes.” The new version of the page will be immediately saved and displayed. Ever since their invention in 1995 by Ward Cunningham, wikis have been a great way of sharing and building knowledge, as can be observed on the cooperative encyclopedia Wikipedia for instance.

  • Sharing brains: distributed intelligence
  • The most sophisticated aspect of cooperative computing is distributed intelligence. The idea is to capitalize on individual behaviors to create a superior collective intelligence. This could be compared to the way ants organize their colonies. Each individual ant has a very limited intelligence, but by assembling thousands of tiny intelligent behaviors, the colony is organized as a complex and effective structure. Several examples of distributed intelligence are already in evidence, such as the fight against spam. Cloudmark sells a clever solution called Spamnet to unite the efforts of Internet users around the globe.Every time a member of the community receives a spam e-mail, the user can label it as such. This information is instantly transmitted to all network members. so they will all be protected from the message. When the next person receives it, it will be immediately quarantined in the Spam folder of the mailbox. Another initiative is Worldwide Lexicon, a program aiming at creating an automatic translation system for rare languages. It relies on several thousands volunteer translators in various countries who agree to translate short sentences or keywords during their spare time.

    In summary, cooperative computing may be the path to a new era of the information society. Concepts like sharing, community and participation play the leading role. Just as we pay no attention to the generation of the electricity we consume, individuals and businesses will have immense computing power to command in the near future, originating from an infinite number of tiny resources. This should enable intelligent processes that are still difficult to conceive.

    (1)Taking into account visibility rules that will not be discussed in this article.

    Advertisements

    Leave a Reply

    Fill in your details below or click an icon to log in:

    WordPress.com Logo

    You are commenting using your WordPress.com account. Log Out / Change )

    Twitter picture

    You are commenting using your Twitter account. Log Out / Change )

    Facebook photo

    You are commenting using your Facebook account. Log Out / Change )

    Google+ photo

    You are commenting using your Google+ account. Log Out / Change )

    Connecting to %s


    %d bloggers like this: