Font Size: a A A

The Design And Implementation Of A Platform-independent Parallel Programming Model

Posted on:2015-02-05Degree:MasterType:Thesis
Country:ChinaCandidate:T LiFull Text:PDF
GTID:2268330428499867Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
The development of parallel computer architectures leads to the rapid im-provement of performance and the variety of computing platforms, and thus poses the following challenges to researchers and users:(1) How to reduce the complex-ity of parallel computing, so that users without parallel computing knowledge can also develop parallel programs quickly and effectively, and the computing ability of parallel computers can be fully exploited in different application area;(2) How to parallelize so many existing sequential programs to in a gradual, non-subversive way;(3) How to make parallel programming independent of hardware platform, so that programs can still execute when the lower computing platform changes. Currently, the most effective way to solve parallel programming problems is to design an effective parallel programming model.We design and implement a parallel-library-based parallel programming mod-el. Design of the programming model is led by the following goals and techniques:(1) To simplify parallel programming, and propose a non-subversive way to par-allelize existing sequential programs, hide low-level parallelization details with parallel libraries, and provide programming interfaces that are similar to tradi-tional sequential programming. By calling these APIs, users can develop parallel programs in the same developing logic as traditional sequential programming.(2) To realize platform-independence, encapsulate functions in different platform-dependent libraries with common APIs. Users develop parallel programs by calling these platform-independent APIs, so that their programs can execute on differ-ent computing platforms without adaption.(3) To improve the performance of programs, provide task-scheduling and data-division functions, so that the sys-tem can achieve relatively good load-balance and lower parallel overhead.(4) As with extendibility, this system is extendible in function aspect and platform aspect. Function extendibility means that the application libraries can be extend-ed, and can be developed into a professional programming model for a specific application area; Platform extendibility means that new computing platforms can be supported. We design three experiments via matrix-multiplication algorithm and frequency-statistics algorithm, relatively to test the programming model’s platform-independency, multi-task scheduling’s efficiency, and the cost of the programming model. Experiments show that the programming model can effec-tively simplify parallel programming, and programs based on this programming model can be compiled and executed on different computing platforms; The sys-tem’s task-scheduling function can improve the overall performance of multi-task problems; Programming model possibly causes some cost but doesn’t effect the overall performance of programs.A remote-sensing image processing parallel programming model is designed by extending the original programming model. The extended parallel program-ming model inherits the simplicity and platform-independence from the original system, and has more features like extended data structures specific to remote-sensing data, and a geo-special data format supporting library. A special hierar-chical designed is also applied to the libraries according to the remote-sensing im-age processing algorithms’characteristics, for the aim of reducing code-redundancy. A remote-sensing image unsupervised classification experiment is executed on the extended parallel programming model, which verifies the effectiveness of the pro-gramming model.
Keywords/Search Tags:parallel computing, parallel programming model, platform-independence, remote-sensing image processing
PDF Full Text Request
Related items