The document discusses the major functional components of a grid computing system. It describes 12 functional blocks: 1) resource, 2) portal/user interface, 3) user security, 4) node security, 5) broker and directory, 6) scheduler, 7) data management, 8) job and resource management, 9) user/application submission, 10) resources, 11) protocols to interconnect blocks, and 12) examples of protocol stacks. Each block performs an essential role in the grid system such as providing user access, resource scheduling, security, and data management. Protocols are also needed to allow communication between the different functional blocks.
1. Prof. Neeraj Bhargava
Pooja Dixit
Department of Computer Science
School of Engineering & System Sciences
MDS, University Ajmer, Rajasthan, India
1
2. At a high level, the major components of a
grid computing system from a functional
perspective. A resource is an entity that is to
be shared; this includes computers, storage,
data, and software.
A resource is defined in terms of interfaces,
not devices; for example, schedulers such
some functionality is defined by grid systems:
2
3. (Co-)reservation, workflow
Accounting and payment
Adaptation
Authorization and policy
Distributed algorithms
Fault management
High-speed data transfer
Identity and authentication
Intrusion detection
3
4. Portal/User Interface Function/Functional Block A
portal/user interface functional block usually exists
in the grid environment.
The user interaction mechanism (specifically, the
interface) can take a number of forms. The
interaction mechanism typically is application
specific.
In the simplest grid environment, the user access
may be via a portal. Such a portal provides the user
with an interface to launch applications.
The applications make transparent the use of
resources and/or services provided by the grid. With
this arrangement, the user perceives the grid as a
virtual computing resource.
4
5. The Grid Security Infrastructure: User Security
Function/Functional Block A user security functional block
usually exists in the grid environment and, as noted
above, a key requirement for grid computing is security.
In a grid environment, there is a need for mechanisms to
provide authentication, authorization, data confidentiality,
data integrity, and availability, particularly from a user’s
point of view.
When a user’s job executes, typically it requires
confidential message-passing services.
There may be on-the-fly relationships. But also, the user
of the grid infrastructure software (such as a specialized
scheduler) may need to set up a long-lived service.
administrators may require that only certain users are
allowed to access the service.
The grid security infrastructure supports uniform
authentication, authorization, and message-protection
mechanisms in multiinstitutional settings.
5
6. Node Security Function/Functional Block A node
security functional block usually exists in the grid
environment. Authentication and authorization is a
“two-way street”; not only does the user need to be
authenticated, but also the computing resource.
There is the need for secure (authenticated and, in
most instances, also confidential) communication
between internal elements of a computational grid.
This is because a grid is comprised of a collection
of hardware and software resources whose origins
may not be obvious to a grid user.
When a user wants to run on a particular processor,
the user needs assurances that the processor has
not been compromised, making his or her
proprietary application, or data, subject to
undesired exposure.
6
7. If a processor enrolls in a dynamic-rather than
preadministered manner, then an identification
and authentication validation must be performed
before the processor can actually participate in
the grid’s work, as we discussed earlier.
A certificate authority (CA) can be utilized to
establish the identity of the “donor” processor,
as well as the users and the grid itself.
Some grid systems provide their own log-in to
the grid, whereas other grid systems depend on
the native operating systems for user
authentication.
7
8. Broker Function/Functional Block and Directory A
broker functional block usually exists in the grid
environment.
After the user is authenticated by the user security
functional block, the user is allowed to launch an
application.
At this juncture, the grid system needs to identify
appropriate and available resources that can/should
be used within the grid, based on the application
and application-related parameters provided by the
user of the application.
This task is carried out by a broker function. The
broker functionality provides information about the
available resources on the grid and the working
status of these resources. Specifically, grid systems
have a capability to define (and monitor) a grid’s
topology in order to share resources and support
collaboration.
8
9. Scheduler Function/Functional Block A scheduler functional block
usually exists in the grid environment.
If a set of stand-alone jobs without any interdependencies needs to
execute, then a scheduler is not necessarily required. In the situation
where the user wishes to reserve a specific resource or to ensure that
different jobs within the application run concurrently, then a
scheduler is needed to coordinate the execution of the jobs.
In a “trivial” environment, the user may select a processor suitable for
running the job and then execute a grid instruction that routes the
job to the selected processor.
In “nontrivial” environments, a grid-based system is responsible for
routing a job to a properly selected processor so that the job can
execute. Here, the scheduling software identifies a processor on
which to run a specific grid job that has been submitted by a user.
After available resources have been identified, the follow-on step is
to schedule the individual jobs to run on these resources. Schedulers
are designed to dynamically react to grid load. They accomplish this
by utilizing measurement information relating to the current
utilization of processors to determine which ones are available before
submitting a job.
9
10. Data Management Function/Functional Block A
data management functional block usually
exists in a grid environment.
There typically needs to be a reliable (and
secure) method for moving files and data to
various nodes within the grid.
This functionality is supported by the data
management functional block.
10
11. Job Management and Resource Management Function/Functional
Block A job management and resource management functional block
usually exists in a grid environment.
This functionality is also known as the grid resource allocation
manager (GRAM). The job management and resource management
function provides the services to actually launch a job on a particular
resource, to check the job’s status, and to retrieve the results when
the job is complete.
Typically, the management component keeps track of the resources
available to the grid and which users are members of the grid.
This information is used by the scheduler to decide where grid jobs
should be assigned. Also, typically, there are measurement
mechanisms that determine both the capacities of the nodes on the
grid and their current utilization levels at any given point in time; this
information is used to schedule jobs in the grid, to monitor the
health of the grid (e.g., outages, congestion,
overbooking/overcommitment), and to support administrative tasks
(e.g., determine overall usage patterns and statistics, log and account
for usage of grid resources, etc.) Furthermore, advanced grid
management software can automatically manage recovery from a
number of grid failures and/or outages.
11
12. User/Application Submission Function/ Functional Block
A user/application submission functional block usually
exists. Typically, any member of a grid can submit jobs
to the grid and perform grid queries, but in some grid
systems, this function is implemented as a separate
component installed on “submission nodes or clients”.
1. Resources A grid would be of no value if it did not
contribute resources to the ultimate user and/or
application.
resources include processors, data storage, scientific
equipment, etc. Besides “physical presence” on the grid
(by way of an interconnecting network), there has to be
“logical presence.”
“Logical presence” is achieved by installing grid-support
software on the participating processors. After loading
and activating the software that manages the grid’s use
of its affiliated resources, each processor contributing
itself or contributing ancillary resources to the grid
needs to properly enroll as a member of the grid.
12
13. 2. To interconnect these functional blocks, we
need protocols, especially standardized
protocols. Protocols are formal descriptions of
message formats and a set of rules for message
exchange. The rules may define sequence of
message exchanges.
Protocols are generally layered. Figure depicts
two examples of protocol stacks and network-
enabled services.
13