
| Samuel Kortas | EDF R&D SINETICS | samuel.kortas@edf.fr |
| Gael Le Mahec | Laboratoire de l'informatique du Parallelisme, (UMR CNRS - ENS Lyon - UCB Lyon 1 - INRIA 5668) | gael.le.mahec@ens-lyon.fr |
Since October, 2007, with the aim of democratizing / simplifying / unifying their accessibility, a model of access portal to the HPC resources of the R&D is in test. Via a browser, the users have a consolidated view of all the available computing resources and can execute simple operations (launch, cancel and monitoring of jobs, transfer of files, opening of a connection window).
In 2009, this model has been the subject of a complete revision to get a production version of the portal. In particular, the new architecture will be more scalable by including components and it will be able to get finely interfaced with the SALOME, MarketLab, OpenTURNS platforms or the visualization portal : VisuPortal VisuPortal.
Within the framework of this industrialization, EDF R&D sought the skills of the INRIA in term of middlewares. This collaboration aimed at estimating the adequacy to the EDF needs of the DIET middleware developed since 2001 in the INRIA project-team GRAAL. The chosen strategy was to quickly install on the computing resources a prototype built on the DIET middleware that will have the same functionnalities than the existing access portal.
The software stack presented here can be decomposed in different categories:
The following figure presents the different elements of the DIET middleware with the connected software of the file management system. The Master Agent (MA) is used to find the corresponding service. The Local Agents (LA) are registering a certain number of File Management Daemons that are providing services and give to the MA the corresponding servers. The Client finally communicates with the File Management daemon hosting the desire service by using the reference provided by the MA.
The software stack provided the usual UNIX operations as follows:
| Unix Command | Description | Corresponding DIET command |
| chgrp | Changing the group of a file or directory | diet-chgrp |
| chmod | Changing the permissions of a file or directory | diet-chmod |
| head | Displaying the n first lines of a file | diet-head |
| ls | Listing the content of a directory | diet-ls |
| mkdir | Creating a directory | diet-mkdir |
| rm | Removing a file | diet-rm |
| rmdir | Removing a directory | diet-rmdir |
| tail | Displaying the n last lines of a file | diet-tail |
To these eight commands are added to more commands for the copy and the movement of files corresponding to the usual cp and mv UNIX commands.
The software stack of the DIET Batch Management can be decomposed in different categories :
The DIET Batch Management software stach allow the transparent execution of common batch operations.
| Command (LoadLeveler/Torque) | Description | Corresponding command |
| lsubmit/qsub | Submission of a job | diet-submit |
| llq/qstat | Display of the list of jobs or information about the load of the Batch Scheduler | diet-list |
| lcancel/qdel | Cancellation of a job | diet-cancel |
You can also get information about the current number of jobs in the Batch Scheduler, the current number of waiting jobs and the current number of running jobs.
CeCILL V2
2.4
C and C++
Classical gcc compiler suite
No particular library needed
Linux, MacOS, BlueGene L, BlueGene P
a ssh key pair should allow the user executing DIET to switch to a specific user in order to keep priorities, rights, etc.
diet-chgrp baz bar:foo
diet-chmod 777 bar:foo
diet-cp bar:foo bar2:foo2
You then get a transfer ID you can use to get the status of the file transfer.
diet-head --line 20 bar:foo
diet-ls -al bar:
diet-mkdir -m 777 bar:foo
diet-mv bar:foo bar2:foo2
You can then get the status of the transfer based on the transfer id printed on the screen.
diet-rm bar:foo
diet-rmdir bar:foo
diet-status foo
diet-tail --line 20 bar:foo
diet-cancel --host foo bar
diet-list --host foo
diet-list --host bar --nball
diet-list --host foobar --nbrun
diet-list --host foobar2 --nbwait
diet-submit --host foo script.cmd