Henry (Hank) Hoffmann
Email: hankhoffmann @ cs.uchicago.edu
Phone: Please Email
John Crerar Library 341
5730 S. Ellis
Chicago, IL 60637
Research Statement: [pdf]
- Research Areas :
Self-aware & Adaptive Computing, Operating Systems, Computer Architecture
(UChicago Systems Group)
- Research Interests: Modern computer systems
have to meet goals in multiple -- often competing -- dimensions; e.g.,
high performance and low energy consumption. This creates a great
burden on programmers who must be experts in both their application
domain and in the myriad system issues that affect power, energy,
reliability, performance, and more. To alleviate this burden, I study
ways to build self-aware computing systems that understand
high-level goals and automatically adapt their behavior to meet those
goals optimally. This is interdisciplinary work covering traditional
areas, like operating systems and computer architecture, as well as
new areas, like control theory and machine learning applied to
computer system management and optimization.
- Project Web Pages: CERES , SEEC, POET, LEO
- Current Students:
Muhammad Husni Santriaji,
Huazhe Zhang, PhD 2019 [thesis, masters] , Facebook
Gökalp Demirci, PhD 2019 [thesis] , Facebook
Zhixuan Zhou, PhD 2018 [thesis] , Google
Connor Imes, PhD, 2018 [thesis] , ISI East
Nikita Mishra, PhD 2017 [thesis], Twitch
Lee Ehudin, BS/MS 2017, Google
Tristan Rasmussen, BS/MS 2015, Google
- Old Research Statement (from 2015): [pdf]
- I just won a PECASE (Presidential Early Career Award for Scientists and Engineers).
- Yulie Zamora received a National Physical Science Consortium Fellowship. Congrats, Yulie!
- Our ICAC 2019 paper won the Karsten Schwann Best Paper Award!
- Huazhe (Harper) Zhang's Supercomputing 2019 paper has been nominated for both Best Student Paper and Best Paper!
- Our CALOREE paper from ASPLOS 2018 was selected as an IEEE Micro Top Picks Honorable Mention. Here is the summary we submitted: [pdf].
- I got a great introduction to quantum computing from Fred Chong and the EPICQ project at UChicago. Our collaboration creating an optimizing quantum compiler (with up to 10x reductions in program latency!) will appear at ASPLOS 2019.
- I had a great time representing our department at the Grace Hopper Celebration 2018. [article]
- We recently published two papers with exponential improvements on the worst case approximation for scheduling under performance and power constraints. The first (at STACS 2018) improved the known bound from O(n) to O(log n). The second (at Supercomputing 2018) made this algorithm practical by accounting for configurable power/performance tradeoffs. To the best of our knowledge these are the first practical scheduling algorithms that use something other than greedy approaches.
- Bernard Dickens III has received a Generation Google Scholarship. Congrats Bernard!
- Efforts to commercialize my self-aware computing research were described in a recent Crunchbase article.
- I was granted early tenure by the University of Chicago (effective 07/01/2018).
- Paper on hardware support for real-time GPU computing accepted to RTAS.
- We got three papers into ASPLOS 2018!
- CALOREE, combining learning and control for intelligent resource management.
- SmartConf, automatically adjusting performance-sensitive configurations in web-infrastructure software.
- StrongBox, using mobile hardware and stream ciphers for secure file systems with much higher performance than AES-XTS.
- I am honored to serve as the program chair of WAX 2018, co-located with ASPLOS.
- I have graduated my first PhD student, Nikita Mishra. Congratulations, Nikita!
- Collaboration with Fred Chong's group on using ML to optimize non-volatile memory accepted to MICRO 2017
- Paper on automated MPC synthesis accepted to FSE 2017
- Our collaboration with Mozilla Research is accepted to FSE 2016
- Our paper on adding hardware control of resources to GPUs is accepted to MICRO 2016
- We have been invited to present a paper on POET at MCSoC 2016
- Our paper on using approximation to meet hard real-time deadlines with low energy consumption was accepted to USENIX ATC 2016
- I am giving a keynote on approximate computing at IPDRM, the first Workshop on Emerging Parallel and Distributed Runtime Systems and Middleware, part of IPDPS
- I am giving the keynote on the research challenges of incorporating self-aware software into cyber physical systems at SelPhyS 2016, the first Workshop on Self-aware Cyber Physical Systems, part of CPS week in Vienna
- Our collaboration with David Wentzlaff's team from Princeton was accepted to ISCA 2016
- Our team -- led by Krishna Palem (Rice) and including Corky Cartwright (Rice), Arvind (MIT), Keshav Pingali (UT Austin), Don Fussell (UT Austin) and me -- is one of the funded projects under DARPA's BRASS program
- Our paper on hardware, software, and hybrid power capping is accepted to ASPLOS 2016
- Along with Andrew Chien, I am a vice chair for the Architecture Track at IPDPS 2016
- My research in the news
- JouleGuard is accepted by SOSP 2015
- Our paper on automated design of multidimensional software control is accepted at FSE 2015
- I received the DoE Early Career Award in 2015
- Our paper on ML for energy optimization is accepted to ASPLOS 2015
- Connor Imes and I received the best paper award at the Embedded Operating Systems Workshop 2014
- My work on self-aware computing was named one of ten "World Changing Ideas" by Scientific American in 2011
- Associate Professor, University of Chicago, 2018-
- Assistant Professor, University of Chicago, 2013-2018
- Ph.D., MIT, 2013
Dissertation: "SEEC : a
framework for self-aware management of goals and constraints in
Advisors: Anant Agarwal and Srinivas Devadas
- S.M., MIT, 2003
Algorithms and Architectures"
- B.S. with highest honors and highest distinction, UNC-Chapel Hill, 1999
Design Engineer, Tilera Corporation, 2005-2008
Associate Staff, MIT Lincoln Laboratory, 2003-2004
Assistant Staff, MIT Lincoln Laboratory, 1999-2003
As recorded by
As recorded by
- PoDD: Power-capping Dependent Distributed Applications
Generative and Multi-phase Learning for Computer Systems Optimization [ISCA 2019]
Optimized Compilation of Aggregated Instructions for Realistic Quantum Computers [ASPLOS 2019]
Proteus: Language and Runtime Support for Self-Adaptive Software Development [IEEE Software]
CoPPer: Soft Real-time Application Performance Using Hardware Power Capping [ICAC 2019] Best Paper!
A divide and conquer algorithm for DAG scheduling under power constraints [Supercomputing 2018]
Understanding and Auto-Adjusting Performance-Sensitive Configurations [ASPLOS 2018] [preprint]
StrongBox: Confidentiality, Integrity, and Performance using Stream Ciphers for Full Drive Encryption [ASPLOS 2018] [preprint]
CALOREE: Learning Control for Predictable Latency and Low Energy [ASPLOS 2018] [preprint] [early techreport (2016)] IEEE Micro Top Picks Honorable Mention
MERLOT: Architectural Support for Energy-Efficient Real-time Processing in GPUs [RTAS 2018]
Performance & Energy Tradeoffs for Dependent Distributed Applications Under System-wide Power Caps [ICPP]
Energy-efficient Application Resource Scheduling using Machine Learning Classifiers [ICPP]
Approximation Algorithms for Scheduling with Resource and Precedence Constraints [STACS 2018] [techreport]
GraphZ: Improving the Performance of Large-Scale Graph Analytics on Small-Scale Machines [ICDE 2018] [techreport]
Controlling AI Engines in Dynamic Environments [SysML 2018] [paper]
Memory Cocktail Therapy: A General Learning-Based Framework to Optimize Dynamic Tradeoffs in NVMs [MICRO 2017]
Automated Control of Multiple Software Goals using Multiple Actuators [FSE 2017] [preprint]
ESP: A Machine Learning Approach to Predicting Application Interference [ICAC 2017] [preprint]
PoLiMEr: An Energy Monitoring and Power Limiting Interface for HPC Applications. [E2SC@SC 2017]
Self-Adaptive Video Encoder: Comparison of Multiple Adaptation Strategies Made Simple [SEAMS 2017]
Control Strategies for Self-Adaptive Software Systems [ACM TAAS 2017]
Power Mitigation by Performance Equalization in a Heterogeneous Reconfigurable Multicore. [Journal of Signal Processing Systems 2017]
A Portable Interface for Runtime Energy Monitoring
GRAPE: Minimizing Energy for GPU Applications with
Portable Multicore Resource Management for
Applications with Performance Constraints (invited)
MEANTIME: Achieving Both Minimal Energy and Timeliness with Approximate Computing
[USENIX ATC 2016]
Providing Fairness in Heterogeneous Multicores with a Predictive, Adaptive
Bard: A Unified Framework for Managing Soft Timing and Power Constraints
CASH: Supporting IaaS Customers with a Sub-core Configurable Architecture
Maximizing Performance Under a Power Cap: A Comparison of
Hardware, Software, and Hybrid Techniques
Adapt&Cap: Coordinating System and Application-level Adaptation for Power Constrained Systems
[IEEE Design & Test 2016]
JouleGuard: Energy Guarantees for Approximate Computation
Automated Multi-Objective Control for Self-Adaptive Software Design [FSE 2015]
Racing and Pacing to Idle: Theoretical and Empirical
Analysis of Energy Optimization Heuristics [CPSNA 2015]
Distributed Monitoring and Management of Exascale Systems in the Argo
Project [DAIS 2015]
POET: a portable approach to minimizing energy under soft real-time
constraints [RTAS 2015]
A Probabilistic Graphical Model-based Approach for Minimizing Energy
Under Performance Constraints [ASPLOS 2015]
[WACAS 2015] [pdf]
A Quantitative Evaluation of the RAPL Power Control System [Feedback
Computing 2015] [pdf]
A STT-RAM-based Low-Power Hybrid Register File for GPGPUs [DAC 2015]
Software engineering meets control theory [SEAMS 2015]
Minimizing energy under performance constraints on embedded platforms:
resource allocation heuristics for homogeneous and single-ISA
heterogeneous multi-cores [SIGBED Review 2014]
Design of an accelerator-rich architecture by integrating multiple
heterogeneous coarse grain reconfigurable arrays over a
network-on-chip [ASAP 2014]
A self-aware processor SoC using energy monitors integrated into power
converters for self-adaptation [VLSI Symposium 2014]
Automated design of self-adaptive software with control-theoretical
formal guarantees [ICSE 2014]
PCP: A generalized approach to optimizing performance under power
constraints through resource management [ICAC 2014]
CoAdapt: Predictable Behavior for Accuracy-Aware Applications Running
on Power-Aware Systems [ECRTS 2014]
Constraint-driven frequency scaling in a Coarse Grain Reconfigurable
Array [ISSoC 2014]
Performance and energy limits of a processor-integrated FFT
accelerator [HPEC 2014]
Power optimization in embedded systems via feedback control of
resource allocation [IEEE TCST 2013]
A generalized software framework for accurate and efficient management of performance goals [EMSOFT 2013]
Racing and pacing to idle: an evaluation of heuristics for energy-aware resource allocation [HotPower 2013]
ARPE: A Tool To Build Equation Models of Computing Systems [Feedback Computing 2013]
Comparison of Decision-Making Strategies for Self-Optimization in Autonomic Computing Systems [ACM TAAS 2012]
Selecting Spatiotemporal Patterns for Development of Parallel Applications [IEEE TPDS 2012]
Self-aware computing in the Angstrom processor [DAC 2012]
Metronome: operating system level performance management via self-adaptive computing [DAC 2012]
Evolvable systems on reconfigurable architecture via self-aware adaptive applications [AHS 2011]
Dynamic knobs for responsive power-aware computing [ASPLOS 2011]
Decision making in autonomic computing systems: comparison of approaches and techniques [ICAC 2011]
ARCc: A case for an architecturally redundant cache-coherence architecture for large multicores [ICCD 2011]
Managing performance vs. accuracy trade-offs with loop perforation [FSE 2011]