Summary: | 碩士 === 輔仁大學 === 資訊工程學系 === 97 === Multiple-core processors are already ubiquitous. After 2005, the dual-core era arrived, multiple-core applications already have significant influence to general applications.
Multiple-core computers are already around us, the servers, the desktops, the nettops and the laptops have already been moved to the framework of multiple-core processers. This also means that we need more efficient parallel programming to become multiple-core effective.
For programmers, besides writing new parallel programs, still have to face the task of upgrading old programs to multiple-core computers. The parallel programming languages such as POSIX Threads、Windows Threads、Microsoft Task Parallel Library(TPL)、Boost Threads、OpenMP and IntelR Threading Building Blocks all can be used to program Task and Data Parallelism programs. But we are still in need of the development tool for pipelined parallel programs.
This research tries to build a basic pipelined parallel programming environment by using OpenMP API. Using this environment, programmers can modify existing sequencial C programs, to become coarse-grained pipeline parallel programs. Tested on a four-core machine with three different examples (a streaming application: MPEG-2 decoding, a data compression program: bzip2, and a graphic tool: Ray Tracing), we showed that some sequencial C programs can exploit the advantages of parallel processing through pipelined parallelism.
|