Grids: Harnessing Geographically-Separated Resources in a Multi-Organisational Context
High Performance Computing Systems and Applications
Grids are becoming ubiquitous platforms for high-performance computing and distributed collaboration. A grid benefits users by permitting them to access heterogeneous resources, such as machines, data, people and devices, that are distributed geographically and organisationally. It benefits organisations by permitting them to offer unused resources on existing hardware and thus reclaim otherwise lost costs. Although worldwide grids can be constructed today, issues regarding heterogeneity,
... eterogeneity, security and failures must be resolved especially if the participating resources are controlled by different organisations. A grid infrastructure that harnesses the power of distributed resources for computing and collaboration must respect the autonomy of organisations to choose policies for using their resources. Legion is a grid infrastructure that presents users a view of a grid as a single virtual machine [GRIM97]. This view reduces the complexities a user encounters before running applications or collaborating on a grid. The functions performed by Legion on a grid are similar to the functions performed by a traditional operating system on underlying hardware. The design principles of object-basedness and integration have enabled Legion to be extended and configured in a number of ways, while ensuring that the cognitive burden on the grid community is small. Grid History Grids are the next step in a logical progression beginning with the Internet and the World Wide Web. The internet enabled connecting previously-isolated islands of computing resources to one another. With internet tools, a user could connect to a machine remotely, without being physically present at the machine. After connecting to a remote machine, the user could utilise a small set of services, such as transferring data or issuing limited commands. The World Wide Web improved over the internet in two ways. First, it made the internet more accessible by making the tools more usable. Second, it enabled a richer form of sharing among users. Previous internet tools transferred raw, uninterpreted data. However, a web browser interprets data, thus giving users a better interface and enabling more abstract collaboration, such as sharing a picture rather than transferring kilobytes. The web showed that for computing infrastructure to be considered useful, it must enable collaboration. A grid extends the notions of collaboration while preserving the traditional role of computers as resources used for computing. In essence, computing is collaboration, where a resource provider and a consumer collaborate using a job or task as a unit of collaboration. A large number of applications are starved for computation resources (searches for extra-terrestrial intelligence, studies of protein folding, genomics, stock market models, etc.), whereas an overwhelming majority of computers are often idle. This disconnect can be bridged by permitting computationintensive applications to be run on otherwise idle resources, no matter where the resources are located. Running Java applets on the web is a form of computing-as-collaboration; however, it is still not a grid because the model for running applets merely extends the basic web model. The sophisticated collaboration enabled by a grid is desirable; scientific users expect to share more than images, financial users expect to share more than periodically-updated tables, and all users expect to control who accesses whatever they choose to share. Since a grid is a first-class step in the evolution of computational infrastructures, a design from first principles is indicated strongly to satisfy and anticipate current and future demands.