Resources
Dedicated Hosting Articles
- Would you like to...
Grids and Clusters Part 1: Grids and their Applications
Zvi Grauer
The use of computer clusters and computational grids to reach very high computational speeds have been making the news lately. Terms like cloud computing, volunteer computing, clusters and grids are regularly appearing in the media. Some of the technologies involved are quite mature, and their adoption and popularity are accelerating as their usefulness is growing. For example, IBM recently announced Blue Cloud, a strategic initiative and plans to build a sizable business by bringing Internet-based supercomputing to mainstream corporate customers, using its large datacenters. A host of science project employ grid computing to resolve complex problems using volunteers' computers through the Internet, and companies such as Yahoo, Google and Amazon are developing tools and techniques to harness the grid power.
This article, the first of two, reviews the terminology, types and applications of computer grids, while the second part will focus on computer clusters. The distinction between the two is that grids are created with the purpose of enabling controlled and coordinated resource sharing and resource use among dynamic collections of individuals, institutions, and resources, while clusters are usually deployed to improve performance over an individual server in a cost effective way while. Clusters are tightly integrated systems, set in close proximity to each other for fastest data transfer and communications. Grids connect collections of computers which are geographically dispersed, and are thus more like a computing utility than like a single computer. In addition, grids typically support more heterogeneous collections than are commonly supported in clusters.
Computer Grids
Grid computing uses the resources of many separate networked computers to tackle computational tasks. Grids may be multiple independent computing clusters with nodes in different administrative domain or separate geographical location. The term “the Grid” was coined in the mid 1990s to denote a distributed computing infrastructure for advanced science and engineering. The underlying concept is coordinated resource sharing and problem solving in dynamic, multi-institutional context.
Sharing can go beyond file exchange, and feature direct access to computers, software, data, and other resources, as is required for collaborative problem-solving and resource-brokering. This sharing is highly controlled, with resource providers and consumers defining clearly and carefully just what is shared, who is allowed to share, and the conditions under which sharing occurs. Grids are also designed to handle the contingency of members going off line at regular intervals, when their owners use them for their primary function.
Types of Grids
Grid can be categorized in many ways. Based on the shared resource, we have computational grids that share CPU power for computationally-intensive operations, data grids used for sharing and management of large amounts of distributed data, and equipment grids which have a primary piece of equipment such as a telescope, and use the grid to control the equipment remotely and to analyze its data.
Based on the community behind the grid, we have public grids or volunteer computing that use idle time on many thousands of computers throughout the world. We also have utility grids which include online computation or storage as a metered commercial service, also known as utility computing, computing on demand, or cloud computing.
Cloud computing is shorthand for rich Internet applications that run on the Internet (or the "cloud") and can be accessed by anyone with a suitable Internet connection and a standard web browser. In the cloud computing paradigm, software that is traditionally installed on personal computers is shifted or extended to be accessible via the Internet. The cloud applications utilize massive datacenters and powerful servers that host web applications and web services.
The reason for the multiple definitions is that the term grid is used from marketing, technology and application perspectives. The original definition of grid referred to community grids for scientific collaboration, still very much in use today. But today both the term and the physical grids are used for web-based distributed applications using web services and client-server technologies, for storage, file sharing, search and Software as a Service (SaaS) applications as well.
Characteristics and Selection of Grids
As we have seen, grids range from tightly integrated computer clusters in massive datacenters, through computers using web services and communicating via the internet, to thousands of volunteered computers in different organizations and geographical locations working semi-independently of one another towards a common computational goal.
Each grid type is best suited to specific applications. The fit depends on, among other things, the effect of trust and availability on performance, the need for high speed communications between grid members, the difficulty of software development, and the availability of software components for the job. These factors influence the choice of whether to deploy onto a dedicated computer cluster, use idle machines internal to the developing organization, implement access to web services or employ an open external network of volunteers or contractors.
The primary performance disadvantage of grids is the slow communication speeds between grid members (with the exception of localized computer clusters). Thus grids are well-suited to applications in which multiple parallel computations can take place independently, without the need to communicate intermediate results between processors.
Grid computing by volunteer computers is optimized for tasks and computers that are independent of each other. The workload is broken into many independent jobs, or packets of work, and each job is sent to several computers. The results from the individual computers are collected by a central facility, and compared with each other. This way, the process is not severely affected by grid members going off-line, or by failure of a member to correctly perform the assigned job, due to failure or malicious intent. The grid members do not have to share data during the computation cycle, and jobs do not depend on each other. Clusters are best suited to computations that require fast communications between members, and situations where tasks are interdependent (for example, when a calculation depends on values obtained from a previous computation or data retrieval from a database). Web services, SaaS and cloud computing, all of which mediate between a client (or browser) on the web, a front-end web server and processing server farms at the back end, are suited to interconnected datacenters, where communication speed are relatively slow between centers, but are fast within centers. Thus, such systems can run the code quickly, and communicate it to the client at internet speed.
Uses of Grids
Volunteer computing, which generally focuses on scientific, mathematical, and academic problems, is the oldest application of grid technology. It permits handling of data that would otherwise require the power of expensive supercomputers or would have been impossible to analyze. The Folding@home project, launched on October 1, 2000, by Stanford University chemists, which are still managing the project, is designed to perform computationally intensive simulations of protein folding and other molecular dynamics (MD) calculations. Folding@home is the most powerful distributed computing cluster in the world, and one of the world's largest distributed computing projects. The project is analyzing data that is used by researchers to find cures for diseases such as Alzheimer's and cancer, with the stated goal "to understand protein folding, misfolding, and related diseases."
Another large project is SETI@home, started in 1999 and arguably the largest distributed cluster in existence. SETI@home's three million odd home computers analyze data from the Arecibo Observatory radio telescope for evidence of extraterrestrial intelligence. World Community Grid is an organization supported by IBM that aims "to create the world's largest public computing grid to tackle projects that benefit humanity." The organization supports projects looking for cures to various diseases and tackling climate models in Africa.
On the business side, Microsoft, SAP and many other ISV's are pushing the SaaS model, allowing customers to access software remotely through a web browser. Using web services, SaaS allows geographically dispersed computers to work together for increased availability, faster response based on geo-location, and global load balancing.
Google is supporting and improving software for spreading complex computer tasks across clusters of machines, and uses it in its international datacenters.
I.B.M., which owns and manages many large datacenters worldwide, is seeking planning to build a sizable business by bringing distributed computing to mainstream corporate customers, convincing them that such datacenters can be run more efficiently, searched for information and programmed from remote locations over the Internet, by a laptop personal computer, cellphone or other device. I.B.M. is betting that commercial customers will see the benefits in tapping the resources available in large datacenters using Cloud Computing and the internet.
And finally, let's not forget the many ad-hoc file sharing grids, involving thousands of computers for moving massive amounts data between members, and accounting for the majority of Internet traffic.
Conclusion
Grids technologies can be used to cost effectively improve computational speed and availability, to tap into capabilities offered by large companies such as Microsoft, IBM, Amazon and Google, to offer web based applications using web services, and to alleviate the load of distributing large amounts of data. All of these accomplishments point towards a future where computing becomes a distributed and cooperative process to the benefit of both consumers and providers.
Facebook
Twitter
YouTube
Blog