News     |    Research     |    Publications
SEEC Group, ASPLOS 2018    Henry (Hank) Hoffmann
    Associate Professor
    Email: hankhoffmann @
    Phone: Please Email
    John Crerar Library 341
    5730 S. Ellis
    Chicago, IL 60637
    CV: [pdf]
    Bio: [html]
    Research Statement: [pdf]


  • Research Areas : Self-aware & Adaptive Computing, Computer Systems, Computer Architecture, Embedded Systems (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 goals like 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: Jerry Ding, Pouya Gholami, Tejas Kannan, Ahsan Pervaiz, Muhammad Husni Santriaji, Vasco Xu, Yuliana Zamora

  • Alumni:
    Yi Ding, PhD 2020
    Anne Farrell, PhD 2020
    Bernard Dickens, PhD 2020
    Saeid Barati, PhD 2020
    Huazhe Zhang, PhD 2019 [thesis, masters]
    Gökalp Demirci, PhD 2019 [thesis]
    Zhixuan Zhou, PhD 2018 [thesis]
    Connor Imes, PhD, 2018 [thesis]
    Nikita Mishra, PhD 2017 [thesis]
    Will Kong, MS 2021
    Ivana Marincic, MS 2020
    Lee Ehudin, BS/MS 2017
    Tristan Rasmussen, BS/MS 2015
  • Old Research Statement (from 2015): [pdf]


Academic Career

Professional Career

  • Design Engineer, Tilera Corporation, 2005-2008
  • Associate Staff, MIT Lincoln Laboratory, 2003-2004
  • Assistant Staff, MIT Lincoln Laboratory, 1999-2003

Recent Publications

  1. As recorded by DBLP

  2. As recorded by Google Scholar

  3. 2022:

  4. Protecting Adaptive Sampling from Information Leakage on Low-Power Sensors [ASPLOS 2022]


  5. Generalizable and Interpretable Learning for Configuration Extrapolation [FSE 2021]
  6. Proxima: Accelerating the Integration of Machine Learning in Atomistic Simulations [ICS 2021]
  7. Exploiting Long-Distance Interactions and Tolerating Atom Loss in Neutral Atom Quantum Architectures [ISCA 2021]
  8. Budget RNNs: Multi-Capacity Neural Networks to Improve In-Sensor Inference under Energy Budgets [RTAS 2021, Artifact Badge, Outstanding Paper]
  9. Neighborhood Street Activity and Greenspace Usage Uniquely Contribute to Predicting Crime [npj Urban Sustainability, Nature Research Journal 2021]
  10. Are Machine Learning Cloud APIs Used Correctly? [ICSE 2021, Artifact Badge]
  11. Do Users Have Contextual Preferencesfor Smartphone Power Management? [UMAP 2021]


  12. LinnOS: Predictability for Unpredictable Flash Storage [OSDI 2020]
  13. Orthogonalized SGD and Nested Architectures for Anytime Neural Networks [ICML 2020]
  14. Embodied Self-Aware Computing Systems [Proc. of the IEEE 2020]
  15. Vision Paper: Grand Challenges in Resilience: Autonomous System Resilience through Design and Runtime Measures [OJCS 2020]
  16. ALERT: Accurate Learning for Energy and Timeliness [USENIX ATC 2020]
  17. Server-Driven Video Streaming for Deep Learning Inference [SIGCOMM 2020]
  18. Statically Inferring Performance Properties of Software Configurations [Eurosys 2020]
  19. A Simple Cache Coherence Scheme for Integrated CPU-GPU Systems [DAC 2020]
  20. SeeSAw: Optimizing Performance of In-Situ Analytics Applications under Power Constraints [IPDPS 2020]


  21. Partial Compilation of Variational Algorithms for Noisy Intermediate-Scale Quantum Machines [MICRO 2019]
  22. PoDD: Power-capping Dependent Distributed Applications [Supercomputing 2019]
  23. Generative and Multi-phase Learning for Computer Systems Optimization [ISCA 2019]
  24. Optimized Compilation of Aggregated Instructions for Realistic Quantum Computers [ASPLOS 2019]
  25. Proteus: Language and Runtime Support for Self-Adaptive Software Development [IEEE Software]
  26. CoPPer: Soft Real-time Application Performance Using Hardware Power Capping [ICAC 2019] Best Paper!
  27. A Simple Cache Coherence Scheme for Integrated CPU-GPU Systems [tech report]


  28. A divide and conquer algorithm for DAG scheduling under power constraints [Supercomputing 2018]
  29. Understanding and Auto-Adjusting Performance-Sensitive Configurations [ASPLOS 2018] [preprint]
  30. StrongBox: Confidentiality, Integrity, and Performance using Stream Ciphers for Full Drive Encryption [ASPLOS 2018] [preprint]
  31. CALOREE: Learning Control for Predictable Latency and Low Energy [ASPLOS 2018] [preprint] [early techreport (2016)] [short summary] IEEE Micro Top Picks Honorable Mention
  32. MERLOT: Architectural Support for Energy-Efficient Real-time Processing in GPUs [RTAS 2018]
  33. Performance & Energy Tradeoffs for Dependent Distributed Applications Under System-wide Power Caps [ICPP]
  34. Energy-efficient Application Resource Scheduling using Machine Learning Classifiers [ICPP]
  35. Approximation Algorithms for Scheduling with Resource and Precedence Constraints [STACS 2018] [techreport]
  36. GraphZ: Improving the Performance of Large-Scale Graph Analytics on Small-Scale Machines [ICDE 2018] [techreport]
  37. Controlling AI Engines in Dynamic Environments [SysML 2018] [paper]


  38. Memory Cocktail Therapy: A General Learning-Based Framework to Optimize Dynamic Tradeoffs in NVMs [MICRO 2017]
  39. Automated Control of Multiple Software Goals using Multiple Actuators [FSE 2017] [preprint]
  40. ESP: A Machine Learning Approach to Predicting Application Interference [ICAC 2017] [preprint]
  41. PoLiMEr: An Energy Monitoring and Power Limiting Interface for HPC Applications. [E2SC@SC 2017]
  42. Self-Adaptive Video Encoder: Comparison of Multiple Adaptation Strategies Made Simple [SEAMS 2017]
  43. Control Strategies for Self-Adaptive Software Systems [ACM TAAS 2017]
  44. Power Mitigation by Performance Equalization in a Heterogeneous Reconfigurable Multicore. [Journal of Signal Processing Systems 2017]


  45. A Portable Interface for Runtime Energy Monitoring [FSE 2016]
  46. GRAPE: Minimizing Energy for GPU Applications with Performance Requirements [MICRO 2016] [preprint]
  47. Portable Multicore Resource Management for Applications with Performance Constraints (invited) [MCSoC 2016] [preprint]
  48. MEANTIME: Achieving Both Minimal Energy and Timeliness with Approximate Computing [USENIX ATC 2016] [preprint]
  49. Providing Fairness in Heterogeneous Multicores with a Predictive, Adaptive Scheduler [HCW@IPDPS 2016] [preprint]
  50. Bard: A Unified Framework for Managing Soft Timing and Power Constraints [SAMOS 2016] [preprint]
  51. CASH: Supporting IaaS Customers with a Sub-core Configurable Architecture [ISCA 2016] [preprint]
  52. Maximizing Performance Under a Power Cap: A Comparison of Hardware, Software, and Hybrid Techniques [ASPLOS 2016] [preprint]
  53. Adapt&Cap: Coordinating System and Application-level Adaptation for Power Constrained Systems [IEEE Design & Test 2016]


  54. JouleGuard: Energy Guarantees for Approximate Computation [SOSP 2015] [preprint]
  55. Automated Multi-Objective Control for Self-Adaptive Software Design [FSE 2015] [preprint]
  56. Racing and Pacing to Idle: Theoretical and Empirical Analysis of Energy Optimization Heuristics [CPSNA 2015] [preprint]
  57. Distributed Monitoring and Management of Exascale Systems in the Argo Project [DAIS 2015]
  58. POET: a portable approach to minimizing energy under soft real-time constraints [RTAS 2015]
  59. A Probabilistic Graphical Model-based Approach for Minimizing Energy Under Performance Constraints [ASPLOS 2015]
  60. JouleGuard [WACAS 2015] [pdf]
  61. A Quantitative Evaluation of the RAPL Power Control System [Feedback Computing 2015] [pdf]
  62. A STT-RAM-based Low-Power Hybrid Register File for GPGPUs [DAC 2015]
  63. Software engineering meets control theory [SEAMS 2015]


  64. Minimizing energy under performance constraints on embedded platforms: resource allocation heuristics for homogeneous and single-ISA heterogeneous multi-cores [SIGBED Review 2014]
  65. Design of an accelerator-rich architecture by integrating multiple heterogeneous coarse grain reconfigurable arrays over a network-on-chip [ASAP 2014]
  66. A self-aware processor SoC using energy monitors integrated into power converters for self-adaptation [VLSI Symposium 2014]
  67. Automated design of self-adaptive software with control-theoretical formal guarantees [ICSE 2014]
  68. PCP: A generalized approach to optimizing performance under power constraints through resource management [ICAC 2014]
  69. CoAdapt: Predictable Behavior for Accuracy-Aware Applications Running on Power-Aware Systems [ECRTS 2014]
  70. Constraint-driven frequency scaling in a Coarse Grain Reconfigurable Array [ISSoC 2014]
  71. Performance and energy limits of a processor-integrated FFT accelerator [HPEC 2014]


  72. Power optimization in embedded systems via feedback control of resource allocation [IEEE TCST 2013]
  73. A generalized software framework for accurate and efficient management of performance goals [EMSOFT 2013]
  74. Racing and pacing to idle: an evaluation of heuristics for energy-aware resource allocation [HotPower 2013]
  75. ARPE: A Tool To Build Equation Models of Computing Systems [Feedback Computing 2013]


  76. Comparison of Decision-Making Strategies for Self-Optimization in Autonomic Computing Systems [ACM TAAS 2012]
  77. Selecting Spatiotemporal Patterns for Development of Parallel Applications [IEEE TPDS 2012]
  78. Self-aware computing in the Angstrom processor [DAC 2012]
  79. Metronome: operating system level performance management via self-adaptive computing [DAC 2012]


  80. Evolvable systems on reconfigurable architecture via self-aware adaptive applications [AHS 2011]
  81. Dynamic knobs for responsive power-aware computing [ASPLOS 2011]
  82. Decision making in autonomic computing systems: comparison of approaches and techniques [ICAC 2011]
  83. ARCc: A case for an architecturally redundant cache-coherence architecture for large multicores [ICCD 2011]
  84. Managing performance vs. accuracy trade-offs with loop perforation [FSE 2011]