Grid computing
Definition
Grid computing is a form of distributed computing. The grid is an infrastructure that bonds and unifies globally remote and diverse resources in order to provide computing support for a wide range of applications. Rajkumar Buyya, in his Grid FAQ, defines Grid [as] “a type of parallel and distributed system that enables the sharing, selection, and aggregation of geographically distributed "autonomous" resources dynamically at runtime depending on their availability, capability, performance, cost, and users' quality-of-service requirements.”
According to the the Grid Technology cookbook, retrieved 11:44, 17 June 2010 (UTC), “the most generally useful definition is that a grid consists of shared heterogeneous computing and data resources networked across administrative boundaries. Given such a definition, a grid can be thought of as both an access method and a platform, with grid middleware being the critical software that enables grid operation and ease-of-use. For a grid to function effectively, it is assumed that (a) hardware and software exists on each resource to support participation in a grid and, (b) agreements and policies exist among grid participants to support and define resource sharing.”
Wikipedia, retrieved 11:29, 17 June 2010 (UTC) defines grid computing as “the combination of computer resources from multiple administrative domains for a common goal. Grid computing (or the use of a computational grid) is applying the resources of many computers in a network to a single problem at the same time - usually to solve a scientific or technical problem that requires a great number of computer processing cycles or access to large amounts of data”.
Grid computing is popular in e-science, forms of research that often require huge computing power and collaboration between various data and computing services.
Essential characteristics of grids
According to Bote-Lorenzo (2003:2-3; 2004), the essential characteristics of grids are the following ones:
- Large scale: a grid must be able to deal with a number of resources ranging from just a few to millions. [...]
- Geographical distribution: grid's resources may be located at distant places.
- Heterogeneity: a grid hosts both software and hardware resources that can be very varied ranging from data, files, software components or programs to sensors, scientific instruments, display devices, personal digital organizers, computers, super-computers and networks.
- Resource sharing: resources in a grid belong to many different organizations that allow other organizations (i.e. users) to access them. [...]
- Multiple administrations: each organization may establish different security and administrative policies under which their owned resources can be accessed and used. [...]
- Resource coordination: resources in a grid must be coordinated in order to provide aggregated computing capabilities.
- Transparent access: a grid should be seen as a single virtual computer.
- Dependable access: a grid must assure the delivery of services under established Quality of Service (QoS) requirements. [...]
- Consistent access: a grid must be built with standard services, protocols and inter-faces thus hiding the heterogeneity of the resources while allowing its scalability. [...]
- Pervasive access: the grid must grant access to available resources by adapting to a dynamic environment in which resource failure is commonplace. [...]
Parvin et al. (200?: 2-3) define grid toolkits (middle ware systems) trough four layers: fabric, core middleware, user-level middleware, and applications and portals layers:
- Grid Fabric level consists of distributed resources such as computers, networks, storage devices and scientific instruments.
- Core Grid middleware offers services such as remote process management, co-allocation of resources, storage access, information registration and discovery, security, and aspects of Quality of Service (QoS) such as resource reservation and trading.
- User-level Grid middleware utilizes the interfaces provided by the low-level middleware to provide higher level abstractions and services. These include application development environments, programming tools and resource brokers for managing resources and scheduling application tasks for execution on global resources.
- Grid applications and portals are typically developed using Grid-enabled languages and utilities such as HPC++ or MPI. An example application, such as parameter simulation or a grand-challenge problem, would require computational power, access to remote data sets, and may need to interact with scientific instruments. Grid portals offer Web-enabled application services, where users can submit and collect results for their jobs on remote resources through the Web.
GridCafé defines a grid architecture in the following way:
A grid's architecture is often described in terms of "layers", where each layer has a specific function. The higher layers are generally user-centric, whereas lower layers are more hardware-centric, focused on computers and networks.
- The lowest layer is the network, which connects grid resources.
- Above the network layer lies the resource layer: actual grid resources, such as computers, storage systems, electronic data catalogues, sensors and telescopes that are connected to the network.
- The middleware layer provides the tools that enable the various elements (servers, storage, networks, etc.) to participate in a grid. The middleware layer is sometimes the "brains" behind a computing grid!
- The highest layer of the structure is the application layer, which includes applications in science, engineering, business, finance and more, as well as portals and development toolkits to support the applications. This is the layer that grid users "see" and interact with. The application layer often includes the so-called serviceware, which performs general management functions like tracking who is providing grid resources and who is using them.
Main uses of grids
According to Bote-Lorenzo (2008:5ff; 2004), main uses of grids are:
- Distributed supercomputing support
- High-throughput computing support
- On-demand computing support
- Data-intensive computing support
- Collaborative computing support
- Multimedia computing support
Standards and tools
This section includes a small set of links. For more information, see:
- Grid Computing Info Centre (GRID Infoware), includes a large list of relevant grid technologies
- Grid computing (Wikipedia, as of June 2010 a bit outdated).
Some standards
- Open Grid Services Architecture (OGSA), a classic middleware architecture designed to fit within a traditional three layer distributed systems model with an access layer, a services layer, and a resources layer.
- The GLUE specification is an information model for Grid entities described using the natural language and UML Class Diagrams. As a conceptual model, it is designed to be independent from the concrete data models adopted for its implementation.
- Various web services standards, for example WSRF (Wikipedia) and WS-Management (Wikipedia).
- Simple API for Grid Applications (SAGA), a high level API that addresses directly the need of application developers.
- [https://forge.gridforum.org/sf/projects/jsdl-wg Job Submission Description Language (JSDL).
See also:
- the full list of recommendation documents from OGF
Some tools
- Grid Middleware (toolkits)
- Globus Toolkit (Wikipedia)
- UNICORE (Wikipedia)
- Legion
- Gridbus
- Other
- Taverna workbench (not a grid tool, but an e-science tool that can plug into grids)
Some links
- Research consortia and teams (some)
- myGrid, makers of the taverna workbench a popular e-science tool.
- Enabling Grids for E-sciencE project (EGEE), EU project from 2002-2010 replaced by EGI.
- European Grid Infrastructure based on federation of individual National Grid Infrastructures.
- Open Science Grid (US)
- OpenGridForum (OGF) is an open community committed to driving the rapid evolution and adoption of applied distributed computing.
- D4Science-II (Data Infrastructures Ecosystem for Science, EU project ended 2010)
- Dissemination/propaganda sites
- GridTalk EU dissemination/propaganda site for grid computing projects.
- GridCafé, orginally created by CERN, the GridCafé explains grid computing in a simple and stimulating fashion.
- GriGuide, includes a good list of Grid projects, including articles that present these projects.
- International Science Grid this week, iSGTW is an international, weekly, on-line science-computing newsletter that shows the importance of distributed computing, cloud computing and supercomputing.
- GridCast, Blogging behind the scenes of Grid computing.
- Overviews and introductions
- Grid computing
- Feature - Grid makes drug discovery crystal clear (example article from International Science Grid this Week).
- The Grid Technology cookbook, Southeastern Universities Research Association
Bibliography
Asadzadeh, Parvin; Rajkumar Buyya, Chun Ling Kei, Deepa Nayar, and Srikumar Venugopal, Global Grids and Software Toolkits: A Study of Four Grid Middleware Technologies, High Performance Computing: Paradigm and Infrastructure, Laurence Yang and Minyi Guo (eds), pp.431-458 (Chapter 22), ISBN: 0-471-65471-X, Wiley Press, New Jersey, USA, June 2005. PDF Preprint
- Bote-Lorenzo, Miguel L.; Yannis A. Dimitriadis and Eduardo G. Gómez-Sanchez, (2003). Preprint to appear in School of Telecommunications Engineering, University of Valladolid. PDF, retrieved 12:28, 21 April 2008 (UTC).
- Bote-Lorenzo, M.L., Dimitriadis, Y., Gómez-Sánchez (2004), E. Grid characteristics and uses: a grid definition (Postproceedings extended and revised version) Proceedings of the First European Across Grids Conference, ACG'03, Springer-Verlag, LNCS 2970, 291-298, Santiago de Compostela, Spain, February 2004. PDF, retrieved 12:28, 21 April 2008 (UTC).
- Bote-Lorenzo, M.L., Gómez-Sánchez, E., Vega-Gorgojo, G., Dimitriadis, Y., Asensio-Pérez, J.I., Jorrín-Abellán, I.M. Gridcole: a tailorable grid service based system that supports scripted collaborative learning (2007, in press) Computers & Education, retrieved 12:28, 21 April 2008 (UTC).