In order to fully exploit the DEISA supercomputing infrastructure, effective software development tools, customized over resource specifics, must be provided to the user communities in order to facilitate the process of developing scientific applications. The goal of our work is to provide an effective environment for application development, based on a software platform where different tools coexist and work together. Furthermore, we aim to provide a common user interface to operate across different computing platforms, while remaining agnostic to the actual tools deployed.
Description of the work
In recent years, it has become evident that high-performance application development must be supported by effective tools in order to achieve the goal of a sustained utilization of high-performance systems. Users perceive a lack of tools on the ever increasingly complex high performance computing system as a frequent impediment that keeps them from realizing the full potential of the machines they are accessing. However, many tools are actually available but they are either only supported on a limited number of platforms or have to be adapted to the infrastructure before being employed easily or effectively in the application development process. This work proposes a software infrastructure where a number of tools, necessary for application development on high performance computing system, can coexist and operate together to provide a common user interface across heterogeneous computing platforms like DEISA.
The software infrastructure is based on Eclipse and on the Parallel Tools Platform (PTP). Eclipse is a well-known Java-based integrated development environment (IDE) that provides numerous tools, all accessible from a common graphical interface, which are essential for developing enterprise level applications.
The integration between Eclipse and PTP, encompassing other components, will bring to researchers and software developers a standardized and uniform interface to effectively and efficiently perform all the steps which are necessary to develop and execute parallel applications across heterogeneous resources. The resulting environment is referred as the DEISA Development Environment (D2E). The functionalities provided by the environment have been tailored to DEISA infrastructural requirements and specifics.
The adoption of the presented platform in production environment looks promising even though some instabilities problems need to be addressed before distributing the software to the user community.
By means of the D2E, application developers will see immediate productivity benefits using such integrated environment. These benefits include:
a) an integrated interface for developing, launching, debugging and executing scientific applications; b) a simplified approach for porting applications across heterogeneous execution environments; c) a dynamic platform that can be easily extended to accommodate new tools with the consequence to provide new functionalities; d) a customizable environment that permits user personalize the environment interfaces and perspectives as they wish.