Font Size: a A A

Techniques for Characterizing the Data Movement Complexity of Computations

Posted on:2017-05-31Degree:Ph.DType:Dissertation
University:The Ohio State UniversityCandidate:Elango, VenmugilFull Text:PDF
GTID:1468390014474196Subject:Computer Science
Abstract/Summary:
The execution cost of a program, both in terms of time and energy, comprises computational cost and data movement cost (e.g., cost of transferring data between CPU and memory devices, between parallel processors, etc.). Technology trends will cause data movement to account for the majority of energy expenditure and execution time on emerging computers. Therefore, computational complexity alone will no longer be a sufficient metric for comparing algorithms, and a fundamental characterization of data movement complexity will be increasingly important.;In their seminal work, Hong & Kung proposed the red-blue pebble game to model the data movement complexity of algorithms. Using the pebble game abstraction, Hong & Kung proved tight asymptotic lower bounds for the data movement complexity of several algorithms by reformulating the problem as a graph partitioning problem. In this dissertation, we develop a novel alternate graph min-cut based lower bounding technique. Using our technique, we derive tight lower bounds for different algorithms, with upper bounds matching within a constant factor. Further, we develop a dynamic analysis based automated heuristic for our technique, which enables automatic analysis of arbitrary computations. We provide several use cases for our automated approach.;This dissertation also presents a technique, built upon the ideas of Christ et al., to derive asymptotic parametric lower bounds for a sub-class of computations, called affine computations. A static analysis based heuristic to automatically derive parametric lower bounds for affine parts of the computations is also presented.;Motivated by the emerging interest in large scale parallel systems with interconnection networks and hierarchical caches with varying bandwidths at different levels, we extend the pebble game model to parallel system architecture to characterize the data movement requirements in large scale parallel computers. We provide interesting insights on architectural bottlenecks that limit the performance of algorithms on these parallel machines.;Finally, using data movement complexity analysis, in conjunction with the roofline model for performance bounds, we perform an algorithm-architecture codesign exploration across an architectural design space. We model the maximal achievable performance and energy efficiency of different algorithms for a given VLSI technology, considering different architectural parameters.
Keywords/Search Tags:Data movement, Algorithms, Energy, Computations, Technique, Lower bounds, Different, Model
Related items