Font Size: a A A

Study On Parallel Programming Models

Posted on:2007-06-26Degree:DoctorType:Dissertation
Country:ChinaCandidate:Z YaoFull Text:PDF
GTID:1118360185951402Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
The computation power of parallel computers has been increased exponentially according to Moore's Law, and new parallel architectures contigously emerge. However, parallel computing has never been able to become the real mainstream. People gradually recognized that only being able to design and build parallel hardware was not enough. The real challenge turned out to be software that supports parallel programming. Most existing parallel programming systems suffer a low abstraction level, and parallel programming within them is difficult. Parallel programs are always much more complex than their corresponding parallel algorithms, and hence suffer from poor readibility and extensibility. While on the other hand, the diversity of parallel architectures leads to the diversity of parallel programming models and software systems, thus limits the genericity and flexibility of parallel programs. The key problem that we would like to solve is how to promote the abstraction level of parallel programming models and their corresponding parallel programming systems, support the development of generic parallel data structures and algorithms, and finally promote the productivity of parallel programming. In order to sovle the above problems, the research works in this dissertation are:(1) Study on Message-Passing Parallel Programming ModelMotivated by the low abstraction of existing message-passing systems, we proposed a new generic object-oriented message-passing interface — GOOMPI. We created a complete framework for data partition, serialization and transmission, and effectively solved the problem of transferring arbitrary user-defined, complex, dynamic data structures as well as abstract data types. We designed and implemented the policy-based versatile communication port to support stream-style message-passing and message type checking mechanisms. GOOMPI supports rapid and intuitive mapping from message-passing based parallel algorithms to corresponding parallel programs. We also implemented several typical message-passing based parallel algorithms in GOOMPI, and compared them with their MPI counterparts.(2) Study on Shared Memroy Parallel Programming ModelMotivated by the disadvantages of existing multithread programming systems, we proposed a new parallel multithreading interface — PMT, which requires no language extensions or proprietary compilers. It provides direct support for multithreaded parallel programming, including parallel task management, thread pool, various parallel regions, static and dynamic scheduling of parallel loops, and various shared data structures which support parallel access. We also parallelized several data structures and algorithms from the C++ Standard Template Library using PMT.(3) Study on Lock-Free Speculative Parallel ThreadingWe discussed the technique of Speculative Parallel Threading using Transactional eXecution (SPT/TX), which is based on the future multi-core architecture. Because that...
Keywords/Search Tags:Parallel Computing, Parallel Programming Model, Message Passing Model, Shared Memory Model, Unified Parallel Programming Model, Transactional Memory, Speculative Parallel Threading, Object Oriented Programming, Generic Programming
PDF Full Text Request
Related items