A GPU-based Engine for Dynamic Sparse Matrix Analytics
Project Name: A GPU-based Engine for Dynamic Sparse Matrix Analytics
Project Sponsor: Ministry of Education
Grant Amount: S$650,200
Duration: 3 Years
Description: In many applications (such as graph or text analytics), data are naturally represented in the form of a sparse matrix (SM), and queries are often supported by operations on the matrix that may run iteratively (e.g., power method and conjugate gradient). The high computation overhead has prompted studies into exploiting GPUs for easily parallelizable matrix operations. Moreover, GPUs offer high throughput and memory bandwidth (in comparison to the CPU counterpart) that make them even more attractive. However, existing research has primarily focused on static data, i.e., the matrix does not change. This renders existing solutions that compress/compact a matrix ineffective/inefficient for real-time data streaming applications where the matrix has to be updated frequently. For example, in a social network, the graph representing the network is constantly changing as new edges are added, and existing edges are removed as relationships between users change. In this case, the entire compressed/compact matrix has to be reconstructed whenever there is an update!
This project seeks to develop a novel system called MAGE (Matrix Analytics on GPU-based Engine) that runs on a CPU-GPU heterogeneous architecture. MAGE aims to support efficient dynamic updates (both insertions and deletion) for real-time streaming applications. Concurrently, MAGE is a query engine that supports a large number of queries over the dynamically changing matrix. We will demonstrate the feasibility and effectiveness of MAGE on two real-life applications. Eventually, this research is the first of its kind that handles matrix operations on GPU over streaming data and substantially broadens the class of applications that can be currently supported.