GRIDtoday Logo UD

DAILY NEWS AND INFORMATION FOR THE GLOBAL GRID COMMUNITY /

   ( Table of Contents )   

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.

( Top of Page )

   ( Table of Contents )