Philippine researchers last fall created what they say is the first
generic system for Grid computing that uses an industry-standard Web
service infrastructure, according to a paper to be presented at the
Second IEEE International Symposium on Cluster Computing and the Grid in
Berlin, Germany next week.
The system, called Bayanihan
Computing .NET, was developed by Luis Sarmenta and others at Ateneo
de Manila University, and Richard Lozada of Microsoft Philippines,
building on Sarmenta's June 2001 Ph.D. thesis at MIT.
Globus and IBM have also been working on the convergence of Grid
computing and Web services, in the Open Grid Services Architecture
protocols unveiled in February.
Bayanihan Computing .NET is a generic Grid computing framework based on
Microsoft .NET that uses Web services to harness computing resources
through 'volunteer' computing similar to projects such as SETI@Home, and
to make the computing resources easily accessible through easy-to-use
and interoperable computational Web services, the paper said.
"In doing so, we achieve the two most fundamental goals in Grid
computing, and demonstrate the great potential of using Web services for
Grid computing," the paper said.
"While key industry players such as Microsoft, IBM, and Sun are already
aggressively promoting XML Web services as a way to improve business
systems, we propose and demonstrate a new idea: that of using XML Web
services not only for business systems but for Grid computing systems as
well," the paper said.
The system allows computational clients to create pools of tasks to be
computed, and volunteers or workers to retrieve these tasks, perform
them, and return their results. The PoolService is generic - that is,
authorized computational clients can upload code for different
applications in the form of an assembly (i.e., a DLL file), which is
then automatically downloaded by the workers as necessary. Security
mechanisms in Microsofts .NET framework allow the worker machines to
safely execute these assemblies, the paper said. Thus, unlike
application-specific systems such as SETI@home, Bayanihan Computing .NET
can be used for different applications. In fact, the same PoolService
can be used by different clients at the same time.
The idea behind computational Web services is to offer simple Web
methods that computation clients can call to perform
application-specific computations on their own data, and then use a
parallel computing resource behind the scenes to perform the computation
much faster than possible on a single machine, Sarmenta and others
wrote.
In addition to making programming easier, computational Web services
also make it possible to have very thin clients, the paper said. Any
device that can access Web services - including handheld PDAs, and
potentially even cellular phones - can use these computational Web
services.
"Computational Web services can, quite literally, bring supercomputing
power to the hands of ordinary users," the paper said. "Furthermore,
computational Web services are not limited to volunteer computing
systems. With the appropriate back-ends, they can hide any
high-performance processing resource in general - whether it be a
supercomputer, a cluster, or even the Grid as a whole (including other
computational Web services). ... By providing a simple interface to the
programmer, computational Web services make it possible to achieve one
of the key goals in Grid computing - to allow users to get computing
power as easily as one can get electrical power through a wall
socket."
"As far as we know, Bayanihan Computing .NET, developed in September
2001, is the first generic system for volunteer computing and Grid
computing that uses Web services," the researchers wrote. "Intel has an
earlier peer-to-peer cycle sharing demo, but it is not generic, and does
not allow users to easily volunteer their machines. As far as we know,
we are also the first to propose and to implement the idea of
computational Web services. Earlier work exists on Grid portals that
allow end users to submit jobs to the Grid by filling up a form on a Web
page, but these are not as flexible and powerful as computational Web
services, which can be called like methods in other programs, and can
thus be used not only by end-users, but by Grid service providers as
well."