CIS Seminar: “Building Data-Driven Computers: Reimagining Systems to Reduce the High Costs of Large-Scale Data Processing”
March 5, 2020 at 3:00 PM - 4:00 PM
Organizer
Venue
Abstract:
A wide range of application domains are emerging as computing platforms of all types become more ubiquitous in society. Many of these applications are data centric, and spend a significant fraction of their time on accessing and processing very large datasets. Examples of these applications include graph frameworks, precision medicine, computer vision, deep learning, and mobile device workloads. Unfortunately, the hardware platforms executing these applications remain compute centric, and are rooted in decades-old design principles for computer architectures. Running modern data-centric applications on compute-centric platforms results in high inefficiencies, with significant energy waste and program stalls. Data-centric platforms can eliminate these inefficiencies, but require the community to fundamentally rethink our approach to computer design.
In this talk, I will present a holistic approach for developing practical data-centric architectures and systems. I will begin by using experimental characterization to identify the sources of poor energy efficiency and poor performance in existing architectures as they run modern applications, focusing on the impact of current memory systems. Next, I will show how near-data computing can mitigate these inefficiencies. Recent breakthroughs in memory technologies have made near-data computing a practical and viable alternative to compute-centric platforms, but several system-level challenges remain. I will present a few of my representative efforts towards developing practical programmer and architectural support for near-data computing, including efficient data coherence and domain-specific system design. I will conclude the talk with my future research vision, on developing and building full-system data-driven architectures that are optimized for energy efficiency. This includes microarchitectural and circuit-level support for in-memory computing using emerging non-volatile memories, cooperative hardware–software memory management, and compiler and data optimizations that allow programmers to effortlessly target these data-driven architectures.

