Deployment Center

One of the main objectives of GRID superscalar is usability. The deployment center it is devoted to reduce the complexity of the application deployment when GRID superscalar is used.

The deployment center is a Java based Graphical User Interface. It implements the following tasks:

  • Configuration file generation: it automatically generates a the configuration file required to run a GRID superscalar application. Previously, these files were written by hand by the application developers.
  • Compilation of the main program in the localhost and server programs in the server hosts.
  • Early failure detection.

The deployment center allows to specify two sets of information, which are kept in xml files and can be reused in forthcoming sessions: the computational grid configuration and the application configuration.

The information stored for each host included in the computational grid include aspects as the paths where the middleware and the GRID superscalar library are installed in the machine, the queues that can be used for deploying or execution, the maximum number of jobs that can be send concurrently, ...

Figure 1 shows the window which is offered to the user to allow him to enter the information related to a server host
 

GSDC_window_host_conf
Figure 1: Host configuration window


The information about the hosts should only be entered the first time a host is included in the virtual computing grid. Afterwards, this information is kept in a hidden configuration file and recovered each time the deployment center is started. However, the user can modify the characteristics, add or remove hosts at any session of the deployment center.

The application configuration, or project configuration, is the information corresponding to a given application. As with the grid configuration information, this data can be stored in a file and recovered in forthcoming deployment center sessions.

For each project, the user should provide the initial path where the source files are located, the hosts that will act as servers, information about the possible shared working or input directories and estimations about the duration of each task in each host.

Figure 2 shows an example of the window used to enter each project information.
 


Figure 2: Project configuration window


Once the deployment center is started, if a host configuration file is present in the users home directory, the status of each host is checked. If this check process fails at some point it is notified to the user through the log window in the main deployment center window. Further information about the error can be found by clicking on the error message.

If a host is available (the check process has been successfully run) and the user select it for the grid configuration of a given project, the deployment center starts the deployment of the project on the given host. The deployment of a project in a hosts basically consists of the remote compilation of the source code of the worker. It is important to remark that this process is performed automatically, without requiring any help from the user. In case the deployment fails, a log message reporting the error is printed.

Finally, when all information about the project has been entered (shared disks, estimations...) the main program is ready for deployment. The deployment of the main program consists of the compilation of the application main program and of the generation of the required configuration files. As before, an error message is logged in case of failure.

After all these steps have been successfully finished, the application is ready for execution in the grid.