ThermOS System Support for Dynamic Thermal Management of Chip - - PowerPoint PPT Presentation

thermos
SMART_READER_LITE
LIVE PREVIEW

ThermOS System Support for Dynamic Thermal Management of Chip - - PowerPoint PPT Presentation

22nd International Conference on Parallel Architectures and Compilation Techniques (PACT -22), 2013 September 9, 2013 Edinburgh, Scotland, UK ThermOS System Support for Dynamic Thermal Management of Chip Multi-Processors Filippo Sironi


slide-1
SLIDE 1

ThermOS

System Support for Dynamic Thermal Management of Chip Multi-Processors Filippo Sironi (sironi@elet.polimi.it) Martina Maggio, Riccardo Cattaneo, Giovanni F. Del Nero Donatella Sciuto, Marco D. Santambrogio

1

22nd International Conference on Parallel Architectures and Compilation Techniques (PACT

  • 22), 2013

September 9, 2013 Edinburgh, Scotland, UK

slide-2
SLIDE 2

swaptions @ 2.80 GHz ab @ 2.80 GHz temperature increase (°C) 10 20 time (s) 100 200 300 400 500 600

DVFS is dangerous! (I know this is scary)

2

slide-3
SLIDE 3

swaptions @ 2.80 GHz ab @ 2.80 GHz temperature increase (°C) 10 20 time (s) 100 200 300 400 500 600

DVFS is dangerous! (I know this is scary)

2

slide-4
SLIDE 4

DVFS is dangerous! (I know this is scary)

2

DVFS from 2.80 to 2.13 GHz swaptions @ 2.80 GHz ab @ 2.80 GHz swaptions w/ DVFS ab w/ DVFS Δ2 Δ1 Δ2 temperature increase (°C) 10 20 time (s) 100 200 300 400 500 600

slide-5
SLIDE 5

DVFS is dangerous! (I know this is scary)

2

DVFS from 2.80 to 2.13 GHz swaptions @ 2.80 GHz ab @ 2.80 GHz swaptions w/ DVFS ab w/ DVFS Δ2 Δ1 Δ2 temperature increase (°C) 10 20 time (s) 100 200 300 400 500 600

it may impair multi-programmed workloads... think about multi-tenant virtualization infrastructures!

slide-6
SLIDE 6

Idle cycle injection improves!

3

swaptions @ 2.80 GHz ab @ 2.80 GHz temperature increase (°C) 10 20 time (s) 100 200 300 400 500 600

slide-7
SLIDE 7

Idle cycle injection improves!

3

swaptions @ 2.80 GHz ab @ 2.80 GHz temperature increase (°C) 10 20 time (s) 100 200 300 400 500 600

slide-8
SLIDE 8

Idle cycle injection improves!

3

swaptions @ 2.80 GHz ab @ 2.80 GHz swaptions w/ ThermOS ab w/ ThermOS Δ1 temperature increase (°C) 10 20 time (s) 100 200 300 400 500 600

slide-9
SLIDE 9

Outline

  • Why DTM
  • DTM in commodity CMPs
  • ThermOS
  • Related work
  • Conclusions and Future work

4

slide-10
SLIDE 10

Why DTM

  • Transistors per unit of area are still increasing

(Moore’s law)

  • Power density is getting worse as lithography

advances (failure of Dennard’s law)

  • High temperature impairs performance, energy

efficiency, and reliability (Srinivasan et al. in ISCA’04 [3])

5

slide-11
SLIDE 11

DTM in commodity CMPs

  • Commodity CMPs exploits DVFS
  • DVFS has chip-wide side effects
  • DVFS with core-wide side effects becomes costly as soon as the core

count overcomes 2 (Kim et al. in HPCA’08 [8])

  • Intel Haswell supports per-core DVFS but integrated voltage

regulators may cause high temperature

  • Side effects are especially bad in shared

environments (e.g., multi-tenant virtualized infrastructures)

6

slide-12
SLIDE 12

DTM in commodity CMPs

  • Commodity CMPs exploits DVFS
  • DVFS has chip-wide side effects
  • DVFS with core-wide side effects becomes costly as soon as the core

count overcomes 2 (Kim et al. in HPCA’08 [8])

  • Intel Haswell supports per-core DVFS but integrated voltage

regulators may cause high temperature

  • Side effects are especially bad in shared

environments (e.g., multi-tenant virtualized infrastructures)

6

software-driven DTM of CMPs

slide-13
SLIDE 13

ThermOS

  • Linear discrete-time modeling of temperature

dynamic

  • Commodity solution to measure temperature

(i.e., DTSs and MSRs)

  • Formal feedback control for idle cycle

determination

  • Idle cycle injection via operating system scheduling

7

slide-14
SLIDE 14

Modeling of temperature dynamic

  • Modeling approaches either have shortcomings

(Wattch, Brooks and Martonosi in HPCA’01 [14])

  • r require too many information and become

impractical (HotSpot, Skadron et al. in TACO’01 [1])

  • No need to understand the full temperature

dynamic: we need the dynamic near the temperature threshold

8

slide-15
SLIDE 15

Modeling of temperature dynamic

9

w/o ICI temperature increase (°C) 10 20 30 40 50 time (ms) 50 100 150 200

slide-16
SLIDE 16

Modeling of temperature dynamic

9

w/o ICI temperature increase (°C) 10 20 30 40 50 time (ms) 50 100 150 200

slide-17
SLIDE 17

Modeling of temperature dynamic

9

w/o ICI w/ ICI temperature increase (°C) 10 20 30 40 50 time (ms) 50 100 150 200

slide-18
SLIDE 18

Modeling of temperature dynamic

9

w/o ICI w/ ICI temperature increase (°C) 10 20 30 40 50 time (ms) 50 100 150 200 40 80 90 100 110

slide-19
SLIDE 19

Modeling of temperature dynamic

9

w/o ICI w/ ICI temperature increase (°C) 10 20 30 40 50 time (ms) 50 100 150 200 40 80 90 100 110

T(k + 1) = a T(k) + b I(k)

slide-20
SLIDE 20

Linear discrete-time thermal model: offline estimation

  • Low overhead but requires the model to be

conservative

  • Linear regression over 70% of a dataset of over 1.5

million of {temperature_next, temperature, idle} tuples; different regressions yields 95% prediction accuracy over the remaining 30% of the dataset

  • Estimated variances of a and b parameters is

almost negligible

10

slide-21
SLIDE 21
  • Proportional-Integral (PI) controller
  • proportional term to capture the dependency from the current error

(i.e., expected minus current temperature)

  • integral term to get the dependency from past errors
  • Synthesis of a “stable by definition” controller
  • Robust to estimation errors of the b parameter

Formal feedback control

11

slide-22
SLIDE 22
  • Proportional-Integral (PI) controller
  • proportional term to capture the dependency from the current error

(i.e., expected minus current temperature)

  • integral term to get the dependency from past errors
  • Synthesis of a “stable by definition” controller
  • Robust to estimation errors of the b parameter

Formal feedback control

11

idle = previous idle + A current error - B previous error

slide-23
SLIDE 23
  • Proportional-Integral (PI) controller
  • proportional term to capture the dependency from the current error

(i.e., expected minus current temperature)

  • integral term to get the dependency from past errors
  • Synthesis of a “stable by definition” controller
  • Robust to estimation errors of the b parameter

Formal feedback control

11

I(k) = I(k - 1) + e(k) (1 - p) / b - e(k - 1) a (1 - p) / b

slide-24
SLIDE 24

Idle cycle injection

  • Do not affect the scheduling of high-priority and

vital tasks (e.g., real-time task and kernel tasks)

  • Exploit task scheduling and cpuidle (Pallipadi et al.

in Linux Symposium’07 [10]) and is not invasive thanks to the use of the dynamic tick code

  • Alternative solutions are suboptimal from either a

software engineering or an effectiveness stand point

12

slide-25
SLIDE 25

ThermOS

13

  • _

T + T S T C P A e I% I

slide-26
SLIDE 26

ThermOS

13

  • _

T + T S T C P A e I% I

  • ne feedback controller per core
slide-27
SLIDE 27

ThermOS

13

  • _

T + T S T C P A e I% I

10 ms of control period

  • ne feedback controller per core
slide-28
SLIDE 28

ThermOS

13

  • _

T + T S T C P A e I% I

  • max. 80% of control period

10 ms of control period

  • ne feedback controller per core
slide-29
SLIDE 29

Evaluation platform

  • 4-core Intel Xeon (Nehalem)
  • From 1.60 GHz to 2.8 GHz
  • C0, C1E (3 us latency), C3 (20 us latency plus other overheads),

and C6 (200 us latency plus many other overheads) C-states

  • Ambient temperature about (20 Celsius plus/minus 1)
  • Idle temperature about (28-32 Celsius plus/minus 1 depending
  • n the core)
  • Modified Linux kernel 3.4
  • PARSEC 2.1 benchmark

14

slide-30
SLIDE 30

swaptions @ core 0/2 swaptions @ core 1 swaptions @ core 3 temperature increase (°C) 30 40 50 time (s) 470 480 490 500 510 520 530

Thermal profile

15

slide-31
SLIDE 31

swaptions @ core 0/2 swaptions @ core 1 swaptions @ core 3 temperature increase (°C) 30 40 50 time (s) 470 480 490 500 510 520 530

Thermal profile

15

temperature is not symmetric in CMPs

slide-32
SLIDE 32

Research questions

  • Can ThermOS constraint the temperature and

selectively affect applications in a multi- programmed workload?

  • How much ThermOS is efficient w.r.t. state of the

art solutions?

16

slide-33
SLIDE 33

swaptions @ core 0/2 swaptions @ core 1 swaptions @ core 3 temperature increase (°C) 30 35 37 40 45 50 55 time (s) 510 520 530 540 550 560 570

Management of multi-programmed workloads

17

slide-34
SLIDE 34

swaptions @ core 0/2 swaptions @ core 1 swaptions @ core 3 temperature increase (°C) 30 35 37 40 45 50 55 time (s) 510 520 530 540 550 560 570

Management of multi-programmed workloads

17

core 3: 91% in C0, 5% in C1E, 4% in C3 core 2: 91% in C0, 6% in C1E, 3% in C3 core 0: 91% in C0, 7% in C1E, 2% in C3 core 1: 92% in C0, 8% in C1E, 0% in C3

slide-35
SLIDE 35

State of the art solutions

  • Dimetrodon (Bailis et al. in DAC’11 [4])
  • Probabilistic feedforward control inside the FreeBSD 7.2 task

scheduler

  • We swipe the idle quantum/probability configuration space
  • VFS
  • We statically select the following frequencies (and the associated

voltages): 2.79, 2.66, 2.53, 2.39, 2.26, 2.13 GHz

18

slide-36
SLIDE 36

Dimetrodon ThermOS VFS performance (%) 70 80 90 100 temperature decrease (%) 10 20 30 40

Efficiency with multi-programmed workloads

19

slide-37
SLIDE 37

Dimetrodon ThermOS VFS performance (%) 70 80 90 100 temperature decrease (%) 10 20 30 40

Efficiency with multi-programmed workloads

19

dynamic power is proportional to C V**2 f as the supply voltage approaches its threshold DVFS will loose most of its efficiency

slide-38
SLIDE 38

Related work

  • Architectural solutions like clock/power gating,

NTV/STV designs, conservation cores (Venkatesh et al. in ASPLOS’10 [23])

  • Micro-architectural solutions like instruction fetch

toggling (Brooks and Martonosi in HPCA’01 [14], Skadron et al. in TACO’04 [1]), instruction issue width resizing (Jayaseelan and Mitra in DAC’09 [25]), activity migration (Heo et al. in ISLPED’03 [24])

20

slide-39
SLIDE 39

Related work Software solutions

  • Orthogonal approaches (thermal-aware

scheduling)

  • Workload placement in data centers (Moore et al. in ATC’05 [26])
  • Heat and Run (Powell et al. in ASPLOS’04 [20])
  • ThreshHot (Zhou et al. in TACO’10 [15])
  • Similar approaches
  • HybDTM (Kumar et al. in DAC’06 [27])
  • kidled (Google) and PowerClamp (Intel)
  • Dimetrodon (Bailis et al. in DAC ’11 [4])

21

slide-40
SLIDE 40

Conclusions and Future work

  • ThermOS positively answers our research

questions

  • The changes to Linux 3.4 will be available soon

22

slide-41
SLIDE 41

Questions... a few suggestions

  • Are there overheads beside the injection of idle

cycles?

  • Your model and controller are conservative, can

you extend ThermOS so as to precisely tailor its behavior to workload?

  • How do you plan on supporting multi-threaded

applications? And what about SMT core?

  • Can you comment on energy efficiency?

23