Argonne National Laboratory

Upcoming Events

SEEC: A Framework for the Self-aware Management of Goals and Constraints in Modern Computing Systems

Hank Hoffmann, Assistant Professor, University of Chicago
January 23, 2013 1:00PM to 2:00PM
Building 240, Room 4301
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 problems arising from parallelism, scale, power, energy, and reliability concerns. Existing computational models are derived from three basic mechanisms -- a mechanism for parallelism, a mechanism for communication and a mechanism for synchronization.

Because such models ignore new constraints such as power-efficiency, resilience and ease of programming, they are ill-suited for future scalable systems. SEEC proposes a radical approach that is capable of meeting these new 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 and relieve the programmer from having to worry about such issues. This talk presents SEEC, a computational model designed to support the development of self-aware computing systems.

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 engines) to monitor application progress and select actions to meet goals optimally (e.g. meeting performance goals with minimal power consumption).

This talk will describe the SEEC computational model and discuss how systems developers and applications writers use SEEC, illustrate several systems built with the model, show results, and discuss future work.