Research On Serial Program Parallelization Based On Parallelization Case Base | | Posted on:2012-07-03 | Degree:Master | Type:Thesis | | Country:China | Candidate:Y S Zhang | Full Text:PDF | | GTID:2218330338463977 | Subject:Computer application technology | | Abstract/Summary: | | | Today the multi-core multi-processor computer is widely used on the market, but the development of software technology is far behind the hardware's. Most programmers can't master the technology to write parallel programs. Traditional serial programs can't use the excellent computing power of multi-core multi-processor computer sufficiently.The serial programs can be divided into executable parallel program segments with parallelization technology and assigned to run on different processors. So these powerful processors can play an important role on program execution. However, traditional parallel computing technology will focus on the handling of dependency. A lot of parallel algorithms and compilers were developed on the basis of this principle.These algorithms are complex and difficult to realize due to various forms of dependency. The fact influenced the development of parallel computing.Research shows that if there are some specific common features in programs, they can adopt the same or similar parallelization solutions. This paper don't adopt the traditional way to realize parallelization by identify the dependencies. The concept of parallelization patterns will be proposed by learning from design patterns in serial programming field. The parallelization solutions will classify into different patterns. A knowledge-base based on parallelization case of serial programs will be designed and developed, which contains the characteristics and solutions of these patterns, then develop a compiler supporting automatic parallelization on the basis of this base. The compiler works for multi-core multi-processor computers. The frame of parallel programs will be automatically generated by obtaining the parallel solutions from Knowledge-base using CBR technology. This method can reduce the burden of programmers, and achieve the purpose of code reuse by using precious resources accumulated by the development of parallel computing. The base also has the learning ability. The new case can be added into the base to adapt all kinds of new problems, and improve the accuracy of parallelization solutions. The input of compilers is common programs, and output is corresponding parallelization solutions. Not limited to handling the traditional regular scientific computing applications, the compiler will expand its services to handle general applications with irregular data structures and improve the utilization of multi-core multi-processor computer for software. | | Keywords/Search Tags: | Automatic parallelization, Knowledge base, Design Patterns, CBR, Compiler | | Related items |
| |
|