Font Size: a A A

Programmable Hardware Acceleratio

Posted on:2018-03-31Degree:Ph.DType:Dissertation
University:The University of Wisconsin - MadisonCandidate:Gangadhar, VinayFull Text:PDF
GTID:1448390002498071Subject:Computer Engineering
Abstract/Summary:
The rising dark silicon problem and the waning benefits of device scaling has caused a push towards specialization and hardware acceleration in last few years. Recently, computer architects both in industry and academia have followed the trend of building custom high-performance hardware engines for individual application domains, generally called as Domain-Specific Accelerators (DSAs). DSAs have been shown to achieve 10 to 1,000 times performance and energy efficiency improvements over general-purpose and data-parallel architectures for various application domains like machine learning, computer vision, databases and others. While providing these huge benefits, DSAs sacrifice programmability for efficiency and are prone to obsoletion due to domain volatility. The stark trade-offs between efficiency and generality at these two extremes poses an interesting question: Is it possible to have an architecture which has the best of both -- programmability and efficiency, and how close can we get to such a design?;This dissertation explores how far the efficiency of a programmable architecture can be pushed, and whether it can come close to the performance, energy, and area efficiency of a domain-specific based approach. We specifically propose a type of hardware acceleration called "Programmable Hardware Acceleration", with the design, implementation, and evaluation of a hardware accelerator which is programmable using an efficient hardware-software interface and yet achieve efficiency close to DSAs. This work has several observations and key findings. First, we rely on the insight that 'acceleratable' algorithms have common specialization principles and most of the DSAs employ these. Second, these specialization principles can be exploited in a hardware architecture with a right composure of programmable and configurable microarchitectural mechanisms to arrive at a generic programmable hardware accelerator design. Third, the same primitives can also be exposed to the programmers as a hardware-software interface to take benefit of the programmable acceleration. Our evaluation and analysis suggest that a programmable hardware accelerator can achieve performance as close as DSAs with only 2x overheads in area and power. In summary, this work shows a principled approach in building hardware accelerators by pushing the limits of their efficiency while still retaining the programmability.
Keywords/Search Tags:Hardware, Efficiency
Related items