Title :
Design and Optimization of a Big Data Computing Framework Based on CPU/GPU Cluster
Author :
Yanlong Zhai ; Ying Guo ; Qiurui Chen ; Kai Yang ; Mbarushimana, Emmanuel
Author_Institution :
Beijing Eng. Res. Center of Massive Language Inf. Process. & Cloud Comput. Applic., Beijing Inst. of Technol., Beijing, China
Abstract :
Big data processing is receiving significant amount of interest as an important technology to reveal the information behind the data, such as trends, characteristics, etc. MapReduce is one of the most popular distributed parallel data processing framework. However, some high-end applications, especially some scientific analyses have both data-intensive and computation intensive features. Therefore, we have designed and implemented a high performance big data process framework called Lit, which leverages the power of Hadoop and GPUs. In this paper, we presented the basic design and architecture of Lit. More importantly, we spent a lot of effort on optimizing the communications between CPU and GPU. Lit integrated GPU with Hadoop to improve the computational power of each node in the cluster. To simplify the parallel programming, Lit provided an annotation based approach to automatically generate CUDA codes from Hadoop codes. Lit hid the complexity of programming on CPU/GPU cluster by providing extended compiler and optimizer. To utilize the simplified programming, scalability and fault tolerance benefits of Hadoop and combine them with the high performance computation power of GPU, Lit extended the Hadoop by applying a GPUClassloader to detect the GPU, generate and compile CUDA codes, and invoke the shared library. For all CPU-GPU co-processing systems, the communication with the GPU is the well-known performance bottleneck. We introduced data flow optimization approach to reduce unnecessary memory copies. Our experimental results show that Lit can achieve an average speedup of 1× to 3× on three typical applications over Hadoop, and the data flow optimization approach for the Lit can achieve about 16% performance gain.
Keywords :
Big Data; data flow computing; optimising compilers; parallel architectures; parallel programming; public domain software; software fault tolerance; Big Data computing framework; Big Data processing; CPU-GPU cluster; CPU-GPU co-processing systems; CUDA codes; GPUClassloader; Hadoop codes; Lit high performance Big Data process framework; MapReduce; annotation based approach; data flow optimization approach; distributed parallel data processing framework; extended compiler; fault tolerance; optimizer compiler; parallel programming; scientific analyses; shared library; Computer architecture; Data processing; Graphics processing units; Java; Kernel; Optimization; Programming;
Conference_Titel :
High Performance Computing and Communications & 2013 IEEE International Conference on Embedded and Ubiquitous Computing (HPCC_EUC), 2013 IEEE 10th International Conference on
Conference_Location :
Zhangjiajie
DOI :
10.1109/HPCC.and.EUC.2013.147