Sunday, September 21, 2008

Introduction with Grids

What is the Grid?

The short answer is that, whereas the Web is a service for sharing information over the Internet, the Grid is a service for sharing computer power and data storage capacity over the Internet. The Grid goes well beyond simple communication between computers, and aims ultimately to turn the global network of computers into one vast computational resource.
That is the dream. But the reality is that today, the Grid is a "work in progress", with the underlying technology still in a prototype phase, and being developed by hundreds of researchers and software engineers around the world.
The Grid is attracting a lot of interest because its future, even if still uncertain, is potentially revolutionary. So the interest comes not only from experts in computer science, but from scientists, businessmen, journalists and, presumably, you, the browser of this website!

The Five big ideas behind Grids

Of course, there are many big ideas behind the Grid. And of course, some of them have been around long before the name Grid appeared. Nevertheless, if you look at where the software engineers and developers who are building the Grid are spending their time and effort, then there are five big areas.
The most important is the sharing of resources on a global scale. This is the very essence of the Grid. Then, although it is hardly a novelty, security is a critical aspect of the Grid, since there must be a very high level of trust between resource providers and users, who will often never know who each other are. Sharing resources is, fundamentally, in conflict with the ever more conservative security policies being applied at individual computer centers and on individual PCs. So getting Grid security right is crucial.
If the resources can be shared securely, then the Grid really starts to pay off when it can balance the load on the resources, so that computers everywhere are used more efficiently, and queues for access to advanced computing resources can be shortened. For this to work, however, communications networks have to ensure that distance no longer matters - doing a calculation on the other side of the globe, instead of just next door, should not result in any significant reduction in speed.
Finally, underlying much of the worldwide activity on Grids these days is the issue of open standards, which are needed in order to make sure that R&D worldwide can contribute in a constructive way to the development of the Grid, and that industry will be prepared to invest in developing commercial Grid services and infrastructure.

Building Blocks


Even though the Grid is in its early days, there is considerable consensus amongst the many developers of Grid technology about how it should be structured.
Just like civil engineers building a bridge, software engineers must specify an overall design for the structure they want to build, before they start work on it. This design is called the "Grid architecture". The Grid architecture identifies the fundamental components of the Grid, describes their purpose and function, and indicates how these components should interact with one another.
The Grid depends on underling hardware, from the computers and communications networks that underlie the Grid to the software for doing all sorts of complex calculations that will run on the Grid. Of all these components, though, the essence of the Grid - what really makes the whole thing possible - is the software that enables the user to access computers distributed over the network. This software is called "middleware", because it is distinct from the operating systems software that makes the computers run (programmes like Linux) and also different from the applications software that solves a particular problem for a user (a weather forecasting programme, for example). The middleware is conceptually in between these two types of software - hence its name.
The objective of the middleware is to get the applications to run on the right computers, wherever they may be on the Grid, in an efficient and reliable way. More generally speaking, the middleware's task is to organize and integrate the disparate computational resources of the Grid into a coherent whole.
The development of middleware is the main purpose of many of the Grid research and development projects currently underway around the globe. Grid middleware is already enabling working prototype Grids, which are often referred to as testbeds, because they are mainly being used for demonstration purposes rather than as a reliable resource

What type of applications will the Grid be used for?


A simple answer is that just about anything you do on a computer you could also do on the Grid. After all, the Grid is, in some sense just a very big computer.
A more sophisticated answer is that the first big-time users of the Grid will probably be scientists with challenging applications that are simply too difficult to do on just one set of computers. After all, the Grid was originally conceived for these types of users, and is being built by them, too.
Difficult computational problems can be categorized in different ways. From a computer scientist's point of view, you divide them by looking at their general computational nature. Another way to categorize problems is by whether they are computation-centric, data centric or community-centric.
But you can also look at the problems from the point of view of different application areas in science. Or you can look at the broader areas of application in industry, finance, government and civil society.