Self-Aware Computing:
Full Stack
Performance Responsive to Goals
Managing complexity in hardware, software and run-time applications
Self-aware applications have improved performance at the circuit-level, architecture-level, OS-level, application-level, by coordinating across multiple layers of the system stack and for controlling other control systems.
Being Self-Aware™ is always better than being Un-Aware. The technology uses goals, which may be simple or complex, localized or distributed, applied at the interface of disparate system dependencies that are continually, dynamically managed to keep values in bounds, extract performance or balance constrained choices.
Self-aware Computing Systems
Self-aware computing system:
- Monitor high-level quantifiable goals (like energy, latency and accuracy);
- Have dynamically configurable parameters that can be manipulated by those goals (e.g., clock speed or alternative algorithms for accomplishing some task) and;
- Automatically adapt those configurations so that their goals are met despite the challenges of complexity and dynamics.
Deploying computer systems that meet goals across multiple, conflicting metrics requires overcoming two core challenges. The first is complexity: hardware and software expose diverse, configurable parameters whose complicated interactions have non-linear effects on mission-critical metrics like latency, energy, accuracy and security. The second is dynamics: computing systems must reliably adapt to unpredictable changes in system hardware conditions, the operating environment, the input workload and even out-of-bounds user actions.
To apply our breakthroughs universally, our computational methods can be accessed with only dozens of lines code, accessible through our Sequitur™ Platform. We use machine learning and a variable configuration space to build models of a system’s performance capabilities; that, combined with control theory, allows the system to simultaneously learn complex behaviors in the workload and how the system responds in turn.
As the workload always is in the state it is every instant, regardless of the factors that created that state, any system can now “reason” about its needed resources at that instant.
Goals are implemented as first-class objects under dynamic software control using information to interpret the workload requirements and set the configuration settings’ solution at each instant. The configuration space is automatically established at values determined from the best available resources at that instant.
Most importantly, Self-Aware™ computing can provide formal guarantees about performance and stability to meet the system’s goals.
To make this work widely accessible, Config has developed the Sequitur™ Platform to support the design and implementation of Self-Aware™ systems without requiring developers to be experts in learning or control.
Tested. Proven.
We’ve tested these ideas over dozens of applications, won many awards and the acclaim of experts and always improved performance.
For example, we have embedded controllers into larger systems to manage: approximate computing applications; energy budgets in data centers; accuracy for machine learning inference in scientific simulations; bandwidth in network protocols for video analytics; operational performance in critical military systems with damaged hardware infrastructures; to control other control systems; and, to automatically configure large scale software systems like HDFS, HBASE and Hadoop MapReduce.
