Scientific grid has been proven to be a useful tool in some very computationally demanding fields as for example in analysis of particle physics or astrophysics data. While it has been extended to other fields such as plasma research it is still viewed as a tool associated to large projects. However the capability of grid computing of processing a large number of jobs simultaneously is, by itself, not restricted to large projects.
There are many research areas on which small teams or even individual researchers may need to run many jobs in order to explore the dynamics of a system as function for different parameter values or for statistical purposes in cases of dynamics subject to noise or fluctuations. Complex systems would be a prototypical area where such calculations are performed. While this high throughput computational needs are very much suitable for what grid was intended for, very few users take advantage of it because the access is cumbersome and requires a learning period that many researchers, mainly in small groups, can not afford.
Some of the most known web user environments have been developed by e-NMR (http://www.e-nmr.eu/), but each of those interfaces is specific for a single application. Other graphical environments such as P-Grade (http://www.p-grade.hu/) are too complex to be used without any training. Our web user interface wants to be a user-friendly environment where grid users can submit their jobs with no grid usage training and will promote the use of grid computing on research environments well beyond the traditional areas where grid has been developed.
Description of the work
To popularize grid in all scientific areas it is required to have user friendly interfaces where simple programs can be uploaded and executed in a simple way. Those interfaces should not compete with the sophisticated interfaces developed for specific applications rather they should cover the most basic aspects with suitable default options. The minimal capabilities would be submitting a job, recovering the results, monitoring the existing jobs and check the grid status (load, availability of free cores,...).
A few months ago at IFISC, a first attempt to simplify the environment was made developing scripts that provide some of this functionality and that can be easily invoked from the shell. While all this has proven to be helpful, we are now moving one step beyond developing a web portal to allow researchers to submit applications, recover the results and monitor the status without any prior grid knowledge.
The interface has been developed with one of most known open source web application frameworks, Django. This framework's goal is the creation of complex database-driven websites rapidly and Django modularity is essential for our purpose.
Currently, web authentication is achieved by using LDAP. After authenticating, job submission has been simplified: the user just uploads the application to be run and sets the parameters and the input files. All other information is the same for all the users by default and can be overwritten by each user. Right now, when the job has been submitted, a background script manages all the job workflow from proxy creation to results recovery and data cleaning.
The first version of the Web User Interface is up and running. We are also working on an authentication module based on browser stored certificate that would allow the use of the portal by researchers from anywhere. Besides we are also considering to process the job using short scripts or just integrating these scripts within Django.
For a long time grid has been used practically only by large projects which can afford to have fine-tuned sophisticated interfaces for the researchers involved on these projects. Without these interfaces the access to grid using shell commands is quite cumbersome by nowadays point and click standards.
Grid has the potential to be a key instrument for a wide variety of scientific topics which require to perform many calculations, for example to explore the dynamics as function of parameters. The reduced size of the research groups or the diversity of problems makes unsuitable to develop specific interfaces in most of the instances and the grid shell commands are a barrier that requires a significant amount of determination to cross.
To make grid usage as common as computational clusters user friendly interfaces are needed, and Web4Grid has been developed to allow easy access to the grid infrastructure to those (until now) non-usual grid users.
We have developed a web server that would allow researchers to run generic grid jobs and monitor the grid status from any computer or mobile device provided it has a web browser. This will promote the use of grid in scientific environments well beyond the traditional ones. Users that need more advanced requirements can use more elaborated interfaces such as P-Grade.
To spread the use of this kind of portals, next steps should probably be the development of these kind of applications for NGIs where users could login, upload the application to be run (with its input files) and submit the job to the grid easily.