Abstract :
A distributed
computing architecture consists of very lightweight software agents installed
on a number of client systems, and one or more dedicated distributed computing
management servers. There may also be requesting clients with software that
allows them to submit jobs along with lists of their required resources.
An agent
running on a processing client detects when the system is idle, notifies the
management server that the system is available for processing, and usually requests
an
application
package. The client then receives an application package from the server and runs
the software when it has spare CPU cycles, and sends the results back to the server.
If the user of the client system needs to run his own applications at any time,
control is immediately returned, and processing of the distributed application
package ends.
Distributed
Computing Management Server
The servers
have several roles. They take distributed computing requests and divide their
large processing tasks into smaller tasks that can run on individual desktop systems
(though sometimes this is done by a requesting system). They send application packages
and some client management software to the idle client machines that request them.
They monitor the status of the jobs being
run by the clients. After the client machines run those packages, they assemble
the results sent back by the client and structure them for presentation, usually
with the help of a database.
The server
is also likely to manage any security, policy, or other management functions as
necessary, including handling dialup users whose connections and IP addresses are
inconsistent. Obviously the complexity of a distributed computing architecture increases
with the size and type of environment. A larger environment that includes multiple
departments, partners, or participants across the Web requires complex resource
identification, policy management, authentication, encryption, and secure sandboxing
functionality.
Administrators
or others with rights can define which jobs and users get access to which systems,
and who gets priority in various situations based on rank, deadlines, and the perceived
importance of each project. Obviously, robust authentication, encryption, and sandboxing
are necessary to prevent unauthorized access to systems and data within distributed
systems that are meant to be inaccessible.
If you take
the ideal of a distributed worldwide grid to the extreme, it requires standards
and protocols for dynamic discovery and interaction of resources in diverse network
environments and among different distributed computing architectures. Most distributed
computing solutions also include toolkits, libraries, and API's for porting third
party applications to work with their platform, or for creating distributed computing
applications from scratch.
Distributed
vs. Grid Computing
There are actually
two similar trends moving in tandem--distributed computing and grid computing.
Depending on how you look at the market, the two either overlap, or distributed
computing is a subset of grid computing. Grid Computing got its name because it
strives for an ideal scenario in which the CPU cycles and storage of millions
of systems across a worldwide network function as a flexible, readily accessible
pool that could be harnessed by anyone who needs it.
Sun defines
a computational grid as "a hardware and software infrastructure that provides
dependable, consistent, pervasive, and inexpensive access to computational capabilities."
Grid computing can encompass desktop PCs, but more often than not its focus is
on more powerful workstations, servers, and even mainframes and supercomputers working
on problems involving huge datasets that can run for days. And grid computing leans
more to dedicated systems, than systems primarily used for other tasks.
Large-scale
distributed computing of the variety we are covering usually refers to a similar
concept, but is more geared to pooling
the resources of hundreds or thousands of networked end-user PCs, which individually
are more limited in their memory and processing power, and whose primary purpose
is not distributed computing, but rather serving their user.
Download :
Download :