Font Size: a A A

The Study And Implementation Of Visual Parallel Programming Platform Based On MPI

Posted on:2012-08-10Degree:MasterType:Thesis
Country:ChinaCandidate:L LiFull Text:PDF
GTID:2178330335950762Subject:Computer system architecture
Abstract/Summary:PDF Full Text Request
With the increasingly demand of High Performance Computing, the technology of parallel computing has become the most important solution. Parallel programming is so complex, that compared with the development and progress of parallel computing technology, the specific application of parallel computing and programming environment is far behind. Therefore, it is very difficult to use the parallel technology to solve practical problems actually, especially for the non-computer professionals. The practice shows that the visual parallel programming development platform based on control can provide users with friendly interface and lower the threshold of parallel programming, but also effectively improve the programming efficiency.In this paper, firstly summarize the research status of parallel computing and the current problems that existed. Then analyze the current difficulties, development and trends in the study of parallel programming environment, and also comparatively analyze the advantages and disadvantages between PVM and MPI that based on message passing model. On the basis of the study above, a visual parallel programming platform for windows environment is proposed, which is based on MPI, control, visualization and friendly user interface.Divided from the view of logic function, the platform is formed by the five major functional modules. They are task descriptor, task allocator, the descriptor of process task, the code generator and the background memory, that there is close relationship among the various parts. With the interface of task description provided by the task descriptor, users can describe the parallel tasks and the communications between tasks graphically. The task allocator is responsible for selecting the tasks allocation strategy, and will assign the tasks to the various processes. The descriptor of process task is used to describe the distribution of tasks between processes and the communications between processes graphically. According to the graph provided by descriptor of process task, the code generator will automatically generate parallel code. The background memory which is a back-end database, is responsible for storing the task graph, task process description graph, task allocation strategy and project information.In this paper the main contents include:1. The visual front based on controls is designed and implemented by researching on the relevant elements of MPI parallel programming, which are abstracted and expressed by the graphical controls.2. The visual task allocation which is provided by the platform is implemented by the complete visualization of the task description graph, the optional task allocation strategy, the tasks and processes description graph, the allocation process of the task and the allocation results.3. The parallel code templates which are consisted of three levels are abstracted from the research of MPI parallel programming process, the basic framework of MPI program and the design patterns based on MPI. According to the processes and tasks description diagram, using the parallel code templates, it can automatically generate source code of the parallel program.4. The background memory which is back-end database is responsible for storing the task graph, task process description graph, task allocation strategy and project information. With these information which is stored, the platform has the reproducibility, so it is convenient for users to change and view the solutions of the question.5. There are extensions of the platform. The first one is for the compilation, debugging, analyzing. The second one is for the strategy of dynamic scheduling for the tasks.In this paper the main innovations are as follow:1. The visual task allocation. With the processes and tasks description graph and the tasks description graph, users can clearly observe the information of tasks distribution between processes.2. The platform is universal. With breaking the existed limitations, the platform is neither for specific areas of expertise, nor based on the template and the wizard.3. With the storing information in the back-end database, the platform has the reproducibility. And with the vivid graphics and visual control icons, the parallel programming platform is friendly.The platform can effectively simplify the process of writing parallel programs. It just only needs the users who may not be very familiar with the underlying communication statements of parallel programming to give the graphical describe of the parallel tasks and the allocation strategy of the tasks, then the parallel programs will be automatically translated from the graphical description. It proved that this platform not only provides users with the friendly development interface which can reduce the threshold of parallel programming, but also effectively improves the programming efficiency.
Keywords/Search Tags:Parallel Computing, Visualization, Parallel Programming Environment, Message Passing Interface, MPI, Parallel Code Template
PDF Full Text Request
Related items