Show simple item record

dc.contributor.advisorSrikant, Y N
dc.contributor.authorUpadhyay, Nitesh
dc.date.accessioned2018-05-25T15:23:31Z
dc.date.accessioned2018-07-31T04:40:30Z
dc.date.available2018-05-25T15:23:31Z
dc.date.available2018-07-31T04:40:30Z
dc.date.issued2018-05-25
dc.date.submitted2017
dc.identifier.urihttps://etd.iisc.ac.in/handle/2005/3625
dc.identifier.abstracthttp://etd.iisc.ac.in/static/etd/abstracts/4495/G28466-Abs.pdfen_US
dc.description.abstractGraph algorithms are ubiquitously used across domains. They exhibit parallelism, which can be exploited on parallel architectures, such as multi-core processors and accelerators. However, real world graphs are massive in size and cannot fit into the memory of a single machine. Such large graphs are partitioned and processed in a distributed cluster environment which consists of multiple GPUs and CPUs. Existing frameworks that facilitate large scale graph processing in the distributed cluster have their own style of programming and require extensive involvement by the user in communication and synchronization aspects. Adaptation of these frameworks appears to be an overhead for a programmer. Furthermore, these frameworks have been developed to target only CPU clusters and lack the ability to harness the GPU architecture. We provide a back-end framework to the graph Domain Specific Language, Falcon, for large scale graph processing on CPU and GPU clusters. The Motivation behind choosing this DSL as a front-end is its shared-memory based imperative programmability feature. Our framework generates Giraph code for CPU clusters. Giraph code runs on the Hadoop cluster and is known for scalable and fault-tolerant graph processing. For GPU cluster, Our framework applies a set of optimizations to reduce computation and communication latency, and generates efficient CUDA code coupled with MPI. Experimental evaluations show the scalability and performance of our framework for both CPU and GPU clusters. The performance of the framework generated code is comparable to the manual implementations of various algorithms in distributed environments.en_US
dc.language.isoen_USen_US
dc.relation.ispartofseriesG28466en_US
dc.subjectDistributed Environmenten_US
dc.subjectMulti-core Processorsen_US
dc.subjectArtificial Intelligenceen_US
dc.subjectComputer Networken_US
dc.subjectScale Graphen_US
dc.subjectGraph Algorithmsen_US
dc.subjectBulk Synchronous Parallel (BSP) Modelen_US
dc.subjectLarge Scale Graphen_US
dc.subjectCPU Clusteren_US
dc.subjectGiraphen_US
dc.subject.classificationComputer Scienceen_US
dc.titleLarge Scale Graph Processing in a Distributed Environmenten_US
dc.typeThesisen_US
dc.degree.nameMSc Enggen_US
dc.degree.levelMastersen_US
dc.degree.disciplineFaculty of Engineeringen_US


Files in this item

This item appears in the following Collection(s)

Show simple item record