Posts

Showing posts with the label control theory

SOSA: Self-Optimizing Learning with Self-Adaptive Control for Hierarchical System-on-chip Management

Authors: Bryan Donyanavard, Tiago Muck, Amir M. Rahmani, Nikil Dutt, Armin Sadighi, Florian Mauer, Andreas Herkersdorf Venue: MICRO 2019 This work presents a control theory / reinforcement learning hybrid approach to solve online parameter tuning for SoC's called SOSA. While controllers are typically known for being light weight, and RL expensive, the authors build the hierarchy opposite from what you might expect. The RL models, Learning Classifier Tables (LCTs), are used as low-level controllers, and high level supervisor controller uses Supervisory Control Theory (SCT). The SCT controls a high-level system model abstraction, which must be consistent with the low-level system "as defined in the Ramadge-Wonham control mechanism" [1]. This assumption requires further investigation. LCTs are a simpler RL algorithm compared to today's deep neural network approaches. They utilize rule-based learning to to target an objective function, which may be multi-variate. The...

Post-Silicon CPU Adaptation Made Practical Using Machine Learning

Authors: Stephen J. Tarsa, Gautham Chinya, Hong Wang, et. al. Venue:    ISCA 2019 Preface : Before I begin, I'd like to preface that this is one of my favorite papers of 2019; it is well-written, shows poise in the application of machine learning techniques, and consideration of real-world applicability. I read this paper and produced my own slides for it, which can be found here . Overview: This paper presents an adaptive architecture controlled by a machine learning solution. Adaptive architecture itself is not a novel idea, there have been several works regarding tile-based clock gating, heterogenous core scheduling, pipeline gating, etc. This core chooses a simple adaptive piece of hardware, a binary decision to enable to disable a cluster. In this case, a cluster comprises of instruction cache, a decoder, memory execution unit, register file, ROB, and execution units. The authors hint at this being something like a modern SMT core, which can use all it's resource fo...

Understanding and Auto-Adjusting Performance-Sensitive Configurations

Authors: Shu Wang, Chi Li, Henry Hoffman, Shan Lu, William Sentosa, Achmad Imam Kistijantoro Venue: ASPLOS 2018 This paper presents a control theory approach to solving performance problems in workloads with many configurable parameters. The authors reference database workloads such as Cassandra, HBase, HDFS, and Hadoop MapReduce. The authors employ control theory with two key components outside of traditional control theory: a dynamic pole (error tolerance factor), and a virtual goal. Combined, these two approaches allow SmartConf to meet performance goals and hard constraints better than previous approaches. The authors also go into detail as to how their approach could be integrated into commercial software. See Yukta (ISCA 2018) for a similar-flavor paper which also uses control theory.  The remainder of this post will be subjective. This paper is exceptionally well-written, using many real-world examples to build motivation. Objectively, the paper's novelty is software ...

SHARP Control: Controlled Shared Cache Management in Chip Multiprocessors

Authors: Shekhar Srikantaiah, Mahmut Kandemir, Qian Wang Venue:    MICRO 2009 This paper presents a new scheme for dynamic cache partition of a shared LLC. SHARP control leverages control their and separates the optimization into two layers: a local, per-core decision and a global, system-wide decision. Formal control theory provides performance guarantees, is resilient to minor inaccuracies, offers quick adaptive response and allows for high-level objects to be easily specified. The authors even provide a sketch of a proof which includes time-varying behavior. Each per-core controller is a reinforced oscillation resistant controller, which dynamically adjusts it's parameters based on the phase-behavior of applications. The global decision in managed in two steps, the PAN controller allocates addition cache ways to prevent under utilization, whereas the SHARP controller makes the decision of where to remove cache ways when the system is over subscribed. Significant experiment...

Yukta: Multi-layer Resource Controllers to Maximize Efficiency

Authors:  Raghavendra Pothukuchi, Sweta Pothukuchi, Petros Voulgaris, Josep Torrellas Venue:     ISCA 2018 This work targets optimization of difference resources within a computer. The specific example used targets minimizing the energy-delay product via thread scheduling and DVFS on an Arm big.LITTLE board. This paper is done by the same authors of "Using MIMO Formal Control to Maximize Resource Efficiency in Architectures". While the prior work synthesizes many simultaneous optimization problems into a single controller, this work separates out the controllers into coordinated multi-layer formal controllers, specifically Structured Singular Value controllers. The SSV controllers offer the benefits of uncertainty guardbands for safety, max and min settings, discrete value support, and allow for passing information between multiple controllers. They call their generic framework Yukta (possibly named after the 1999 Miss World winner). The key idea is that this ap...

Using Multiple Input, Multiple Output Formal Control to Maximize Resource Efficiency in Architectures

Authors: Raghavendra Pradyumna Pothukuchi, Amin Ansari, Petros Voulgaris, and Josep Torellas Venue:    ISCA 2016 This paper using control theory to design an adaptive system. While many approaches exist, the key novelty to this work is the multiple-input, multiple-output coordination which considers multiple trade-offs simultaneously to tune the system. The framework essentially uses several "training set" workloads to train a controller which is able to predict power and performance. Then, a "test set" of workloads is used to evaluate the controller's performance when trying to tune the power-performance trade-offs. The benefit is formal guarantees, however, the cost is the user requirement to specify reference values. More specifically, rather than "maximize x  trade-off", MIMO controller works best by specifying "achieve values x1, x2, with weights w1 and w2" for importance. Overall, this work excellently integrates considerations such a...