GRID superscalar

Overview: 

logoGRID superscalar is a new programming paradigm for GRID enabling applications, composed of an interface and a run-time. With GRID superscalar a sequential application composed of tasks of a certain granularity is automatically converted into a parallel application where the tasks are executed in different servers of a computational GRID.

The behavior of the application when run with GRID supescalar is the following: for each task candidate to be run in the GRID, the GRID superscalar run-time inserts a node in a task graph. Then, the GRID superscalar run-time system seeks for data dependences between the different tasks of the graph. If a task does not have any dependence with previous tasks which have not been finished or which are still running, it can be submitted for execution to the GRID. If that occurs, the GRID superscalar run-time requests a GRID server to the broker and if a server is provided, it submits the task. Those tasks that do not have any data dependence between them can be run on parallel on the grid. This process is automatically controlled by the GRID superscalar run-time, without any additional effort for the user. GRID superscalar is notified when a task finishes. Next, the data structures are updated and any task than now have its data dependences resolved, can be submitted for execution.

Objectives: 

Grid computing is becoming a very important research and development area in this decade. However, one of the important concerns of the Grid community is whether or not a killer application will appear or not. This concern comes partially because of the difficulty of writing applications for a computational Grid.

Although skilled programmers may be willing and able to write applications with complex programming models, scientists usually expect to find easy programming methodologies that allow them to develop their applications with both flexibility and ease of use.

The aim of GRID superscalar is to reduce the development complexity of Grid applications to the minimum, in such a way that writing an application for a computational Grid may be as easy as writing a sequential application. It is a new programming paradigm for Grid-enabling applications, composed of an interface, a run-time and a deployment center.

With GRID superscalar a sequential application composed of tasks of a certain granularity is automatically converted into a parallel application where the tasks are executed in different servers of a computational Grid.

Additional Information: 

Work in progress

We are currently devoting our efforts in the following directions:

  • GRID superscalar integrated version on top of Globus Toolkit versions 2 and 4, Ninf-G and ssh/scp
  • Improvements of the runtime data-dependence analysis based on all type of parameters (not only file-based)
  • Fault tolerance support in the run-time.
  • Enhancements in the Graphical monitoring tool
  • Enhancements in Java and shell-script bindings

Contact

grid-superscalaratbsc [dot] es (grid-superscalar.at.bsc.es)

European Projects