2. 2
1. Define Grid computing.
A Grid is a collection of connected computing resources that appear to
users as a unique large system, providing a single point of access to the datacenter.
Grid Computing can be defined as follows:
Grid Computing is a model of distributed computing that uses
geographically and administratively disparate resources.
Grid Computing can be defined as applying resources from many
computers in a network to a single problem, usually one that requires a
large number of processing cycles or access to large amounts of data.
Grid Computing is the combination of computer resources from multiple
administrative domains applied to a common task, usually to a scientific,
technical or business problem that requires a great number of computer
processing cycles or the need to process large amounts of data.
Grid Computing is distributed, large-scale cluster computing, as well as
a form of network-distributed parallel processing.
there are many other definitions of Grid computing:
Plaszczak/Wellner defines Grid technology as, "the technology that
enables resource virtualization, on-demand provisioning, and service
(resource) sharing between organizations."
IBM defines Grid Computing as “the ability, using a set of open
standards and protocols, to gain access to applications and data,
processing power, storage capacity and a vast array of other computing
resources over the Internet. A Grid is a type of parallel and distributed
system that enables the sharing, selection, and aggregation of
resources distributed across „multiple administrative domains based on
their (resources) availability, capacity, performance, cost and users'
quality-of-service requirements”.
3. 3
Buyya/Venugopal define 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".
CERN, one of the largest users of Grid technology, defines the Grid as,
“a service for sharing computer power and data storage capacity over
the Internet.”
In the Grid world, computing resources mean more than just data or
processing power. It might mean disk space, memory, tape backup, or even
software licences. Grid Computing can be a cost effective way to resolve IT
issues in the areas of data, computing and collaboration. One of the
keywords that sum up the motivation behind evolution of the Grid systems is
virtualization, which refers to seamless integration of geographically
distributed heterogeneous systems.
Grid technology allows organizations to use numerous computers to solve
problems by sharing computing resources. Grid Computing is a distributed
computing technology and uses geographically distributed computers
collectively to achieve higher performance computing and resource sharing.
Organizations with both large and small networks have been adopting Grid
techniques in order to reduce execution time and enable resource sharing.
This technology has been applied to computationally intensive scientific,
mathematical, and academic problems. It is used in commercial enterprises
for such diverse applications as drug discovery, economic forecasting,
seismic analysis, and back-office data processing in support of e-commerce
and Web services.
Grid Computing uses middleware to coordinate disparate IT resources
across a network, allowing them to function as a virtual whole. The goal of a
computing Grid is to provide users with access to the resources they need,
when they need them. Broadband networks play a fundamental enabling
role in making Grid Computing possible and this is the motivation for looking
at this technology from the perspective of communication.
4. 4
One of the main strategies of Grid Computing is using software to divide and
apportion pieces of a program among several computers, sometimes up to
many thousands.
Grid Computing provides highly scalable, highly secure, and extremely high-
performance mechanisms for accessing to remote computing resources in a
seamless manner. Thus it is possible for us to share computing resources,
on an unprecedented scale, among an infinite number of geographically
distributed groups.
The size of Grid Computing may vary from being small-confined to a
network of computer workstations within a corporation, to being large, public
collaboration across many companies and networks.
Since Grid Computing is a form of distributed computing, the use of
disparate resources such as compute nodes, storage, applications and data,
often spread across different physical locations and administrative domains,
is optimized through virtualization and collective management.
2. What is the definition for Grid concept given by Plaszczak/Wellner?
Plaszczak/Wellner defines Grid technology as, "the technology that
enables resource virtualization, on-demand provisioning, and service
(resource) sharing between organizations."
3. What are the core functional computational requirements for grid applications?
The core functional computational requirements for grid applications are:
The ability to allow for independent management of computing
resources.
The ability to provide mechanisms that can intelligently and
transparently select computing resources capable of running a user's
job.
5. 5
The understanding of the current and predicted loads on grid resources,
resource availability, dynamic resource configuration, and provisioning.
Failure detection and failover mechanisms.
Ensure appropriate security mechanisms for secure resource
management, access, and integrity.
4. What are the characteristics that users/applications in Grid Computing environments must
be able to perform?
Users/applications typically found in Grid Computing environments must be
able to perform the following characteristics:
The clear and unambiguous identification of the problem(s) need to be
solved.
The identification and mapping of the resources required solve the
problem.
The ability to sustain the required levels of QoS, while adhering to the
anticipated and necessary SLAs.
The capability to collect feedback regarding resource status, including
updates for the environment's respective applications.
6. 6
Grid
Computing activities were initially focused in the areas of computing
power, data access, and storage resources. The definition of Grid
Computing resource sharing has since changed based upon experiences,
with more focus now being applied to a sophisticated form of coordinated
resource sharing distributed throughout the participants in a virtual
organization. This application concept of coordinated resource sharing
includes any resources available within a virtual organization, including
computing power, data, hardware, software and applications, networking
services, and any other forms of computing resource attainment. This
concept of coordinated resource sharing is shown in Figure
The following discussion introduces a number of requirements needed for
such Grid Computing architectures utilized by virtual organizations. We shall
classify these architecture requirements into three categories. These
resource categories must be capable of providing facilities for the following
scenarios:
The need for dynamic discovery of computing resources, based on their
7. 7
capabilities and functions.
The immediate allocation and provisioning of these resources, based on
their availability and the user demands or requirements.
The management of these resources to meet the required service level
agreements (SLAs).
The provisioning of multiple autonomic features for the resources, such
as self-diagnosis, self-healing, self-configuring, and self-management.
The provisioning of secure access methods to the resources, and
bindings with the local security mechanisms based upon the autonomic
control policies.
5. List and explain the three main issues that characterize computational grids.
The steps necessary to realize a computational grid include the integration
of individual software and hardware components into a combined networked
resource.
• The implementation of middleware to provide a transparent view of the
resources available.
• The development of tools that allows management and control of grid
applications and infrastructure.
• The development and optimization of distributed applications to take
advantage of the resources.
There are three main issues that characterize computational grids:
8. 8
1) Heterogeneity:
A grid involves a multiplicity of resources that are
heterogeneous in nature, and might span numerous administrative
domains across wide geographical distances.
2) Scalability: A grid might grow from a few resources to millions. This
raises the problem of potential performance degradation as a Grids size
increases. Consequently, applications that require a large number of
geographically located resources must be designed to be extremely
latency tolerant.
3) Dyn amicity or Adaptability:
In a grid, a resource failure is the rule, not
the exception. In fact, with so many resources in a Grid, the probability
of some resource failing is naturally high. The resource managers or
applications must tailor their behaviour dynamically so as to extract the
maximum performance from the available resources and services.
6. What are the components that are necessary to form a grid?
Figure 3.1 shows the components that are necessary to form a grid and
they are briefly discussed below:
9. 9
Grid Fabric: It comprises all the resources geographically distributed
across the globe and accessible from anywhere on the Internet. They
could be computers (such as PCs or Workstations running operating
systems such as UNIX or NT), clusters (running cluster operating
systems or resource management systems such as LSF, Condor or
PBS), storage devices, databases, and special scientific instruments
such as a radio telescope.
Grid Middleware: It offers core services such as remote process
management, co-allocation of resources, storage access, information
(registry), security, authentication, and Quality of Service (QoS) such as
resource reservation and trading.
• Grid Development Environments and Tools: These offer high-level
services that allow programmers to develop applications and brokers
that act as user agents that can manage or schedule computations
10. 10
across global resources.
• Grid Applications and Portals: They are developed using grid-enabled
languages such as HPC++, and message-passing systems such as
Message Passing Interface (MPI). Applications, such as parameter
simulations and grand-challenge problems often require considerable
computational power, require access to remote data sets, and may need
to interact with scientific instruments. Grid portals offer web-enabled
application services i.e., users can submit and collect results for their
jobs on remote resources through a web interface.
7. What are the areas that a Grid Computing infrastructure component must address in many
stages of the implementation?
The development of grid infrastructure, both hardware and software has
become the focus of a large community of researchers and developers in
both academics and industry. The grid infrastructure is a complex
combination of a number of capabilities and resources identified for the
specific problem and environment being addressed. In the early
development stages of grid applications, middleware and solutions
approaches were developed to solve fairly narrow and limited Grid
Computing problems, such as middleware to deal with numerical analysis,
customized data access grids, and other narrow problems.
Today, with the emergence and convergence of grid service-oriented
technologies, including the interoperable XML-based solutions becoming
ever more present and industry providers with a number of reusable grid
middleware solutions facilitating the following requirement areas, it is
becoming simpler to quickly deploy valuable solutions. Figure shows this
topology of middleware topics.
11. 11
A Grid Computing infrastructure component must address several
potentially complicated areas in many stages of the implementation. These
areas are:
Security
Resource management
Information services
Data management.
Security: The heterogeneous nature of resources and their differing
security policies are complicated and complex in the security schemes of a
Grid Computing environment. These computing resources are hosted in
differing security domains and heterogeneous platforms. Our middleware
solutions must address local security integration, secure identity mapping,
secure access/authentication, secure federation, and trust management.
The other security requirements are often centered on the topics of data
integrity, confidentiality, and information privacy. The Grid Computing data
exchange must be protected using secure communication channels,
including Secure Socket Layer (SSL)/Transport Layer Security (TLS) and
oftentimes in combination with secure message exchange mechanisms
12. 12
such as WS-Security. The most notable security infrastructure used for
securing grid is the Grid Security Infrastructure (GSI). The GSI provides
capabilities for single sign-on, heterogeneous platform integration and
secure resource access/authentication. The latest and most notable security
solution is the use of WS-Security standards. This mechanism provides
message-level, end-to-end security needed for complex and interoperable
secure solutions.
Resource Management: The tremendously large number and the
heterogeneous potential of Grid Computing resources cause the resource
management challenge to be a significant effort topic in Grid Computing
environments. These resource management scenarios often include
resource discovery, resource inventories, fault isolation, resource
provisioning, resource monitoring, a variety of autonomic capabilities, and
service-level management activities. Selection of the correct resource from
the grid resource pool is the most interesting aspect of the resource
management area.
Look at the example of a job management system. Here, the resource
management feature identifies the job, allocates the suitable resources for
the execution of the job, partitions the job if necessary, and provides
feedback to the user on job status. This job scheduling process includes
moving the data needed for various computations to the appropriate Grid
Computing resources, and mechanisms for dispatching the job results. It is
important to understand multiple service providers can host Grid Computing
resources across many domains, such as security, management,
networking services, and application functionalities. Also, note that the
operational and application resources may also be hosted on different
hardware and software platforms. In addition to this, Grid Computing
middleware must provide efficient monitoring of resources to collect the
required matrices on utilization, availability, and other information.
One causal impact of this fact is the security and the ability for the grid
service provider to reach out and probe into other service provider domains
in order to obtain and reason about key operational information. This
oftentimes becomes complicated across several dimensions, and has to be
resolved by meeting-of-the-minds between all service providers, such as
messaging necessary information to all providers, when and where it is
required.
13. 13
Another valuable and very critical feature across the Grid Computing
infrastructure is found in the area of provisioning; that is, to provide
autonomic capabilities for self-management, self-diagnosis, self-healing,
and self-configuring. The most notable resource management middleware
solution is the Grid Resource Allocation Manager (GRAM). This resource
provides a robust job management service for users, which includes job
allocation, status management, data distribution, and start/stop jobs.
Information Services: Information services are fundamentally concentrated
on providing valuable information respective to the Grid Computing
infrastructure resources. These services leverage and entirely depend on
the providers of information such as resource availability, capacity, and
utilization, just to name a few. These information services enable service
providers to most efficiently allocate resources for the variety of very specific
tasks related to the Grid Computing infrastructure solution.
In addition, developers and providers can also construct grid solutions to
reflect portals, and utilize meta-schedulers and meta-resource managers.
These metrics are helpful in service-level management (SLA) in conjunction
with the resource policies. This information is resource specific and is
provided based on the schema pertaining to that resource. We may need
higher level indexing services or data aggregators and transformers to
convert these resource-specific data into valuable information sources for
the end user.
For example, a resource may provide operating system information, while
yet another resource might provide information on hardware configuration,
and we can then group this resource information, reason with it, and then
suggest a "best" price combination on selecting the operating system on
other certain hardware. This combinatorial approach to reasoning is very
straightforward in a Grid Computing infrastructure, simply due to the fact
that all key resources are shared, as is the information correlated respective
to the resources.
Data Management: Data forms the single most important asset in a Grid
Computing system. Data may be input into the resource, and the results
from the resource on the execution of a specific task if the infrastructure is
not designed properly. The data must be near to the computation where it is
14. 14
used and the data movement in a geographically distributed system can
quickly cause scalability problems. Also this data movement in any Grid
Computing environment requires absolutely secure data transfers, both to
and from the respective resources. The current advances surrounding data
management are tightly focusing on virtualized data storage mechanisms,
uch as storage area networks (SAN), network file systems, dedicated
storage servers, and virtual databases. These virtualization mechanisms in
data storage solutions and common access mechanisms (e.g., relational
SQLs, Web services, etc.) help developers and providers to design data
management concepts into the Grid Computing infrastructure with much
more flexibility than traditional approaches.
Some of the considerations developers and providers must factor into
decisions are related to selecting the most appropriate data management
mechanism for Grid Computing infrastructures. This includes the size of the
data repositories, resource geographical distribution, security requirements,
schemes for replication and caching facilities, and the underlying
technologies utilized for storage and data access.
The most important activity noted today is the Open Grid Service
Architecture (OGSA) and its surrounding standard initiatives. The OGSA
provides a common interface solution to grid services, and all the
information has been conveniently encoded using XML as the standard.
This provides a common approach to information services and resource
management for Grid Computing infrastructures.
8. What is grid problem? Briefly explain.
Grid computing has evolved into an important discipline within the computer
industry by differentiating itself from distributed computing through an
increased focus on resource sharing, co-ordination, manageability, and high
performance. The focus on resource sharing is called the grid problem,
which can be defined as the set of problems associated with resource
sharing among a set of individuals or groups. This sharing of resources,
ranging from simple file transfers to complex and collaborative problem
solving, is accomplished under controlled and well-defined conditions and
policies. In this context, the critical problems are resource discovery, event
correlation, authentication, authorization, and access mechanisms.
Resource sharing is further complicated when a grid is introduced as a
15. 15
solution for utility computing, where commercial applications and resources
become available as shareable and on-demand resources. This concept of
commercial on-demand utility grid services adds new, more difficult
challenges to the already complicated grid problem including service level
features, accounting, usage metering, flexible pricing, federated security,
scalability, and open-ended integration.
9. Explain the need for grid protocols.
Our Grid architecture establishes requirements for the protocols and APIs
that enable sharing of resources, services, and code. It does not otherwise
constrain the technologies that might be used to implement these protocols
and APIs. In fact, it is quite feasible to define multiple instantiations of key
Grid architecture elements. For example, we can construct both Kerberos
and PKI-based protocols at the Connectivity layer – and access these
security mechanisms via the same API, thanks to GSS-API However, Grids
constructed with these different protocols are not interoperable and cannot
share essential services – at least not without gateways.
For this reason, the long-term success of Grid computing requires that we
select and achieve widespread deployment of one set of protocols at the
connectivity and resource layers and, to a lesser extent, at the Collective
layer. Much as the core Internet protocols enable different computer
networks to interoperate and exchange information, these Inter grid
protocols enable different organizations to interoperate and exchange or
share resources. Resources that speak these protocols can be said to be
―on the Grid. Standard APIs are also highly useful if Grid code is to be
shared.
10. What are the characteristics of Services?
Services generally have the following characteristics:
16. 16
• They may be individually useful, or they can be integrated – composed –
to provide higher-level services.
• They communicate with their clients by exchanging messages.
• They can participate in a workflow, where the order in which messages
are sent and received affects the outcome of the operations performed
by a service.
• They may be completely self-contained, or they may depend on the
availability of other services, or on the existence of a resource such as a
database.
• They advertise details such as their capabilities, interfaces, policies, and
supported communications protocols. Implementation details such as
programming language and hosting platform are of no concern to
clients, and are not revealed.
Figure gives the service oriented architecture model that illustrates a
17. 17
simple service interaction cycle, which begins with a service advertising
itself through a well-known registry service (1). A potential client, which may
or may not be another service, queries the registry (2) to search for a
service that meets its needs. The registry returns a (possibly empty) list of
suitable services, and the client selects one and passes a request message
to it, using any mutually recognized protocol (3). In this example, the service
responds (4) either with the result of the requested operation or with a fault
message.
The illustration shows the simplest case, but the process may be
significantly more complex in a real-world setting such as a commercial
application. For example, a given service may support only the HTTPS2
protocol, be restricted to authorized users, require authentication, offer
different levels of performance to different users, or require payment for use.
Services can provide such details in a variety of ways, and the client can
use this information to make its selection. The above illustration shows a
simple synchronous, bi-directional message exchange pattern but a variety
of patterns are also possible. For example, an interaction may be one-way,
or the response may come from some other service that completed the
transaction but not from the service to which the client sent the request.
**************************************