Title: Programming and Optimization of Big Data Applications on Heterogeneous Computing Systems
Subject: Computer and Information Science
Faculty: Faculty of Technology
Date: Thursday 20 December 2018 at 3.00 pm
Place: Room D1136, building D, Växjö
External reviewer: Associate Professor Paweł Czarnul, Gdańsk University of Technology, Poland
Examining committee: Professor Erwin Laure, KTH Royal Institute of Technology, Sweden; Professor Kristian Sandahl, Linköping University, Sweden; Associate Professor Miquel Pericas, Chalmers University of Technology, Sweden
Chairperson: Associate Professor Arianit Kurti, Department of Computer Science and Media Technology, Linnaeus University
Main supervisor: Associate Professor Sabri Pllana, Department of Computer Science and Media Technology, Linnaeus University
Assistant supervisor: Senior Lecturer Jesper Andersson, Department of Computer Science and Media Technology, Linnaeus University
Examiner: Professor Welf Löwe, Department of Computer Science and Media Technology, Linnaeus University
Spikning: Thursday 29 November 2018 at 10.00 am at the University library in Växjö
The next-generation sequencing instruments enable biological researchers to generate voluminous amounts of data. In the near future, it is projected that genomics will be the largest source of big-data. A major challenge of big data is the efficient analysis of very large data sets. Modern heterogeneous parallel computing systems, which comprise multiple CPUs, GPUs, and Intel Xeon Phis, can cope with the requirements of big-data analysis applications. However, utilizing these resources to their highest possible extent demands advanced knowledge of various hardware architectures and programming frameworks. Furthermore, optimized software execution on such systems demands consideration of many compile-time and run-time system parameters.
In this thesis, we study and develop parallel pattern matching algorithms for heterogeneous computing systems. We apply our pattern matching algorithm for DNA sequence analysis. Experimental evaluation results show that our parallel algorithm can achieve more than 50x speedup when executed on host CPUs and more than 30x when executed on Intel Xeon Phi compared to the sequential version executed on the CPU.
Thereafter, we combine machine learning and search-based meta-heuristics to determine near-optimal parameter configurations of parallel matching algorithms for efficient execution on heterogeneous computing systems. We use our approach to distribute the workload of the DNA sequence analysis application across the available host CPUs and accelerating devices and to determine the system configuration parameters of a heterogeneous system that comprise Intel Xeon CPUs and Xeon Phi accelerator. Experimental results show that the execution that uses the resources of both host CPUs and accelerating device outperforms the host-only and the device-only executions.
Furthermore, we propose programming abstractions, a source-to-source compiler, and a run-time system for heterogeneous stream computing. Given a source code annotated with compiler directives, the source-to-source compiler can generate device-specific code. The run-time system can automatically distribute the workload across the available host CPUs and accelerating devices. Experimental results show that our solution significantly reduces the programming effort and the generated code delivers better performance than the CPUs-only or GPUs-only executions.