Font Size: a A A

Design And Implementation Of A Cross-Platform Framework For Parallel Programming Using Directives Scheme

Posted on:2021-03-15Degree:MasterType:Thesis
Country:ChinaCandidate:P J TangFull Text:PDF
GTID:2428330605480085Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
With the development and popularization of parallel computing technology,there are a large number of serial programs in the industry which need to be transformed into parallel programs urgently to improve the data processing ability.Parallelization for serial programs has two basic problems:(1)High cost of parallel programming.Con-current programming requires professional ability of parallel programming and substan-tial engineering experience.Developing parallel programs requires a lot of engineering costs and time.(2)Diversity of parallel platforms.As the number of various parallel hardware platforms and parallel programming models increases and become diverse,the ability to quickly generate parallel programs for the desired target parallel platform is required.To solve these two problems,parallel programming needs to be assisted by an efficient and easy-to-use parallel programming framework.For this reason,this thesis designs and implements a three-tier parallel program-ming framework based on directives scheme.The main ideas and methods are:(1)Structure design of parallel programming framework.A three-tier framework is de-signed,which is the serial program layer,the parallel intermediate code layer,and the target parallel program layer.Parallel intermediate code layer with parallel semantics is implemented by adding directives on serial code.The executable target parallel pro-gram layer is implemented by code parsing of parallel intermediate code layer.Parallel intermediate code layer is actually an abstraction of many parallel platform program-ming models,independent of specific parallel platforms.(2)Parallel mechanism and directives scheme design.By abstracting data parallel tasks under several parallel pro-gramming models(shared memory parallel model,distributed memory parallel model,multitask operating system parallel model and GPU parallel model),a standard task model based on data parallel is established,which consists of three computing phases:data partitioning and distribution,data calculation,data collection.A set of directives scheme is designed to express platform-independent parallel semantics to assist the par-allel programming framework in code parsing.The code parsing system converts the serial programs into user-specified platform parallel programs to achieve cross-platform parallelization of serial programs.(3)Design of assistant system.A performance di-rectives scheme is designed for automatic optimization of program performance pa-rameters,such as number of threads and processes,task load,etc.The optimization system improves the performance of parallel programs.In addition,the framework in-cludes building a cross-platform parallel computing environment and setting up parallel conditions.This framework is suitable for computing-based streaming data processing tasks on multiple software platforms(Windows,Linux,VxWorks)and hardware plat-forms(X86 and PowerPC).Finally,the parallel programming framework is applied to a radar data process-ing project.The application reflects that the framework can produce parallel programs with user-specified parallel platforms,and the results are consistent with those of cor-responding serial programs;and the performance of parallel programs generated by the framework on shared and distributed storage platforms is evaluated,with an accelera-tion ratio comparable to that of manually written parallel programs.
Keywords/Search Tags:directives, cross-platform, parallel programming framework, parallel computing, sequential code
PDF Full Text Request
Related items