A SIMILARITY-BASED ANALYSIS TOOL FOR SCIENTIFIC APPLICATION PORTING
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Porting applications to a new system is a nontrivial job in the HPC field. It is a very time-consuming, labor-intensive process, and the quality of the results will depend critically on the experience of the experts involved. In order to ease the porting process, we propose a methodology to address an important aspect of software porting that receives little attention, namely planning support. When a scientific application consisting of many subroutines is to be ported, the selection of key subroutines greatly impacts the productivity and overall porting strategy, because these subroutines may represent a significant feature of the code in terms of functionality, code structure, or performance. They may also serve as indicators of the difficulty and amount of effort involved in porting a code to a new platform. The proposed methodology is based on the idea that a set of similar subroutines can be ported with similar strategies and result in a similar-quality porting. By viewing subroutines as data and operator sequences, analogous to DNA sequences, we are able to use various bio-informatics techniques to conduct the similarity analysis of subroutines while avoiding NP-complete complexities of other approaches. To further improve accuracy for porting, we also merged some other code metrics and cost-model metrics for similarity analysis to capture the internal code characteristics. In this dissertation, we describe our methodology, which includes presentation of a tool called Klonos. To evaluate the effectiveness of Klonos, we used it to conduct experiments to find strategies for porting of several scientific benchmarks and a large scientific application. Our experiment shows Klonos is very effective for providing a systematic porting plan to guide the users during their porting process of reusing similar porting strategies for similar code regions.