Upload
others
View
12
Download
0
Embed Size (px)
Citation preview
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
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
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
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
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
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
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
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
+ _
+
_
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
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
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
Uses of the Controller – 1 • Meeting multiple output targets simultaneously • E.g., Performance (IPSo) and Power (Po)
12
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)
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)
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
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
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
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
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
Using Multiple Input, Multiple Output Formal Control to Maximize Resource Efficiency in Architectures
Thank you!
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
MIMO methodology for architecture
22
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
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