News

  • The SEEC project is now (as of Jan. 2013) based at the University of Chicago Department of Computer Science, although work continues at a number of collaborating institutions.
  • Our paper on using hierarchical Bayesian models to solve energy minimization problems was just accepted to ASPLOS 2015.
  • Our library implementation for meeting performance goals wiht minimal energy consumption was accepted to RTAS 2015.
  • Our paper charcterizing the energy/performance tradeoffs of an ARM big.LITTLE and mobile Haswell processor won the best paper award at the 4th annual Embedded Operating Systems Workshop.
  • Our collaboration with David Wentzlaff's group at Princeton University was just funded by the NSF XPS program, to build Cost-aware Adaptive Software and Hardware systems.
  • Our work on coordinating accuracy-aware applications and power-aware systems was just selected to appear in the 2014 Euromicro Conference on Real-time Systems (ECRTS).
  • Work detailing our collaboration with MIT to create a self-aware processor was just accepted to appear in the VLSI Symposium 2014.
  • A collaboration with Antonio Filieri and Martina Maggio on automatically constructing control systems for adaptive software was recently selected to appear at the 2014 International Conference on Software Engineering (ICSE).
  • Our recent paper showing the inefficiency of the race-to-idle (or race-to-halt) heuristic was selected to appear at the Workshop on Workshop on Power-Aware Computing and Systems (HotPower).
  • We recently had a paper accepted to EMSOFT that uses the SEEC approach to guarantee performance while minimizing power consumption.
  • We have received funding from the DOE to make SEEC part of the next generation operating system for exascale supercomputers.
  • In collaboration with MIT CSAIL and MIT MTL, we have developed a prototype processor specifically designed to support the SEEC model. The processor is currently under test, we hope to have an evaluation finished in the fall.
  • In Decemeber 2011, the self-aware computing project was named one of ten "World Changing Ideas" by Scientific American. (Unfortunately the article is behind a paywall).

Project Overview

As the scale and complexity of computing systems increases, application programmers must not only be experts in their application domain, but also have the systems knowledge required to address the constraints of parallelism, scale, power, energy, and reliability concerns. SEEC proposes a novel approach that addresses these constraints by adding a self-awareness dimension to computational models. Self-aware computational models automatically adjust their behavior in response to environment stimuli to meet user specified goals. The SEEC model is unique in that it supports a decoupled approach where applications and systems developers separately contribute to the development of a self-aware system, each focusing on their area of expertise. Using SEEC, applications directly specify their goals through a standard programming API while system components (e.g. runtime, OS, hardware, & applications themselves) specify possible actions. Given a set of goals and actions, SEEC uses analysis and decision engines (e.g., adaptive feedback control systems and machine learning) to monitor application progress and select actions to meet goals optimally (e.g. meeting performance goals with minimal power consumption).

SEEC Block Diagram
(old project page)
(SEEC is a key component of MIT's Angstrom Project)
(SEEC listed as one of ten "World Changing Ideas" by Scientific American . The article is behind a paywall).
(SEEC in the news)
(SEEC in the news again)

Opportunities

We are looking for:
  • A postdoctoral scholar interested in applying adaptive computing techniques to energy managment and resilience.
  • New graduate students.
  • University of Chicago undergraduates.

Publications

  • Minimizing Energy Under Performance Constraints on Embedded Platforms,
    by Connor Imes and Henry Hoffmann.
    EWiLi 2014 (link)
  • CoAdapt: Predictable Behavior for Accuracy-Aware Applications Running on Power-Aware Systems,
    by Henry Hoffmann.
    ECRTS 2014 (doi)
  • Automated Design of Self-Adaptive Software with Control-Theoretical Formal Guarantees,
    by Antonio Filieri, Henry Hoffmann, Martina Maggio (alphabetical order).
    ICSE 2014 (doi)
  • PCP: A Generalized Approach to Optimizing Performance Under Power Constraints through Resource Management,
    by Henry Hoffmann and Martina Maggio.
    ICAC 2014 (link)
  • Racing and pacing to idle: an evaluation of heuristics for energy-aware resource allocation,
    by Henry Hoffmann.
    HotPower 2013 (doi)
  • A Generalized Software System for Accurate and Efficient Management of Application Performance Goals,
    by Henry Hoffmann, Martina Maggio, Marco D. Santambrogio, Alberto Leva, Anant Agarwal.
    EMSOFT 2013 (link)
  • Coordinating Application and System Adaptation for Performance, Power, and Accuracy Management,
    by Henry Hoffmann.
    University of Chicago Technical Report TR-2013-03, May 2013 (link)
  • Combining Adaptation and Parallel Patterns into a Framework for Self-Optimizing Parallel Software,
    by Jim Holt, George Bezerra, Apan Qasem, Jason Miller, Henry Hoffmann.
    PLoP 2013
  • APRE: A Tool To Build Equation Models of Computing Systems,
    by Martina Maggio, Henry Hoffmann.
    Feedback 2013 (link)
  • Power Optimization in Embedded Systems via Feedback Control of Resource Allocation,
    by Martina Maggio, Henry Hoffmann, Marco D. Santambrogio, Anant Agarwal, Alberto Leva.
    IEEE Trans. Contr. Sys. Techn. 21(1): 239-246 (2013) (doi)
  • Comparison of decision-making strategies for self-optimization in autonomic computing systems,
    by M Maggio, H Hoffmann, AV Papadopoulos, J Panerati, MD Santambrogio, A Agarwal, A Levas.
    ACM Transactions on Autonomous and Adaptive Systems (TAAS) 7 (4), 36 2012 (doi)
  • Self-aware Computing in the Angstrom Processor,
    by Henry Hoffmann, Jim Holt, George Kurian, Eric Lau, Martina Maggio, Jason E. Miller, Sabrina M. Neuman, Mahmut Sinangil, Yildiz Sinangil, Anant Agarwal, Anantha P. Chandrakasan, Srinivas Devadas.
    Proceedings of the 49th Design Automation Conference (DAC), June 2012. (doi)
  • SEEC: A General and Extensible Framework for Self-Aware Computing,
    by Henry Hoffmann, Martina Maggio, Marco D. Santambrogio, Alberto Leva, and Anant Agarwal.
    MIT CSAIL Technical Report, MIT-CSAIL-TR-2011-046, November 2011. (doi)
  • Control-theoretical CPU allocation: Design and Implementation with Feedback Control,
    byMartina Maggio, Henry Hoffmann, Anant Agarwal, and Alberto Leva.
    The 6th International Workshop on Feedback Control Implementation and Design in Computing Systems and Networks (FeBID 2011). (link)
  • Decision Making in Autonomic Computing Systems: Comparison of Approaches and Techniques,
    byMartina Maggio, Henry Hoffmann, Marco D. Santambrogio, Anant Agarwal, and Alberto Leva.
    The 8th IEEE/ACM International Conference on Autonomic Computing and Communications (ICAC 2011). (doi)
  • A comparison of autonomic decision making techniques,
    byMartina Maggio, Henry Hoffmann, Marco D. Santambrogio, Anant Agarwal, and Alberto Leva.
    MIT CSAIL Technical Report, MIT-CSAIL-TR-2011-019
    , April 2011. (doi),
  • SEEC: A framework for self-aware management of multicore resources,
    by Henry Hoffmann, Martina Maggio, Marco D. Santambrogio, Alberto Leva, and Anant Agarwal.
    MIT CSAIL Technical Report, MIT-CSAIL-TR-2011-016
    , March 2011. (doi)
  • Dynamic knobs for responsive power-aware computing,
    by Henry Hoffmann, Stelios Sidiroglou, Michael Carbin, Sasa Misailovic, Anant Agarwal, Martin C. Rinard.
    16th international conference on architectural support for programming languages and operating systems
    (ASPLOS2011), March 2011. (doi)
  • Controlling software applications via resource allocation within the heartbeats framework,
    by Martina Maggio, Henry Hoffmann, Marco D. Santambrogio, Anant Agarwal, and Alberto Leva.
    49th IEEE Conference on Decision and Control (CDC2010),
    December 2010. (doi)
  • SEEC: A framework for self-aware computing,
    by Henry Hoffmann, Martina Maggio, Marco D. Santambrogio, Alberto Leva, and Anant Agarwal.
    MIT CSAIL Technical Report, MIT-CSAIL-TR-2010-049, October 2010
    . (doi)
  • Enabling technologies for self-aware adaptive systems,
    by
    Marco D. Santambrogio, Henry Hoffmann, Jonathan Eastep, Jason E. Miller, and Anant Agarwal.
    Conference on Adaptive Hardware and Systems (AHS), 2010 NASA/ESA, pp 149-156, June 2010. (doi)
  • Application Heartbeats: A Generic Interface for Specifying Program Performance and Goals in Autonomous Computing Environments,
    by
    Henry Hoffmann, Jonathan Eastep, Marco D. Santambrogio, Jason E. Miller, and Anant Agarwal.
    The 7th IEEE/ACM International Conference on Autonomic Computing and Communications (ICAC2010)
    , pp 79-88, June 2010. (doi)
  • Application Heartbeats for Software Performance and Health,
    by
    Henry Hoffmann, Jonathan Eastep, Marco D. Santambrogio, Jason E. Miller, and Anant Agarwal.
    15th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming,
    pp.347-348, January 2010. (pdf)
  • Application Heartbeats: A Generic Interface for Expressing Performance Goals and Progress in Self-Tuning Systems,
    by Henry Hoffmann, Jonathan Eastep, Marco D. Santambrogio, Jason E. Miller, and Anant Agarwal.
    4th Workshop on Statistical and Machine learning approaches to ARchitecture and compilaTion (SMART’10),
    2010. (pdf)
  • Application Heartbeats for Software Performance and Health,
    by
    Henry Hoffmann, Jonathan Eastep, Marco D. Santambrogio, Jason E. Miller, and Anant Agarwal.
    MIT CSAIL Technical Report,
    MIT-CSAIL-TR-2009-035, August 2009. (pdf)