SEEC: A Framework for the Self-aware Management of Goals and Constraints in Modern Computing Systems
|Author:||Henry Hoffmann MIT, Computer Science and Artificial Intelligence Laboratory|
|Date:||April 05, 2012|
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.
Henry Hoffmann is a PhD student at MIT's Computer Science and Artificial Intelligence Laboratory (CSAIL). His research explores the use of adaptive, self-aware systems to address problems in multicore systems. He received his SM degree in Electrical Engineering and Computer Science from MIT in 2003. His master's research investigated programming models for MIT's Raw processor, an early multicore. Along with other members of the Raw team, he spent several years at Tilera Corporation, a startup which commercialized the Raw architecture. Before joining CSAIL, he served as an Associate Staff member of MIT Lincoln Laboratory where his research produced the Parallel Vector Library (PVL) which forms the foundation of the VSIPL++ standard, an interface for parallel signal and image processing. Henry was appointed as a Lincoln Masters Scholar in 2001 and a Lincoln Doctoral Scholar in 2004. In 1999, he received his BS in Mathematical Sciences with highest honors and highest distinction from UNC Chapel Hill.