Font Size: a A A

Researches On Key Technologies Of Many-core Processor Programming Paradigms

Posted on:2012-02-26Degree:DoctorType:Dissertation
Country:ChinaCandidate:C T HongFull Text:PDF
GTID:1118330362468013Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
Programming has been one of the fundamental problems for many-core processors. Cur-rent programming paradigms for many-core processors offer high performance at the cost ofhigh programming complexity and poor portability. Though a lot of effort has been spent indevelopingnew programming paradigms, theproblem of programmability and portability stillremains. This dissertation proposes the use of high level programming paradigms for many-core processors. The use of high level programming paradigms can help solve the problemsin many-core processor programming. The contributions of this work include:1. Proposing the use of algorithmic skeletons for many-core processors to solve the prob-lem of programmability and portability. Algorithmic skeletons are typical high levelprogramming paradigms. They provide high level abstractions of the underlying sys-tem, which eases the programming and makes code more portable.2. Designing MapCG, a MapReduce-based unified programming paradigm for many-coreprocessors. MapCG provides the programmer with a MapReduce-based programminginterface, which makes it easy to program many-core processors. The design of MapCGruntime system also guarantees that code written in MapCG is portable among differentprocessors.3. ImplementationofMapCGonCPUandGPU.ThepresentedimplementationofMapCGenables code to be run on CPU and GPU. It also enables CPU-GPU co-processing.Some optimization techniques, such as a customized memory allocator and a concurrenthash table for GPU are also presented. Experiments show that code written in MapCGachieves performance close to those written in CUDA and POSIX Threads.4. Design and implementation of PRCC, a programming paradigm for SCC and CPU.PRCC is based on Pregel. Like MapCG, it enables portability between different pro-cessors. The implementations on SCC and CPU are presented, which are based onRCCE and MPI, correspondingly. Experimental results show that code written in PRCCachieves performance similar to hand written code.
Keywords/Search Tags:Many-Core Processor, Programming Paradigms, GPU, SCC, MapReduce, Pregel
PDF Full Text Request
Related items