Algorithmic and Software System Support to Accelerate Data Processing in CPU-GPU Hybrid Computing Environments
Kaibo Wang · OhioLink ETD Center (Ohio Library and Information Network) · 2015
Massively data-parallel processors, Graphics Processing Units (GPUs) in particular, have recently entered the main stream of general-purpose computing as powerful hardware accelerators to a large scope of applications including databases, medical informatics, and big data analytics.However, despite their performance benefit and cost effectiveness, the utilization of GPUs in production systems still remains limited.A major reason behind this situation is the slow development of supportive GPU software ecosystem.More specially, (1) CPU-optimized algorithms for some critical computation problems have irregular memory access patterns with intensive control flows, which cannot be easily ported to GPUs to take full advantage of its fine-grained, massively dataparallel architecture; (2) commodity computing environments are inherently concurrent and require coordinated resource sharing to maximize throughput, while existing systems are still mainly designed for dedicated usage of GPU resources.In this Ph.D. dissertation, we develop efficient software solutions to support the adoption of massively data-parallel processors in general-purpose commodity computing systems.Our research mainly focuses on the following areas.First, to make a strong case for GPUs as indispensable accelerators, we apply GPUs to significantly improve the performance of spatial data cross-comparison in digital pathology analysis.Instead of trying to port existing CPU-based algorithms to GPUs, we design a new algorithm and fully optimize it to utilize GPU's hardware architecture for high performance.Second, we