Skip to main content

Seminar Series Archive

Vikram Adve

February 22, 2019
11:00am - 12:00pm

Title:

A Case for Shipping ALL Software Using Virtual Instruction Sets: The ALLVM Project

Abstract:

The traditional compiler approach of shipping native machine code to end-users is inflexible: it is unable to account for increasingly sophisticated software practices (complex object-oriented frameworks, dynamically loaded libraries, and install-time and run-time software extensions) or increasing diversity in hardware architectures (due to diverse vector instruction sets, GPUs, and a proliferation of domain-specific programmable accelerators). Shipping software as virtual instruction sets instead of binary code enables sophisticated "late-stage" compilation techniques for all software components, crossing traditional boundaries between components (e.g., between applications and static or dynamic libraries) and enabling hardware-specific optimization and code-generation (e.g., across highly diverse heterogeneous parallel systems). In the ALLVM project, which focuses on general-purpose software in natively compiled (static) languages, we are exploring the potential benefits of virtual ISAs for performance and software complexity reduction, and previously explored the benefits for system security. In the HPVM project, which focuses on software for heterogeneous parallel systems, we are developing a novel virtual ISA called Heterogeneous Parallel Virtual Machine, and exploring its benefits for programmability, portability and performance in parallel systems. In this talk, I will give an overview of both projects, present results on code debloating with ALLVM through a novel technique called Software Multiplexing, and briefly describe results on compiling for heterogeneous systems using HPVM. Finally, I will summarize ongoing work on a Bitcode Database using ALLVM, and on simplifying high-level (hardware) synthesis for FPGAs and accelerator-rich domain-specific SoCs using HPVM.

Speaker Bio:

Vikram Adve is Donald B. Gillies Professor of Computer Science at the University of Illinois at Urbana-Champaign, where he has been on the faculty since 1999. Adve's research interests lie in developing and using compiler techniques to improve the performance, reliability and security of computer systems. Adve and his PhD student, Chris Lattner, co-developed the LLVM Compiler Infrastructure, which enables novel and sophisticated compiler techniques for a wide range of languages. LLVM is widely used in industry today, ranging from smartphones (iOS and Android) to supercomputers (Cray and NVIDIA) to large-scale Internet services (Google). Adve, Lattner and Evan Cheng received the ACM Software System Award in 2012 for their work on LLVM. Adve's Ph.D. student Robert Bocchino received the ACM SIGPLAN Distinguished Dissertation Award and another, John Criswell, won an Honorable Mention for the ACM Doctoral Dissertation Award. Adve was named a Fellow of the ACM in 2014 and a University Scholar at the University of Illinois in 2015.

Return to Seminar Schedule