24
Using Multiple Input, Multiple Output Formal Control to Maximize Resource Efficiency in Architectures Raghavendra Pradyumna Pothukuchi University of Illinois at Urbana-Champaign Amin Ansari Qualcomm Petros Voulgaris University of Illinois at Urbana-Champaign Josep Torrellas University of Illinois at Urbana-Champaign ISCA 2016, June 2016, Seoul

Using Multiple Input, Multiple Output Formal Control …iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca16.pdfoutputs Inputs * System Optimal control Estimator Refine control generation

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Using Multiple Input, Multiple Output Formal Control …iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca16.pdfoutputs Inputs * System Optimal control Estimator Refine control generation

Using Multiple Input, Multiple Output Formal Control to Maximize Resource

Efficiency in Architectures

Raghavendra Pradyumna Pothukuchi University of Illinois at Urbana-Champaign

Amin Ansari Qualcomm

Petros Voulgaris University of Illinois at Urbana-Champaign

Josep Torrellas University of Illinois at Urbana-Champaign

ISCA 2016, June 2016, Seoul

Page 2: Using Multiple Input, Multiple Output Formal Control …iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca16.pdfoutputs Inputs * System Optimal control Estimator Refine control generation

Resource Efficiency in Multicores

2

•  Processors need to balance several conflicting goals/constraints •  Energy efficiency, performance, temperature, power…

•  Vendors use on-chip controllers for system management •  Ad hoc heuristics can be sub-optimal •  Can work against each other to give disastrous results

Page 3: Using Multiple Input, Multiple Output Formal Control …iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca16.pdfoutputs Inputs * System Optimal control Estimator Refine control generation

Controllers Driven by Heuristic Schemes •  Popular with architects •  Intuition-based •  Lightweight

• Many problems •  No formal methodology •  Hard to add learning •  Difficult to design controllers with multiple tunable parameters and goals •  No guarantees – no optimality or even correctness

3

We propose Multiple Input Multiple Output

(MIMO) Control Theory as a solution

Page 4: Using Multiple Input, Multiple Output Formal Control …iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca16.pdfoutputs Inputs * System Optimal control Estimator Refine control generation

MIMO Control Theory for Architecture

4

Provides guarantees: Convergence, Stability, Optimality

Intelligent & Robust

Easy to design

Low runtime overhead

System modeling is hard: Formal controllers limited to a single output

Specifying the output targets when optimizing composite measures is not obvious

Easy to change: e.g., add a new controllable input

Page 5: Using Multiple Input, Multiple Output Formal Control …iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca16.pdfoutputs Inputs * System Optimal control Estimator Refine control generation

Our Contributions

•  Propose MIMO Control Theory methodology for architectural control •  Provide architectural insights

•  Solve the challenges to use MIMO controllers for architectures •  Physical system modeling through System Identification •  Reliable operation through Robust Control Theory

• Demonstrate uses of MIMO control in architecture

5

Page 6: Using Multiple Input, Multiple Output Formal Control …iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca16.pdfoutputs Inputs * System Optimal control Estimator Refine control generation

An Architectural MIMO Controller

6

Inputs Outputs

System (e.g. Processor) Power

Instructions Per Second (IPS)

MIMO Controller Powero

IPSo _ +

_ +

Cache size Frequency ROB size

Output Targets

Page 7: Using Multiple Input, Multiple Output Formal Control …iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca16.pdfoutputs Inputs * System Optimal control Estimator Refine control generation

MIMO System Modeling

•  State evolves depending on the current state and inputs • Outputs are a function of the state and inputs •  The model is {A, B, C, D} matrices •  Obtained analytically or experimentally (System Identification)

7

Internal state 𝒙

Inputs 𝒖

Outputs 𝒚

Sensor noise

Non determinism

𝑥(𝑇+1)=𝐴𝑥(𝑇)+𝐵𝑢(𝑇)   𝑦(𝑇)=𝐶𝑥(𝑇)+𝐷𝑢(𝑇)

+ Unpredictability matrices

Page 8: Using Multiple Input, Multiple Output Formal Control …iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca16.pdfoutputs Inputs * System Optimal control Estimator Refine control generation

Working of a MIMO Controller

8

Desired values for outputs

Inputs 𝑢

System Optimal control

Estimator Refine control generation

Refine output prediction

Outputs 𝑦

If there is a state where the outputs can match the desired values, the system will eventually find it

Optimal MIMO Controller

+ _

+

_

Page 9: Using Multiple Input, Multiple Output Formal Control …iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca16.pdfoutputs Inputs * System Optimal control Estimator Refine control generation

Controller Design Details •  The designer specifies a weight for each output and input

9

Output weight: Cost of not meeting the target of that output

Input weight: Cost of changing that input from its current value

•  Higher the overhead of changing the

input, the higher the weight

•  Power gating the cache > ROB resize

Methodology generates a controller that correctly handles priorities and overheads

•  Higher the weights, the lower the

deviation from the target tolerated

•  Power >  IPS

The controller design minimizes the sum of the two weighted costs

Page 10: Using Multiple Input, Multiple Output Formal Control …iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca16.pdfoutputs Inputs * System Optimal control Estimator Refine control generation

Controller Design Details •  Relative values of output & input weights control system inertia

10

Outputs ≫ Inputs Outputs ≪ Inputs

Suited for critical outputs, low noise environments

Suited for very high noise environments

Aggressive Sluggish

Page 11: Using Multiple Input, Multiple Output Formal Control …iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca16.pdfoutputs Inputs * System Optimal control Estimator Refine control generation

MIMO Methodology for Architecture • How to design a MIMO controller for your system?

11

Specify weights for inputs and

outputs

Obtain system model

Design controller using

MATLAB

Check if design is satisfactory Yes

No Define inputs and outputs

Page 12: Using Multiple Input, Multiple Output Formal Control …iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca16.pdfoutputs Inputs * System Optimal control Estimator Refine control generation

Uses of the Controller – 1 • Meeting multiple output targets simultaneously •  E.g., Performance (IPSo) and Power (Po)

12

Page 13: Using Multiple Input, Multiple Output Formal Control …iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca16.pdfoutputs Inputs * System Optimal control Estimator Refine control generation

Uses of the Controller – 2 • Meeting multiple time-changing output targets simultaneously •  E.g., QoS and power levels with battery state in a mobile device

13

0

20

40

60

80

100

0 50 100 150 200 250 300 350 Epochs

Desired Output Levels (%)

Quality of Service (%)

Power (% of max)

Page 14: Using Multiple Input, Multiple Output Formal Control …iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca16.pdfoutputs Inputs * System Optimal control Estimator Refine control generation

Uses of the Controller – 3

14

IPS3

Power

(𝐼𝑃𝑆↓∘ , 𝑃↓∘ )

Set

Wait

Compare

•  Fast optimization of a composite measure •  E.g., min(E X D2) = max(IPS3 / Power)

Page 15: Using Multiple Input, Multiple Output Formal Control …iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca16.pdfoutputs Inputs * System Optimal control Estimator Refine control generation

Example System •  Simulate an ARM A15 like core on ESESC •  System Inputs •  # of L2 (L1)Cache ways enabled •  Frequency •  Additional input later: # of ROB entries

•  System Outputs •  IPS – Instructions Per Second (in Billions) •  Power (watts)

• Applications – SPECint and SPECfp

15

Page 16: Using Multiple Input, Multiple Output Formal Control …iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca16.pdfoutputs Inputs * System Optimal control Estimator Refine control generation

Architectures Evaluated

16

Heuristic Configurable with a coordinated-heuristics controller

Decoupled Configurable with decoupled formal SISO controllers (1 per output)

MIMO Configurable with our proposed MIMO controller

Baseline Not dynamically configurable. Inputs are fixed and chosen for best average output

Page 17: Using Multiple Input, Multiple Output Formal Control …iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca16.pdfoutputs Inputs * System Optimal control Estimator Refine control generation

Fast Optimization for E×D2

17

0.82

0.93 0.96

0.75

0.8

0.85

0.9

0.95

1

MIMO Heuristic Decoupled

Average Energy x Delay2 over Baseline Baseline

Page 18: Using Multiple Input, Multiple Output Formal Control …iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca16.pdfoutputs Inputs * System Optimal control Estimator Refine control generation

For More Details: •  The paper •  Detailed architectural insights •  System Identification for modeling •  Robust Control Theory for model uncertainty •  Additional results

•  Tech Report (http://iacoma.cs.uiuc.edu/iacoma-papers/mimoTR.pdf) •  Details of all steps in the MIMO methodology •  Complete working example of the system we use

18

Page 19: Using Multiple Input, Multiple Output Formal Control …iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca16.pdfoutputs Inputs * System Optimal control Estimator Refine control generation

Conclusion • MIMO methodology for architecture control •  Provides guarantees •  Simplifies designing, changing, tuning and verification •  Eliminates nasty corner-case failures

• Many applications •  Voltage guardbanding •  QoS adaptation •  Multi-core performance and power throttling •  …

•  Future work •  Compare MIMO Control Theory with Machine Learning

19

Page 20: Using Multiple Input, Multiple Output Formal Control …iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca16.pdfoutputs Inputs * System Optimal control Estimator Refine control generation

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

Thank you!

Page 21: Using Multiple Input, Multiple Output Formal Control …iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca16.pdfoutputs Inputs * System Optimal control Estimator Refine control generation

MIMO Control and Machine Learning

MIMO Control Theory

•  Provides guarantees • Natural feedback to learn •  Formal methodology • Modeling •  Target specification

Machine Learning

•  Learns from data •  Formal methodology • Hard to add feedback • No guarantees

21

Our approach tries to combine the strengths of these areas

More interesting designs when MIMO Control Theory fully combines with Machine Learning More adaptability when model is being updated with a Learning Algorithm

Page 22: Using Multiple Input, Multiple Output Formal Control …iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca16.pdfoutputs Inputs * System Optimal control Estimator Refine control generation

MIMO methodology for architecture

22

Page 23: Using Multiple Input, Multiple Output Formal Control …iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca16.pdfoutputs Inputs * System Optimal control Estimator Refine control generation

Comparing E×D

23

0.84 0.96 1.03

0

0.2

0.4

0.6

0.8

1

1.2

MIMO Heuristic Decoupled

Average Energy x Delay over Baseline

MIMO reduces E×D by an average of 12 percentage points over Heuristic

Page 24: Using Multiple Input, Multiple Output Formal Control …iacoma.cs.uiuc.edu/iacoma-papers/PRES/present_isca16.pdfoutputs Inputs * System Optimal control Estimator Refine control generation

Comparing E×D : Add a 3rd Input

24

0.75 0.88

0

0.2

0.4

0.6

0.8

1

MIMO Heuristic

Average Energy x Delay over Baseline

MIMO reduces E×D by an average of 13 percentage points over Heuristic