News     |    Research     |    Publications
SEEC Group, ASPLOS 2018    Henry (Hank) Hoffmann
    Associate Professor (effective 07/01/2018)
    Email: hankhoffmann @ cs.uchicago.edu
    Phone: Please Email
    Ryerson Hall 257-H
    1100 E. 58th Street, Chicago, IL 60637
    CV: [pdf]
    Bio: [html]
    Research Statement: [pdf]

Research

  • 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 architecutre, 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: Saeid Barati, Bernard Dickens, Anne Farrel, Connor Imes, David Kim, Ivana Marincic, Muhammad Husni Santriaji, Huazhe (Harper) Zhang , Zhixuan Zhou

  • Alumni:
    Nikita Mishra, PhD 2017 [thesis], Solvvy
    Lee Ehudin, BS/MS 2017, Google
    Tristan Rasmussen, BS/MS 2015, Google
  • Old Research Statement (from 2015): [pdf]

News

  • 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

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. 2018:

  4. Understanding and Auto-Adjusting Performance-Sensitive Configurations [ASPLOS 2018] [preprint]
  5. StrongBox: Confidentiality, Integrity, and Performance using Stream Ciphers for Full Drive Encryption [ASPLOS 2018] [preprint]
  6. CALOREE: Learning Control for Predictable Latency and Low Energy [ASPLOS 2018] [preprint] [early techreport (2016)]
  7. MERLOT: Architectural Support for Energy-Efficient Real-time Processing in GPUs [RTAS 2018]
  8. Performance & Energy Tradeoffs for Dependent Distributed Applications Under System-wide Power Caps [ICPP]
  9. Energy-efficient Application Resource Scheduling using Machine Learning Classifiers [ICPP]
  10. Approximation Algorithms for Scheduling with Resource and Precedence Constraints [STACS 2018] [techreport]
  11. GraphZ: Improving the Performance of Large-Scale Graph Analytics on Small-Scale Machines [ICDE 2018] [techreport]
  12. Controlling AI Engines in Dynamic Environments [SysML 2018] [paper]

    2017:

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

    2016:

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

    2015:

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

    2014:

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

    2013:

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

    2012:

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

    2011:

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