A MapReduce Framework for Heterogeneous Computing Architectures

dc.contributor.authorElteir, Marwa Khamisen
dc.contributor.committeechairFeng, Wu-chunen
dc.contributor.committeecochairLin, Heshanen
dc.contributor.committeememberButt, Ali R.en
dc.contributor.committeememberTilevich, Elien
dc.contributor.committeememberXiaosong, Mamen
dc.contributor.departmentComputer Scienceen
dc.date.accessioned2014-03-14T20:15:40Zen
dc.date.adate2013-06-01en
dc.date.available2014-03-14T20:15:40Zen
dc.date.issued2012-08-15en
dc.date.rdate2013-06-01en
dc.date.sdate2012-08-24en
dc.description.abstractNowadays, an increasing number of computational systems are equipped with heterogeneous compute resources, i.e., following different architecture. This applies to the level of a single chip, a single node and even supercomputers and large-scale clusters. With its impressive price-to-performance ratio as well as power efficiently compared to traditional multicore processors, graphics processing units (GPUs) has become an integrated part of these systems. GPUs deliver high peak performance; however efficiently exploiting their computational power requires the exploration of a multi-dimensional space of optimization methodologies, which is challenging even for the well-trained expert. The complexity of this multi-dimensional space arises not only from the traditionally well known but arduous task of architecture-aware GPU optimization at design and compile time, but it also arises in the partitioning and scheduling of the computation across these heterogeneous resources. Even with programming models like the Compute Unified Device Architecture (CUDA) and Open Computing Language (OpenCL), the developer still needs to manage the data transfer be- tween host and device and vice versa, orchestrate the execution of several kernels, and more arduously, optimize the kernel code. In this dissertation, we aim to deliver a transparent parallel programming environment for heterogeneous resources by leveraging the power of the MapReduce programming model and OpenCL programming language. We propose a portable architecture-aware framework that efficiently runs an application across heterogeneous resources, specifically AMD GPUs and NVIDIA GPUs, while hiding complex architectural details from the developer. To further enhance performance portability, we explore approaches for asynchronously and efficiently distributing the computations across heterogeneous resources. When applied to benchmarks and representative applications, our proposed framework significantly enhances performance, including up to 58% improvement over traditional approaches to task assignment and up to a 45-fold improvement over state-of-the-art MapReduce implementations.en
dc.description.degreePh. D.en
dc.identifier.otheretd-08242012-153113en
dc.identifier.sourceurlhttp://scholar.lib.vt.edu/theses/available/etd-08242012-153113/en
dc.identifier.urihttp://hdl.handle.net/10919/28786en
dc.publisherVirginia Techen
dc.relation.haspartElteir_MK_D_2012.pdfen
dc.rightsIn Copyrighten
dc.rights.urihttp://rightsstatements.org/vocab/InC/1.0/en
dc.subjectAtomicsen
dc.subjectGraphics Processing Unitsen
dc.subjectProgramming Modelsen
dc.subjectHeterogeneous Computingen
dc.subjectMapReduceen
dc.titleA MapReduce Framework for Heterogeneous Computing Architecturesen
dc.typeDissertationen
thesis.degree.disciplineComputer Scienceen
thesis.degree.grantorVirginia Polytechnic Institute and State Universityen
thesis.degree.leveldoctoralen
thesis.degree.namePh. D.en

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Elteir_MK_D_2012.pdf
Size:
781.87 KB
Format:
Adobe Portable Document Format