• No results found

On-line Thermal Aware Energy Optimization via Dynamic Voltage Selection for Multiprocessor System-On-Chip

N/A
N/A
Protected

Academic year: 2021

Share "On-line Thermal Aware Energy Optimization via Dynamic Voltage Selection for Multiprocessor System-On-Chip"

Copied!
46
0
0

Loading.... (view fulltext now)

Full text

(1)

Institutionen för datavetenskap

Department of Computer and Information Science

Master's Thesis

On-line Thermal Aware Energy Optimization via

Dynamic Voltage Selection for Multiprocessor

System-On-Chip

by

Wei-Chen Hung

LIU-IDA/LITH-EX-A--10/049--SE

2010-12-21

Linköpings universitet Linköpings universitet 581 83 Linköping

(2)
(3)
(4)
(5)

Institutionen för datavetenskap

Department of Computer and Information Science

Master's Thesis

On-line Thermal Aware Energy Optimization via

Dynamic Voltage Selection for Multiprocessor

System-On-Chip

by

Wei-Chen Hung

Reg Nr: LIU-IDA/LITH-EX-A--10/049--SE

Linköping 2010-12-21

Supervisor: Min Bao

IDA, Linköping universitet Examiner: Petru Eles

IDA, Linköping universitet

Department of Computer and Information Science Linköpings universitet

(6)
(7)

Abstract

In recent decades, the use of electronic systems, especially embedded systems such as mobile phones has been expanding rapidly. Such products use minimal amount of materials, generate less waste and noise, save space, and are considered cost-effective and attractive. In such devices, consideration needs to be given to both high power density and high chip working temperature. According to the advanced scaling technology, leakage power becomes a major issue in terms of power consumption and this in turn influences temperature. Consequently, energy optimization is an important issue in the design of such electronic products.

Techniques for energy optimization have been proposed for circuit-level up to the system-level. This study is focused on a system-level model for a multiprocessor system, considering the inter-dependency between leakage power and temperature. The study applies an on-line temperature-aware dynamic voltage selection (DVS) approach to save energy. The method is evaluated and compared to the static approach, which assumes that tasks always execute their worst case number of clock cycles (WNC) allowing for the exploitation of only the static slack. On-line thermal aware DVS allows the exploitation of both the static and dynamic slacks, since the actual number of clock cycles is usually less than the WNC.

(8)
(9)

Acknowledgment

First, I would like to appreciate my examiner professor Petru Eles for offering me the opportunity to do this thesis. Secondly, I would also like to thank my supervisor Min Bao for giving me a lot of guidance during my thesis work. I learned so much about doing research and technical writing from Min. She is really humble and respectable. I could not finish my thesis without her selfless support.

I would like to give a big thank to the Embedded Systems Laboratory for building such a lovely working atmosphere and working space. Further, I would like to appreciate my office mate, Syed Muhammad Hassan. He is so kind and humorous. It made me enjoy my study life here every day.

For all of my sincere friends from Taiwan and Linköping, especially my room mates, Fu-Jung Hsieh, Han-Yi Chen and Kuei-Hsiang Peng, thanks to all for their support and company. I will never forget the wonderful memories we had.

Finally, I am deeply grateful to my mother, sisters and my boyfriend for their endless love. When I felt frustrated during my thesis work, they gave me strong mental support and courage. This thesis is dedicated to them.

(10)
(11)

Contents

1. Introduction...1

1.1 Embedded Systems ...1

1.2 Energy Issues...1

1.3 Dynamic Voltage Selection (DVS)...2

1.4 Temperature Issues...2

1.5 Temperature Considerations in DVS...3

1.6 Related Work...3

1.6.1 Temperature Dependent Leakage Analysis...3

1.6.2 Architecture-Level Thermal Modeling...3

1.6.3 Thermal sensing and tracking...4

1.6.4 Temperature-Aware System-Level Design...4

1.7 Contributions...5

1.8 Thesis Organization...5

2. Preliminaries...5

2.1 Power and Delay Models...5

2.2 Application Model...6

2.3 Architecture Model...7

2.4 Thermal Analysis...7

2.4.1 Static Temperature Analysis...8

2.4.2 Dynamic Temperature Analysis...9

2.5 Temperature Aware Dynamic Voltage Selection (DVS)...10

3. Problem Formulation...11

4. Methodology...15

4.1 On-line Temperature Aware DVS...15

4.1.1 Off-line Phase...15

4.1.2 On-line Phase...17

4.1.3 LUT generation...18

4.1.4 Temperature Bounds and Granularity...20

5. Experimental Results...22

5.1 Static vs. Dynamic temperature aware DVS...22

5.2 Execution time of LUT generation in off-line phase...23

6. Conclusions...24

Bibliography...26

(12)
(13)

Chapter 1

Introduction

1.1

Embedded Systems

Embedded systems are widely used nowadays. They are designed to perform one or a few dedicated functions and are a sort of computer systems. Embedded systems are usually controlled by one or several processing cores such as micro-controllers and digital signal processors (DSP). They are embedded as a part of a more complex device, often with real-time computing constraints.

Designing embedded systems is a challenging work as lots of constraints need to be satisfied, e.g. timing constraints, energy constraints, physical size, cost, reliability, flexibility, and testability [1]. These constraints can be considered at different levels, from circuit level up to system level. We focus on the design at system-level in this thesis [2].

1.2

Energy Issues

The energy efficiency of embedded systems becomes the main issue of system design. Embedded systems technology advances rapidly due to the increasing functionality demand. Hence, the computation complexity doubles every two years [3], which leads to increased energy consumption.

However, most embedded systems have limited energy budgets, especially the battery-operated devices, such as mobile phones, digital cameras, or laptops. Nevertheless, the speed of improvement of battery techniques is far behind the requirement of energy consumption [3]. Due to the large gap between energy consumption and battery capacity, energy optimization of embedded systems becomes an important issue. In this thesis, system-level energy optimization techniques are addressed.

(14)

1.3

Dynamic Voltage Selection (DVS)

To minimize the total energy consumption at system level, DVS is a widely used approach [4]. This technique reduces the voltage supply to achieve energy efficiency by exploiting available time slacks in real-time applications. Available time slacks are exploited by stretching the execution time of each task within its deadline.

The are two types of slack:

1. Static slack occurs since tasks, when executed at the highest voltage level, can finish before their deadline even when executing their worst case number of clock cycles (WNC). See Fig. 1.

2. Dynamic slack is the result of the fact that most time tasks execute less cycles than their WNC. See Fig. 1.

Figure 1. Dynamic and Static slack

Off-line DVS techniques can only exploit static slack, as proposed in [5] and [6]. On-line DVS techniques, such as those in [7] and [8], can exploit both static and dynamic slacks.

1.4

Temperature Issues

High chip temperature has a strong impact on system reliability and might cause system failure [9]. The major concern of this thesis is the strong influence of temperature on leakage power [10]. Temperature not only influences leakage power, but also carrier mobility and threshold voltage [11]. Carrier mobility decreases under high temperature conditions, which slows overall system performance. Furthermore, there are several aspects of leakage current that have a strong dependence on temperature. The most dominant of those is sub-threshold leakage current, because it is particularly susceptible to higher temperature [12]. Sub-threshold leakage is introduced by weak inversion conduction of transistors and increases rapidly with increased temperature.

(15)

Advances in technology allow for continued decrease in threshold voltages in today's circuits to ensure improvement in circuit performance [12]. However, decreased threshold voltage leads to increased sub-threshold leakage current. Thus, leakage power consumption is becoming a major part of the total power consumption [13]. This problem also feeds into the temperature problem due to the inter-dependency between leakage current and increased temperature within the system. Growing temperature causes an increase in leakage power, and then increased power again grows temperature Consequently, temperature has become an important parameter for power-aware system-level design.

1.5

Temperature Considerations in DVS

In the past, the dependency of leakage on temperature has been ignored in DVS, because the leakage power used to be a minor part of the total energy consumption. Due to advanced scaling techniques, threshold voltage is decreasing while leakage is increasing. As mentioned above, leakage power consumption has become a dominant part of the total energy consumption due to the fact that technology scaling continuously lowers threshold voltage to maintain the improvement of performance. The aim of voltage selection is to minimize energy consumption at early design time by using an empirical assumed working temperature of the chip to estimate leakage energy. Without considering the interdependency between temperature and leakage, leakage estimation in DVS can be very inaccurate and lead to sub-optimal energy minimization.

1.6

Related Work

1.6.1 Temperature Dependent Leakage Analysis

Other researchers have examined the inter-relationship between leakage power and temperature. In [14], Bao proposed a temperature analysis approach which capturing the dependency of leakage on temperature. Liao et al. [10] proposed a temperature aware leakage model which describes the exponential dependency of leakage current on temperature.

1.6.2 Architecture-Level Thermal Modeling

Temperature-aware system-level design methodologies are based on the availability of temperature modeling and analysis approaches. Most temperature modeling tools such as Hotspot [15] and ISAC [16] take the relationship between electrical phenomena and heat transfer into consideration. The basic concept of Hotspot is to develop an equivalent circuit of thermal resistances and capacitances capturing the target architecture. Hotspot is an efficient model for early design stages. Hotspot can be used for static analysis and dynamic analysis, which will be introduced in more detail in

(16)

Section 2.4. ISAC, which is proposed in [16], is similar to Hotspot. ISAC adapts spacial and temporal granularity dynamically to achieve high efficiency and accuracy. ISAC accelerates thermal analysis by the heterogeneous spatial resolution adaptation and asynchronous thermal element time-marching techniques.

The thermal analysis tool used in this thesis is based on Hotspot. For our purposes, the architecture is modeled at the core level. However, Hotspot dose not consider the inter-dependency between temperature and leakage. To overcome this problem, the modifications of Hotspot proposed in [14] are used in this thesis.

1.6.3 Thermal sensing and tracking

A lot of on-line temperature management approach have been proposed which are based on run-time temperature sensing [17]. Thermal sensors are usually used together with schemes for obtaining an accurate chip temperature reading [18]. We proposed an on-line temperature-aware DVS algorithm, by sensing and tracking the chip temperature, in Chapter 4.

To improve the accuracy of temperature measurement becomes a major concern in developing schemes for temperature sensors. In [19], [20], and [21], Kalman filters and spectral methods are used to measure the temperatures accurately from the readings of noisy thermal sensors. In [22] and [23], techniques are proposed to determine the appropriate allocation for thermal sensors with the aim of accurate temperature estimations.

1.6.4 Temperature-Aware System-Level Design

Many temperature-aware system-level design technique have been professed.

To improve system reliability, techniques for temperature management play an important role [9]. In [24], techniques for task sequencing combined with voltage scaling are used in thermal management. Techniques which can scale the processor speed for managing temperature are proposed in [25].

An on-line speed adaption technique for multiprocessors for maximizing the total throughput was proposed in [26]. Another technique, proposed in [27], uses voltage selection to optimize the performance of a set of periodic tasks working on a DVS scalable processor under thermal constraints.

As mentioned in Section 1.4, temperature is an important parameter in power-aware system-level design. Because DVS techniques adapt voltage levels to reduce energy consumption, the dependency of leakage on temperature should be taken as an important factor at voltage selection. Although this dependency is important, there are only few techniques considering this dependency. For example, the authors in [28] proposed an on-line approach which is based on a design time optimization procedure

(17)

performed considering various start time temperatures and workloads. However, this approach ignores the leakage/temperature dependency and assumes that the number of clock cycles executed by a given task is fixed before run time. In Chapter 4, we proposed an on-line DVS technique which takes the leakage/temperature dependency into consideration.

1.7

Contributions

We propose an on-line temperature-aware DVS approach for exploiting both static and dynamic slack on multicore architecture. LUTs of each task are generated at the off-line phase and the LUTs are used at run-time together with readings from temperature sensors. All details are presented in Chapter 4.

1.8

Thesis Organization

The rest of this thesis is organized as follows. Preliminaries are presented in Chapter2. Problem formulations are presented in Chapter 3. In Chapter 4 the dynamic temperature aware DVS approach, is presented. The experimental evaluation is reported in Chapter 5. The conclusions are discussed in Chapter 6.

(18)

(19)

Chapter 2

Preliminaries

2.1

Power and Delay Models

There are two types of power consumption. One is dynamic power consumption and the other is leakage power consumption. Dynamic power is dissipated when charging or discharging capacitance (during switching of logic gates). The dynamic power can be expressed as follows [29]:

P

dyn

=

C

eff

f ⋅V

dd2 (2.1) whereCeff,Vdd, and f denote the effective switched capacitance, supply voltage, and frequency of the processor, respectively.

Leakage power is consumed as long as the circuit is powered on. The leakage power is expressed as follows [10]:

P

leak

=

I

sr

T

2

∗e

β∗Vddγ T

V

dd (2.2)

whereIsris the reference leakage current at a reference temperature.Tis the current temperature. βandγare curve fitting circuit technology dependent coefficients.

The maximum frequency of a processor with a given supply voltageVddis calculated by (2.3) [29].

(20)

f =

1

d

=

1K

1

∗

V

dd

v

th1

α

K

6

Ld∗V

dd

(2.3)

Ldis the logic depth.K1,K6, andVth1are technology dependent coefficients.α

reflects the velocity saturation (1.4 <α< 2).

2.2

Application Model

The functionality of an application is captured by a task graph G as shown in Fig.2. In the task graph G, each node represents a computational task and each edge represents the data dependency between two tasks. Each task is characterized by the following tuple:

τ

i=〈BNCi, ENCi, WNCi,Ceffi, dli

whereBNCi,WNCi, andENCiis the best case, the worst case, and the expected case workload of taskτi(in the unit of number of clock cycles). ENCiis the arithmetic mean value of the probability density function p  NC  of the executed clock cycles NC of task

τi:

ENC

=

j =BNCi WNCi j⋅pij , where pi

j is the probability that a number j of clock cycles are executed by task τi.

Further,Ceffianddlirepresent the effective switched capacitance and deadline of task

τirespectively.

Figure2. Task Graph with dependency

(21)

2.3

Architecture Model

The applications are mapped and scheduled on a platform of multiprocessor system-on-chip (MPSoC) as shown in Fig. 3. The processors are voltage scalable and can operate at several discrete supply voltage levels. Each processor has memory to store look up tables (LUTs) and has internal temperature sensors which can be accessed at run-time.

Figure 3. Tasks mapped on target architecture

2.4

Thermal Analysis

Temperature analysis in this thesis is based on Hotspot [15]. It is a micro-architecture level temperature simulator as mentioned in Section 1.6.2. Hotpsot can perform two types of thermal analysis: static thermal analysis and dynamic thermal analysis. For static temperature analysis, Hotspot produces a constant steady state temperature at which the circuit runs. For dynamic thermal analysis, Hotspot produces a temperature profile as a function of time. The inputs of Hotspot include a power profile, a floorplan file, and a configuration of the cooling package. The power profile provides the power consumption of each functional block. The floorplan describes the layout of functional blocks. However, Hotspot has a limitation that it does not consider the dependency of leakage power consumption on temperature. The thermal analysis used in our work is based on the modified Hotspot proposed in [14] which takes the temperature impact on leakage power consumption into consideration. We will explain the static and dynamic thermal analysis proposed in [14] respectively in Section 2.4.1 and Section 2.4.2.

(22)

2.4.1 Static Temperature Analysis

The overall flow of the static thermal analysis proposed in [14] is shown in Fig. 4. As mentioned above, Hotspot produces a constant steady state temperature at which the circuit runs. In order to compute a steady state temperature, the dynamic power profile and the leakage power profile of the processor are required as inputs. However, there is an dependency between leakage power and temperature. To decouple this inter-dependency, the static analysis is began with an assumed temperature. According to the assumed temperature, leakage power is calculated. With the estimated leakage power and the given dynamic power thermal analysis is performed using the original Hotspot. The result of the temperature analysis is compared with the assumed temperature to see if they are consistent with each other. Consistency means that the difference between the temperature result and the assumed temperature is within an acceptable range. If the temperatures are not consistent, the assumed temperature is replaced by the temperature result and a new iteration starts. The iteration continues repeatedly until the assumed temperature is consistent with the temperature result from the Hotspot thermal analysis.

Figure 4. Static temperature analysis

(23)

2.4.2 Dynamic Temperature Analysis

The dynamic temperature analysis from the modified Hotspot is shown in Fig. 5. To perform dynamic thermal analysis, temperatures are calculated for successive time steps. To compute the temperature at each time step, dynamic and leakage power values are needed. To decouple the inter-dependency between leakage power and temperature, the leakage power within one time step is considered as constant and is independent from the influence of temperature. As shown in Fig. 5, an initial temperatureTinitis given as input at the beginning of the dynamic thermal analysis. The leakage power during the first time step is estimated with this given initial temperature. With this leakage power, together with dynamic power, the temperature value at the next time stepTt1can be calculated. Depending on the temperatureTt1, leakage power for the next step is calculated and Tt2can be computed similarly. The thermal analysis process

is continuing in the same way for the remaining time steps.

(24)

2.5

Temperature Aware Dynamic Voltage Selection (DVS)

Our dynamic temperature aware DVS is based on the temperature aware DVS algorithm proposed in [14]. The algorithm is illustrated in Fig. 6. Given is a scheduled and mapped task graph, and average switched capacitance for each task. An assumed temperature Tassumedat which each task is supposed to run is given at the beginning of

the iteration. The voltage selection algorithm will determine the voltage level Vifor

each task, which minimizes the total energy consumption. Based on the determined supply voltage Vi, the dynamic power profile is calculated and delivered as an input of

the thermal analysis as discussed in 2.4. According to the choice of the designer, either static analysis (outlined in Section 2.4.1) or dynamic temperature analysis (outlined in Section 2.4.2) is performed. Temperature results from thermal analysis will be compared with the assumed temperature at the beginning of this iteration. If they are not consistent with each other, the temperature results will be used as the assumed temperature for the next iteration. Consistency means that the difference between the actual temperature values used at voltage selection and the new produced temperature/temperature file is in an acceptable range. This process will continue until the the assumed temperature converges with the temperature results from thermal analysis.

This temperature-aware DVS approach is a static approach which can only exploit the static slacks which is mentioned in Section 1.3. To overcome this limitation, we present an on-line temperature aware DVS approach in Chapter 4.

Figure 6. Static temperature-aware DVS

(25)

Chapter 3

Problem Formulation

We consider a set of tasks Π ={τi,i=1... n} whose execution order is given. The dynamic

energy consumed during execution of taskτiis calculated as follows:

E

idyn=PdynVi⋅tiE

whereViis the supply voltage ofτi, and tiEis the execution time ofτi.PdynViis

calculated using Equ. (2.1). The leakage energy consumption of taskτiis estimated as follows:

E

ileak=

0 ti E PleakVi,T t dt

, where Viis the supply voltage of τi,tiEis the execution time of τi, and T t  is the

working temperature of τi, which is the function of time. PleakVi,T t can be

calculated using Equ. (2.2).

Our problem is formulated as follows: Minimize

k=i

Πr

E

kdyn ,exp

V

k



E

kleak , exp

V

k

, T t 

(3.1)

Subject to

EST

k

s

k

LST

k

τ

k

Π

r r ≥k (3.2)

(26)

c

k

=

t

k

f

k

τ

k

Π

r (3.4)

c

k

=

{

WNC

k

, if k =i

ENC

k

, if k ≠i

}

(3.5)

s

k

t

k

dl

k

τ

k

Π

r

with deadline

(3.6)

s

k

t

k

s

l

∀ 

k ,l ∈ε .

(3.7)

s

i

t

i

LFT

i

τ

i

is the current task

(3.8)

s

k

≥0

τ

k

Π

r (3.9)

t

k

≥0

c

k

∈ℤ

τ

k

Π

r (3.10)

T

k

t≤T

max

τ

k

Π

r (3.11)

The voltage levelVkand the working temperatureTkare the variables in the formulation. The number of clock cycles has to be an integer, so ckis restricted to the

integer domain (3.10). The working temperature Tkduring the execution of task τk

should not be higher than the maximum temperatureTmaxat which chip is allowed to work (3.11). The total energy consumption to be minimized is expressed as the sum of the energy consumption of each task in (3.1). The expected number of clock cycles (

ENCi) is used for computing the execution time tkEof each task in the objective

function due to the reason that we consider the most likely case in calculating energy. The start time of the current task, si, should not be smaller than its earliest start time (

ESTi) and not larger than its latest start time ( LSTi). ESTiis computed based on the

situation that all tasks execute with their best case number of cycles, BNC , at the highest voltage setting. LSTiis computed as the latest start time ofτi, which allows all the future task τj, j≥i , to satisfy their deadline in current iteration, even future tasks

execute with the worst case number of cycles, WNC , at the highest voltage (3.2). The start working temperatureTskshould not be lower than the ambient temperature Ta and

larger than the its maximum start working temperature Tskmaxat which chip is allowed to

work (3.3). The relation between execution time and number of clock cycles is presented in (3.4). In (3.5), to make sure that the current taskτican finish before deadline, its execution time is calculated by using the worst case number of clock cycles (WNCi). At the same time, the execution time of the remaining tasks is calculated by using the expected number of clock cycles (ENCi). To ensure that the deadlines are met in the worst case, taskτihas to be completed before its latest finishing timeLFTi

(27)

even in the worst case and is forced in (3.8).

Further, deadlines are enforced in (3.6) while the data dependency is guaranteed by (3.7) where ε is the set of all edges in the task graph.

The above formulations are used in the offline part of our on-line temperature-aware DVS algorithm introduced in Chapter4.

(28)
(29)

Chapter 4

Methodology

On-line temperature aware DVS proposed in this chapter is based on the static temperature aware DVS approach mentioned in Section 2.5. The static DVS algorithm in [14] determines the start time of each task by assuming each task executes it WNC. Thus, only static slacks can be exploited, and the results will finally lead to sub-optimal solution. This situation can be improved by using a dynamic approach which can exploit not only static slack but also dynamic slack.

In order to exploit the dynamic slack, the voltage level of the next task has to be determined at the termination of the current task according to the current time and temperature value. Therefore, the static temperature-aware DVS outlined in Section 2.5 should be performed on-line to calculate the appropriate voltage value for the next task. Performing the static approach on-line, after each termination of a task, may cost additional time and energy which can be even higher than the consumption due to the application itself.

To avoid costing extra time and energy on-line, on-line temperature-aware DVS is split into two phases. The first phase is performed off-line and is outlined in 4.1.1, and the second phase is performed on-line and is outlined in 4.1.2.

4.1

On-line Temperature Aware DVS

4.1.1 Off-line Phase

In this phase, static temperature-aware DVS is performed off-line for a set of considered start time and start temperature of taskτito calculate the appropriate voltage mode and frequency. The calculated results are recorded inLUTiwhich can be read online. As shown in Fig. 7, each table contains voltage and frequency settings for all possible pairs of start time and start temperature ofτi. For example, the line inLUT3with start time

(30)

0.9ms and start temperature 55o

C stores the voltage and frequency settings for the

situation whenτ3starts in the time interval (0.8ms, 0.9ms] and the start temperature is in the interval ( 50o

C , 55oC ]. Furthermore, it can be noticed that the task without any

predecessor starts always at time 0.0. The LUT1in Fig. 7 corresponds to the first taskτ1

onP1which has no predecessor and starts at time 0.0. More details of LUT generation will be described in Section 4.1.3.

Figure 7. Dynamic temperature aware DVS example

(31)

Figure 8. Dynamic temperature aware DVS example

4.1.2 On-line Phase

The second phase is performed on-line and it is illustrated in Fig. 7 and Fig. 8. After each termination of a task, both voltage and frequency level have to be adjusted to new values. This is performed by reading the pre-calculated LUT corresponding to the next task for the appropriate voltage and frequency settings according to the actual time and temperature reading. If there is no exact entry for the actual time or temperature, the next higher time or temperature entry is selected.

The example in Fig. 7 and Fig. 8 corresponds to the data from graph in Fig. 2. Taskτ1

executes first and terminates at time 0.85 ms with a temperature of51oCon processor

P1. To set voltage level and frequency for the next taskτ3, the on-line scheme looks up

(32)

entry for time 0.9ms and temperature55oCis selected. For the other successorτ2on processorP2, the entry in LUT2with the time 0.9 ms and temperature45oCis chosen.

The chosen temperature is based on the temperature reading for the processor on which the task will run.

4.1.3 LUT generation

A set (τ1, τ2, τ3,... , τn) of tasks is given and is mapped on DVS enabled processors as described in Section 2.2 and 2.3. The purpose of LUT generation is to generate a LUT for each taskτi, so that overall energy consumption during execution is minimized. The energy consumption will be minimized for the situation that the tasks execute the expected number of cyclesENCi(which happens with much higher probability than

WNCiin reality) as expressed in Equ. (3.1). In order to make sure that deadlines are satisfied even in the worst case, it is guaranteed that the current task will finish before its latest allowed finishing time even if it executes its worst number of cycles (Equ. (3.5) and (3.8)). After performing the voltage selection, all the calculated settings are discarded except the results of current task.

The LUT generation algorithm is presented in Fig. 9. The first outermost loop iterates through each processor Pj.The second outermost loop iterates through the set of tasks

and builds the table LUTifor each taskτion a processor Pj. The next loop generates

time entries ofLUTicorresponding to each possible start timetsiof task τi. Finally, the

innermost loop iterates for all possible start temperatureTsiof each possible start time

tsiof task τi.

To decide the granularity of the LUT, the time and temperature quanta Δtiand ΔTihave to be determined. For each taskτi, the number of time entries will be determined as follows:

LSTiESTi

Δti

(4.1)

For each time entry, there will be the number of temperature entries calculated by formula (4.2) below.

TmaxsTa

ΔTi

(4.2)

In Section 4.1.4 we will further elaborate the granularity of the LUT.

When calculating the voltage and frequency for each combination of time and temperature entry of taskτi, the static DVS algorithm outlined in Section 2.5 is performed for all tasks τj, j≥i , consideringtsias the start time and Tsias the start

temperature forτi.

(33)
(34)

4.1.4 Temperature Bounds and Granularity

As mentioned in the last Section, the number of temperature entries is determined by ⌈TsimaxTa/ΔTi⌉. The lowest start temperatureTais considered as the ambient

temperature.Tmaxs is considered as the highest start temperature, in the worst case, at the

start time of task τi. One alternative could be to assume that Tmaxs is equal to the

maximum temperatureTmaxat which the chip is allowed to work. Although this assumption is safe, it leads to unnecessarily large LUT sizes. In fact, Tmaxwill never be

reached during the task execution in the most of the cases. In order to reduce the table size, a tighter start temperature upper boundTsimaxis required. For generating a complete

LUTiaccording this Tsimax, the LUT generation algorithm outlined in Fig. 9 is

performed several times in successive iterations.

We start by considering that the maximum starting temperature of the first task is the ambient temperature (Ts1

max

=Ta). Then, the two inner loops in Fig. 9 will generate

LUT1. During the generation of LUT1, static DVS is executed (see Section 2.5 and

Fig. 6). The possible temperature profile of task τ1and the peak temperatureT1peakwhich

is reached during the static DVS execution of τ1 can be obtained. The worst case

starting temperature of task τ2is set to the peak temperature of task τ1 (Ts2max=T1peak).

With the value Tmaxs2 ,LUT2can be generated and the process is continued for all taskτi.

After running through the flow in Fig. 10, all the LUTiare computed based on the

maximal starting temperature ofτ1assumed to be the ambient temperatureTa. However, this is not the case in reality, because τ1will start again after the last task τn

due to the periodical-executed application. This time, the LUT generation algorithm is repeated fromτ1 again by setting the maximal starting temperature ofτ1to the worst case peak temperature ofτn ( Ts1max=Tnpeak). This higher temperature upper bound will,

of course, lead to higher peak temperatureT1peakthan in the previous iteration, leading

to, a new larger Ts2max=T1peak, and so on. Hence, new lines will be generated in the LUTs. The process is continued iteratively until a certain task whose peak temperature does not change over two successive iterations. This means that no new entries will be generated into the LUTs.

After tightening the size ofLUTs, there is another parameter, the granularity, ΔTito be fixed. Obviously, finer granularity and larger number of entries will save more energy. Regarding the granularity ΔTi, our experiments have shown that values around 15oC

are appropriate.

(35)
(36)

Chapter 5

Experimental Results

In this chapter, we present the evaluation results of dynamic temperature aware DVS introduced in Chapter 4.

5.1 Static vs. Dynamic temperature aware DVS

The goal of the experiments is to evaluate the energy improvement produced by the on-line temperature aware DVS. During the experiments, static temperature aware DVS is compared to the on-line temperature aware DVS with different WNC/BNC ratios. Obviously, the energy saving increases while the ratio between WNC and BNC becomes larger, as the results show in Fig. 11. The difference between ENC and WNC increases as the ratio between WNC and BNC becomes larger. On-line temperature aware DVS, hence, can exploit larger dynamic slacks.

Figure 11. Static DVS vs. Dynamic DVS 22

(37)

5.2 Execution time of LUT generation in off-line phase

The LUT generation time needed in the off-line phase is illustrated in Fig. 12. The time increases exponentially as task number increases regularly. As the results shown in Fig. 12, an application containing 20 tasks requires about 50 minutes to generate all LUTs, but an application contains 40 tasks requires almost 200 minutes. Furthermore, an application containing 50 tasks requires more than 300 minutes to generate overall tables.

Figure 12. Dynamic off-line computation time

5 10 20 30 40 50 0 100 200 300 400 Off-line algorithm Task Number E xe cu tio n T im e ( m in u te s )

(38)

Chapter 6

Conclusions

In this thesis, two aims are targeted: (1) On-line thermal aware dynamic voltage selection (DVS) for energy optimization; and (2) Implementation of an on-line temperature aware DVS approach for multicore architectures.

An on-line temperature aware DVS approach is proposed consisting of an off-line and an on-line phase. The off-line step generates look up tables for all tasks, which can be read according to the temperature sensors and system clock during on-line execution. Thus, both dynamic slacks and static slacks can be exploited. The off-line step is based on static temperature aware DVS with consideration given to inter-dependency between temperature and leakage.

The experimental results show that dynamic temperature aware DVS is able to generate significant energy savings compared to the static temperature aware DVS.

(39)
(40)

Bibliography

[1] W. Wolf and J. Staunstrup. Hardware/Software CO-Design: Principles and Practice. Kluwer Academic Publishers, Norwell, MA, USA, 1997.

[2] M. T. Schmitz, Bashir M. Al-Hashimi, and P. Eles. System-Level Design Techniques for Energy-Efficient Embedded Systems. Kluwer Academic Publishers, Norwell, MA, USA, 2004.

[3] J. Rabaey. Low Power Design Essentials. Springer Publishing Company, Incorporated, 2009.

[4] A. Andrei, P. Eles, and Z. Peng. Energy optimization of multiprocessor systems on chip by voltage selection. IEEE Transactions on Very Large Scale Integration Systems, 15:262–275, Mar. 2007.

[5] T. Ishihara and H. Yasuura. Voltage scheduling problem for dynamically variable voltage processors. In Proc. International Symposiumon Low Power Electronics and Design, pages 197–202, Aug. 1998.

[6] W. C. Kwon and T. Kim. Optimal voltage allocation techniques for dynamically variable voltage processors. ACM Transactions on Embedded Computing Systems, 4(1):211–230, 2005.

[7] A. Andrei, P. Eles, Z. Peng, M. Schmitz, and B. M. Al-Hashimi. Quasi-static voltage scaling for energy minimization with time constraints. In Proc. Design Automation and Test in Europe, pages 514–519, Mar. 2005.

[8] C. Xian, Y. H. Lu, and Z. Y. Li. Dynamic voltage scaling for multitasking real-time systems with uncertain execution time. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 27(8):1467–1478, Aug. 2008.

[9] D. Brooks, R. P. Dick, R. Joseph, and L. Shang. Power, thermal, and reliability modeling in nanometer-scale microprocessors. IEEE Micro, 27:49–62, 2007.

[10] W. P. Liao, L. He, and K. M. Lepak. Temperature and supply voltage aware performance and power modeling at micro-architecture level. IEEE Transactions on

(41)

Computer-Aided Design of Integrated Circuits and Systems, 24(No.7):1042–1053, Jul. 2005.

[11] R. Cobbold. Temperature effects on mos transistors. Electronic Letters, 2:190–191, 1966.

[12] J. C. Ku and Y. Ismail. On the scaling of temperature-dependent effects. IEEE Transactions on Computer-Aided Design of Intergrated Circuits and Systems, 26(10):1882–1888, Oct. 2007.

[13] International technology roadmap for semiconductors. http://public.itrs.net.

[14] M. Bao, A. Andrei, P. Eles, Z. Peng, Temperature-Aware Voltage Selection for Energy Optimization. Design, Automation and Test in Europe, DATE'08, March 10-14, 2008.

[15] W. Huang, S. Ghosh, S. Velusamy, K. Sankaranarayanan, K. Skadron, and M. Stan. Hotspot: A compact thermal modeling methodology for early-stage vlsi design. IEEE Transactions on VLSI Systems, 14(5):501–513, May 2006.

[16] Y. Yang, Z. P. Gu, R. P. Dick, and L. Shang. Isac: Integrated space and time adaptive chip-package thermal analysis. IEEE Transactions Computer-Aided Design of Integrated Circuits and Systems, 26(1):86–99, Jan. 2007.

[17] M. Sasaki, M. Ikeda, and K. Asada. -1/+0.8c error, accurate temperature sensor using 90nm 1v cmos for on-line thermal monitoring of vlsi circuits. IEEE Transactions on Semiconductor Manufacturing, 21:201–208, 2008.

[18] A. K. Coskun, T. S. Rosing, and K. Whisnant. Temperature aware task scheduling in mpsocs. In Proc. Design Automation Test in Europe, pages 1–6, apr. 2007.

[19] R. Cochran and S. Reda. Spectral techniques for high-resolution thermal characterization with limited sensor data. In Proc. Design Automation Conference, pages 478–483, Jul. 2009.

[20] S. Sharifi, C. C. Liu, and T. S. Rosing. Accurate temperature estimation for efficient thermal management. In Proc. International Symposium on Quality Electronic Design, pages 137–142, Mar. 2008.

[21] Y. F. Zhang and A. Srivastava. Adaptive and autonomous thermal tracking for high performance computing systems. In Proc. Design Automation Conference, pages 68– 73, Jun. 2010.

[22] M. Rajarshi and M. S. Ogrenci. Systematic temperature sensor allocation and placement for microprocessors. In Proc. Design Automation Conference, pages 542– 547, Jul. 2006.

[23] A. N. Nowroz, R. Cochran, and S. Reda. Thermal monitoring of real processors: Techniques for sensor allocation and full characterization. In Proc. Design Automation Conference, pages 56–61, Jun. 2010.

(42)

[24] R. Jayaseelan and T. Mitra. Temperature aware task sequencing and voltage scaling. In Proc. International Conference on Computer Aided Design, pages 618–623, 2008.

[25] B. Nikhil, K. Tracy, and P. Kirk. Speed scaling to manage energy and temperature. Journal of the ACM, 54(1):1–39, 2007.

[26] R. Rao and S. Vrudhula. Efficient online computation of core speeds to maximize the throughput of thermally constrained multi-core processors. In Proc. International Conference on Computer-Aided Design, pages 537–542, Nov. 2008.

[27] S. Zhang and K. S. Chatha. Approximation algorithm for the temperature-aware scheduling problem. In Proc. International Conference on Computer Aided Design, pages 281–288, Nov. 2007.

[28] S. Murali, A. Mutapcic, D. Atienza, R. Gupta, S. Boyd, L. Benini, and G. De Micheli. Temperature control of high-performance multi-core platforms using convex optimization. In Proc. Design automation and test in Europe, pages 110–115, NewYork, NY, USA, 2008. ACM.

[29] J. Choi, A. Bansal, M. Meterelliyoz, J. Murthy, and K. Roy. Leakage power dependent temperature estimation to predict thermal runaway in finfet circuits. In Proc. International Conference on Computer-Aided Design, pages 583–586, 2006.

(43)
(44)

Glossary

DVS

Dynamic Voltage Selection

WNC

Worst Number of Clock Cycle

ENC

Expected Number of Clock Cycle

BNC

Best Number of Clock Cycle

LUT

Look Up Table

(45)
(46)

På svenska

Detta dokument hålls tillgängligt på Internet – eller dess framtida ersättare

– under en längre tid från publiceringsdatum under förutsättning att inga

extra-ordinära omständigheter uppstår.

Tillgång till dokumentet innebär tillstånd för var och en att läsa, ladda

ner, skriva ut enstaka kopior för enskilt bruk och att använda det oförändrat

för ickekommersiell forskning och för undervisning. Överföring av

upphovsrätten vid en senare tidpunkt kan inte upphäva detta tillstånd. All

annan användning av dokumentet kräver upphovsmannens medgivande.

För att garantera äktheten, säkerheten och tillgängligheten finns det

lösningar av teknisk och administrativ art.

Upphovsmannens ideella rätt innefattar rätt att bli nämnd som

upphovsman i den omfattning som god sed kräver vid användning av

dokumentet på ovan beskrivna sätt samt skydd mot att dokumentet ändras

eller presenteras i sådan form eller i sådant sammanhang som är kränkande

för upphovsmannens litterära eller konstnärliga anseende eller egenart.

För ytterligare information om Linköping University Electronic Press

se förlagets hemsida

http://www.ep.liu.se/

In English

The publishers will keep this document online on the Internet - or its

possible replacement - for a considerable time from the date of publication

barring exceptional circumstances.

The online availability of the document implies a permanent

permission for anyone to read, to download, to print out single copies for

your own use and to use it unchanged for any non-commercial research

and educational purpose. Subsequent transfers of copyright cannot revoke

this permission. All other uses of the document are conditional on the

consent of the copyright owner. The publisher has taken technical and

administrative measures to assure authenticity, security and accessibility.

According to intellectual property law the author has the right to be

mentioned when his/her work is accessed as described above and to be

protected against infringement.

For additional information about the Linköping University Electronic

Press and its procedures for publication and for assurance of document

integrity, please refer to its WWW home page:

http://www.ep.liu.se/

References

Related documents

In the first three scenarios, the RM performs fault handling imme- diately after fault detection. In the first experiment one of the Slave CPUs is affected by a permanent fault. In

The major contribution of this thesis is that it proposes a set of test scheduling techniques to minimize the test application time with different considerations,

Tre samverkande aspekter som möjliggör motivation hos en individ presenteras av Jenner (2004, s. I den första aspekten kan motivation ses som en inre faktor, något som möjliggör

In this thesis, the test application time, which is highly related to test cost, is minimized by using co-optimization of test-architecture design and test scheduling, which is

For ICs designed in a modular fashion, the high test cost can be addressed by adequate test planning, which includes test-architecture design, test scheduling, test-data

(2) Energy optimization through temperature-aware idle time (or slack) distribution (ITD). For the above two problems, we have proposed off-line techniques where only static slack

Submitted to Linköping Institute of Technology at Linköping University in partial fulfilment of the requirements for the degree of Licentiate of Engineering. Department of Computer

Fast synthesis, morphology transformation, structural and optical properties of ZnO nanorods grown by seed-free hydrothermal method.. Chan Oeurn Chey*, Hatim Alnoor, Mazhar