So, to start with I'd like to describe my ideas about gridification of Sage.
This task is a very common one nowadays but it is a challenge for me.
The very first thing I'm asking myself is how to simplify this gridification.
There are lots of tools that can be used at the moment and that is why the biggest question comes in mind: which one to use ?
I discovered a very useful page on EGEE site here: http://technical.eu-egee.org/index.php?id=290
This is "The RESPECT program
The RESPECT program (Recommended External Software for EGEE CommuniTies) aims to publicize grid software and services that work well in concert with the EGEE gLite software and thereby :
* Expand the functionality of the grid infrastructure for users,
* Reduce duplicated development when porting applications, and
* Speed the porting of new application to the grid.
So everyone can choose the right proven tools which are used in other projects.
From the point of gridification task the two are of a special interest:Ganga
Ganga is an easy-to-use frontend for job definition and management, implemented in Python. Ganga allows trivial switching between testing on a local batch system and large-scale processing on Grid resources. Ganga is readily extended and customised to meet the needs of different user communities.DIANE
DIANE is a lightweight distributed framework for parallel scientific applications in master-worker model. It assumes that a job may be split into a number of independent tasks which is a typical case in many scientific applications. The DIANE framework takes care of all synchronization, communication and workflow management details on behalf of the application.This two I'm choosing for the basis and going to describe them in more detail later.
Another two projects are also very interesting:
i2glogin is a tool that enables interactive communication between a grid job and the user. The tool opens a fast, secure channel between the job and the user interface allowing, for example, debugging of the remote environment, application steering, or remote visualization.Virtual Control Room
The VCR is an open source grid portal based on GridSphere and Web 2.0 technologies. The VCR fully supports the gLite middleware and Instrument Elements. The portal can be easily installed and either used as it is or customized to implement specific Virtual Research Environments. A powerful scripting environment and an application manager allow simplified and transparent access to the infrastructure to users. Interactive application support and a powerful tunneling technique allow the integration of both gridified and un-gridified applications in a single environment. The native integration of collaboration tools (eLogbook, Skype, EVO, etc.) makes the VCR a unique collaboration platform. The VCR is suitable for any kind of scientific or business application and for the associated user communities.
No sense to copy/paste further information about this tools. The interested reader will follow the weblinks provided.
To express everything at once I should say that Sage could become the default mathematical software for scientists, ex. in HEP, if it fully utilizes Grid functionality. I hope someday SAGE is going to replace "the-so-loved" Mathematica providing efficient and diverse algorithms that are used on the frontier of science.
To say more, SAGE Math Server could also become a collaboration platform for scientists doing mathematical computations.
I have looked through the docs and presentations of DIANE and Ganga. My next post will be about the possibilities they could provide to SAGE.
In addition, I'm preparing a presentation for BalticGrid-II
project meeting that will take place very soon on 12-14 May, 2009. I hope to clarify many things after this event.