Font Size: a A A

Data Similarity Analysis And Optimization Technology For MPI Programs

Posted on:2011-07-17Degree:MasterType:Thesis
Country:ChinaCandidate:F D LiuFull Text:PDF
GTID:2178330338490092Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
Recently, with the development of semiconductor technics and architecture, multicore processors with shared memory architecture become the mainstream of general microprocessors. MPI (Message Passing Interface) is one of the most widely used programming models in parallel computers, and massive MPI applications exist in numerous fields. However, researches show that, a kind of data exists in traditional MPI programs extensively, and their values are the same though each process accesses its own copy of the data privately during execution. Consequently, the accesses to these data have similarity and traditional MPI programs need to create a copy of them for each process when executing. It aggravates the competition of shared memory source and leads to the inefficiency when traditional MPI programs execute in parallel computers with shared memory architecture.To avoid the effects of similarity on program performance when the processes of traditional MPI programs access data, this paper carries out researches in the following three aspects.Firstly, this paper gives the definition of similar data, analyzes the characteristics of similar data in traditional MPI programs, and then proposes an optimization method by sharing similar data. The author uses the SUIF2 system, an open-source compiler, to design a basic framework of the method for optimizing similar data. This framework indicates the idea of optimizing similar data and establishes the foundation for automatically implementing compiler optimization on similar data.Secondly, this paper sets up an analysis model for the competition of sharing similar data, defines a series of important concepts such as the competition of sharing similar data and the competition error, analyses the effects of the competition for sharing similar data on MPI programs sharing similar data, proposes and proves the conditions ensuring that no competition error exists in MPI programs sharing similar data and defines optimizing rules which meet the conditions above by using barrier synchronization and private mechanisms. In addition, this paper extends the existing MPI programming model to identify the whole information needed in the course of compiler optimization on similar data, which provides the support for automatically implementing compiler optimization on similar data.Finally, this paper designs MPI-Optimizer, a tool optimizing similar data. Combined with the shared memory mechanism, dynamic storage allocation mechanism in operating system and synchronization mechanism in existing MPI programming model, this paper uses some classes and functions in SUIF2 system to implement MPI-Optimizer in detail, and thus achieving compiler optimization on similar data in traditional MPI programs automatically.Experimental results show that the MPI programming model extended in this paper is a correct and effective one, and MPI-Optimizer, a tool of compiler optimization on similar data designed and implemented in this paper, decreases the memory occupancy remarkably, reduces the cache miss rate and improves the efficiency of program execution.
Keywords/Search Tags:MPI, Data Similarity, Multicore Processor, SUIF, Compiler Optimization, MPI-Optimizer
PDF Full Text Request
Related items