 |
|
DAILY NEWS AND INFORMATION
FOR THE GLOBAL GRID COMMUNITY /
|
Special Features:
MyGrid: WORKING ON MySQL OF GRID
COMPUTING By Kevin Ashley
MyGrid (myGrid.sourceforge.net) wants
to
become a MySQL of
Grid
computing. It's a noble and challenging pursuit of what emerged from a clean
and transparent architecture. This article attempts to explain ideas and
design concepts behind MyGrid, the current progress and existing
functionality.
There are many applications of MyGrid: distribution and scheduling of
processes to multiple machines. This includes video rendering, mathematical
calculations, physics and finance. Since the Grid is released under GPL, you
don't incur any costs, and may freely add and embed MyGrid in your own
applications. We can see many open source and commercial applications taking
advantage of MyGrid distribution mechanism, instead of creating their own.
MyGrid project started with a number of fresh ideas and modern frameworks
at
hands: Mono just started to emerge, with a significant part of its
functionality already in place. There was a real need to quickly build a
distribution system to support Monte Carlo runs for the risk management. The
distribution was intended for .NET applications, hence the choice of the
framework and C# as a language. Then we added Web services and Java engines to
the system, to make it completely expandable. MyGrid is a new breed of
applications, taking the best of all worlds. It includes Java engine and
allows job processing submitted from Java code, as well as cross platform .NET
code (Mono on Linux and Windows and Microsoft .NET).
As we progressed, limitations of many existing commercial Grids have become
obvious: we wanted to build a Grid that has all standard Grid features, plus
easy to install, slim API, visualization of jobs, Web services, Web
management, an ability to handle job dependencies, industry standard logging
and super-fast data backend (which cannot be achieved with SQL databases,
famous for wrapping every call into a what's called a software bureaucracy:
odbc, jdbc and others).
So, MyGrid uses several modern concepts, not often seen in other Grids:
- YES cross-platform: .NET/Mono, runs on all flavors of unix/windows
where
Mono runs. Mono is not required by the engines (machines), you can use Java
driver. I can easily imagine Perl or Python engines using MyGrid the same way
Java does: via Web services interface.
- NO software bureaucracy: core code is transparent and may be understood
by
a
student.
- FAST backed based on prevalence engines, rather than sql
databases.
- PLUGIN architecture.
- GATEWAYS to other Grids: can run/distribute jobs from/to other
Grids.
- VISUALIZATION is key: our jobs can be visualized both historically and
at
a
present moment.
Many things you see here are innovative, but rarely implemented by closed
source Grids. Plugins allow us to expand MyGrid in many directions: external
Grids are connected via plugins called gateways. Multiple job feeds stream
into MyGrid from plugins called feeders. Different types of jobs can run via
plugins called processors. In MyGrid everything sounds easy and
understandable. And, of course, the Open Source nature of MyGrid gives us the
most important expansion over time: sustainability and the guarantee that if
the developers and businesses are interested in using MyGrid, they will
contribute code to the project.
The core of MyGrid is available as open source, GPL code. How can you make
money on this? Easily. If a company wants to integrate MyGrid into an existing
infrastructure, and use with existing Grid (DataSynapse, TeraGrid etc), adding
plugins to it can be a cottage industry of its own. If you develop a plugin
(gateway, feeder or a job processor) you don't have to make it available via
GPL, although we encourage this.
Among the features we anticipate in the next few months are: complete Mono
release, improved Web management application with graph and gantt chart jobs
visualizers, as well as embedding specifications for MyGrid.
To summarize, MyGrid is a working, lightweight, easy to install and study
cross platform Open Source Grid. We welcome developers and organizations.
|