RUN-TIME RESOURCE MANAGEMENT BASED ON DESIGN SPACE …isss2012-… · run-time resource management...

25
RUN-TIME RESOURCE MANAGEMENT BASED ON DESIGN SPACE EXPLORATION CHANTAL YKMAN-COUVREUR, PHILIPP HARTMANN, GIANLUCA PALERMO, FABIEN COLAS-BIGEY, LAURENT SAN

Transcript of RUN-TIME RESOURCE MANAGEMENT BASED ON DESIGN SPACE …isss2012-… · run-time resource management...

Page 1: RUN-TIME RESOURCE MANAGEMENT BASED ON DESIGN SPACE …isss2012-… · run-time resource management based on design space exploration chantal ykman-couvreur, philipp hartmann, gianluca

RUN-TIME RESOURCE MANAGEMENT BASED ON DESIGN SPACE EXPLORATION

CHANTAL YKMAN-COUVREUR, PHILIPP HARTMANN, GIANLUCA PALERMO, FABIEN COLAS-BIGEY, LAURENT SAN

Page 2: RUN-TIME RESOURCE MANAGEMENT BASED ON DESIGN SPACE …isss2012-… · run-time resource management based on design space exploration chantal ykman-couvreur, philipp hartmann, gianluca

2 Chantal Ykman-Couvreur

OUTLINE

Purpose and target

Run-time resource management framework

Implementation and synchronization key

features

Demonstrator

Efficiency analysis on Posix version

Conclusions

Page 3: RUN-TIME RESOURCE MANAGEMENT BASED ON DESIGN SPACE …isss2012-… · run-time resource management based on design space exploration chantal ykman-couvreur, philipp hartmann, gianluca

3 Chantal Ykman-Couvreur

PURPOSE AND TARGET

Generic and structured framework valid for any design flow,

any platform, any application domain

Support holistic view of platform resources

Transparently optimize platform resource usage and application

mapping

Dynamically adapt to changing context

Allow different heuristics

Lightweight implementation for embedded platforms

Interface with design-time exploration to alleviate run-time

decision making

Instantiate framework based on target platform and application

domain

Page 4: RUN-TIME RESOURCE MANAGEMENT BASED ON DESIGN SPACE …isss2012-… · run-time resource management based on design space exploration chantal ykman-couvreur, philipp hartmann, gianluca

4 Chantal Ykman-Couvreur

PURPOSE AND TARGET

System

designer

Pareto-optimal

application

configurations

Global resource

manager

Design-time

Run-time

Application +

Platform model

Design space

exploration

Page 5: RUN-TIME RESOURCE MANAGEMENT BASED ON DESIGN SPACE …isss2012-… · run-time resource management based on design space exploration chantal ykman-couvreur, philipp hartmann, gianluca

5 Chantal Ykman-Couvreur

OUR FRAMEWORK

Co

mm

un

icati

on

in

frastr

uctu

re

IP core

LRM

Shared memory

FPGA Host

IP core

ASIC

GRM

CM

LRM

Local Resource Manager

Inside IP core

GRM

Global Resource Manager

Management of

platform resources

CM

Central Manager

Management of

application functionalities

Page 6: RUN-TIME RESOURCE MANAGEMENT BASED ON DESIGN SPACE …isss2012-… · run-time resource management based on design space exploration chantal ykman-couvreur, philipp hartmann, gianluca

6 Chantal Ykman-Couvreur

OUR FRAMEWORK

Host

GRM CM

SelectApplication

Configuration

ReconfigurePlatform

ON/OFF Ck/V

Switch

ing p

oin

ts

Schedule

jobs

Job 1 on IP core 1

Job 2 on IP core 2

Job 3 on IP core 3

Manage

platform

resources

Manage

application

functionalities

Page 7: RUN-TIME RESOURCE MANAGEMENT BASED ON DESIGN SPACE …isss2012-… · run-time resource management based on design space exploration chantal ykman-couvreur, philipp hartmann, gianluca

7 Chantal Ykman-Couvreur

GRM IMPLEMENTATION

Management on platform resources

Implemented in C and compiled into library libgrm.a linked to

application

GRM services executed once at initialization GRM_ConfigurePlatform

GRM_ConfigureApplication

GRM_DeriveUserValues

GRM_SortApplicationConfigurations

GRM services frequently executed during application run GRM_EstimateElapsedEnergy

GRM_SelectApplicationConfiguration

GRM_ReconfigurePlatform

Careful implementation required for low overhead!

Page 8: RUN-TIME RESOURCE MANAGEMENT BASED ON DESIGN SPACE …isss2012-… · run-time resource management based on design space exploration chantal ykman-couvreur, philipp hartmann, gianluca

8 Chantal Ykman-Couvreur

GRM IMPLEMENTATION

# PLATFORM

Platform platform_STM

Number_of_IP_cores 5

Number_of_IP_core_types 2

Energy_budget 1000 joules

Battery_duration 24 hours

# IPCORES

IP_core ipcore_0 REISC HOST

IP_core ipcore_1 REISC SLAVE

IP_core ipcore_2 REISC SLAVE

IP_core ipcore_3 REISC SLAVE

IP_core ipcore_4 HW SLAVE

# IPCORE TYPES

IP_core_type REISC REISC.xml

IP_core_type HW HW.xml

Platform constraints

For each IP core type:

power mode table

Input files

Platform information

Page 9: RUN-TIME RESOURCE MANAGEMENT BASED ON DESIGN SPACE …isss2012-… · run-time resource management based on design space exploration chantal ykman-couvreur, philipp hartmann, gianluca

9 Chantal Ykman-Couvreur

GRM IMPLEMENTATION

Input files

IP core

power mode table

<Power_mode_table>

<Power_mode>

<parameters>

<parameter name=”ID” value=”0” unit=”no”\>

<parameter name=”clock_frequency” value=”0” unit=”MHz”/>

<parameter name=”supply_voltage” value=”0.0” unit=”volts”/>

<parameter name=”avg_dyn_power” value=”0.0” unit=”milli_watts”/>

<parameter name=”avg_leakage” value=”5.0” unit=”milli_watts”/>

</parameters>

<Power_mode_transitions>

<pm_trans>

<parameter name=”pm_id” value=”1” unit=”no”/>

<parameter name=”switching_time” value=”2.0” unit=”milli_sec”>

<parameter name=”switching_power” value=”200.0” unit=”milli_watts”/>

</pm_trans>

</Power_mode_transitions>

</Power_mode>

</Power_mode_table>

Page 10: RUN-TIME RESOURCE MANAGEMENT BASED ON DESIGN SPACE …isss2012-… · run-time resource management based on design space exploration chantal ykman-couvreur, philipp hartmann, gianluca

10 Chantal Ykman-Couvreur

GRM IMPLEMENTATION

Input files - Application configurations

Audio input

specific

Energy

consumption

Image input specific

QoS1

QoS2

Execution

time

Application

mode

Pareto-optimal

application configurations

From design-time

design-space exploration

Based on representative

input data

Page 11: RUN-TIME RESOURCE MANAGEMENT BASED ON DESIGN SPACE …isss2012-… · run-time resource management based on design space exploration chantal ykman-couvreur, philipp hartmann, gianluca

11 Chantal Ykman-Couvreur

GRM IMPLEMENTATION

Input files - Application configurations

<point>

<parameters>

<parameter name="appl_mode" value="0“ unit=“no”/>

<parameter name="audio_frequency" value="128“ unit=“kbits_per_sec”/>

<parameter name="image_resolution" value="101376“ unit=“pixels_per_imagE”/>

<parameter name="image_rate" value="16“ unit=“frames_per_sec”/>

</parameters>

<scheduling>

<sched name="task_id" value="0" name="ipcore_id" value="1“ name="power_mode_id"

value=“2"/>

<sched name="task_id" value=“2" name="ipcore_id" value=“3“ name="power_mode_id"

value=“1"/>

</scheduling>

<system_metrics>

<system_metric name="execution_time" value="7.56“ unit=“milli_sec”/>

<system_metric name="energy_consumption" value="11.89“ unit=“milli_joules”/>

</system_metrics>

</point>

Application mode

and QoS

Scheduling of

each task

Metrics

Page 12: RUN-TIME RESOURCE MANAGEMENT BASED ON DESIGN SPACE …isss2012-… · run-time resource management based on design space exploration chantal ykman-couvreur, philipp hartmann, gianluca

12 Chantal Ykman-Couvreur

GRM IMPLEMENTATION

Two-dimension space of application configurations

Energy

per frame

Pareto-optimal

application

configurations

Current max

allowed

energy

Configuration

selected by

GRM

User value

Weighted indicator of all QoS parameters

Max QoS w.r.t.

battery duration and

energy budget

Fast adaptation to

current input data

Page 13: RUN-TIME RESOURCE MANAGEMENT BASED ON DESIGN SPACE …isss2012-… · run-time resource management based on design space exploration chantal ykman-couvreur, philipp hartmann, gianluca

13 Chantal Ykman-Couvreur

SYNCHRONIZATION BETWEEN GRM AND CM

3 types of signal communication

Between GRM and CM

Between GRM and IP cores

Between CM and slave threads

Careful synchronization required

for parallel management of platform and application!

Thread

IP core

sig_switch_pm

ack_switch_pm

sig_wakeup

Host

sig_terminating

new_AC current_AC

CM

switching

request

switching

acknowledge

GRM

Page 14: RUN-TIME RESOURCE MANAGEMENT BASED ON DESIGN SPACE …isss2012-… · run-time resource management based on design space exploration chantal ykman-couvreur, philipp hartmann, gianluca

14 Chantal Ykman-Couvreur

CM host

Switching point

Thread IPC GRM host

SelectApplConfig

wait(sig_selection)

wait(sig_recrequest)

Reconfigure

Pla

tform

wait(s

ig_re

config &

ack_sw

itch_pm

)

wait(ack_selection)

write(current_AC)

read(new_AC)

wait(IPC_ready &

sig_terminating) read(current_AC)

thread_sleep()

thread_execute()

sig_selection

ack_selection

sig_recrequest

sig_reconfig

IPC_ready

sig_terminating

sig_wakeup

sig_switch_pm ack_switch_pm

SYNCHRONIZATION BETWEEN GRM AND CM

Page 15: RUN-TIME RESOURCE MANAGEMENT BASED ON DESIGN SPACE …isss2012-… · run-time resource management based on design space exploration chantal ykman-couvreur, philipp hartmann, gianluca

15 Chantal Ykman-Couvreur

DEMONSTRATOR

Country border protection

Page 16: RUN-TIME RESOURCE MANAGEMENT BASED ON DESIGN SPACE …isss2012-… · run-time resource management based on design space exploration chantal ykman-couvreur, philipp hartmann, gianluca

16 Chantal Ykman-Couvreur

DEMONSTRATOR

Master Interconnect STBus protocol

Application

configurations

Platform

information I/O (input buffers + shared mem)

fifo_mic_1

fifo_mic_2

fifo_mic_3

fifo_mic_4

fifo_video_in fifo_video_out

fifo_extr

fifo_enh_sig GRM

Global

Resource

Manager

CM

Central

Manager

Host

Memory RDSP1 RDSP2 RDSP3

Embedded MP-SoC platform

Audio processing

Environment noise

detection

Video processing

Move detection and

image selection

Alarm

Page 17: RUN-TIME RESOURCE MANAGEMENT BASED ON DESIGN SPACE …isss2012-… · run-time resource management based on design space exploration chantal ykman-couvreur, philipp hartmann, gianluca

17 Chantal Ykman-Couvreur

DEMONSTRATOR

First application

mode

Audio with video

Page 18: RUN-TIME RESOURCE MANAGEMENT BASED ON DESIGN SPACE …isss2012-… · run-time resource management based on design space exploration chantal ykman-couvreur, philipp hartmann, gianluca

18 Chantal Ykman-Couvreur

DEMONSTRATOR

Second application

mode

Audio with alarm

Page 19: RUN-TIME RESOURCE MANAGEMENT BASED ON DESIGN SPACE …isss2012-… · run-time resource management based on design space exploration chantal ykman-couvreur, philipp hartmann, gianluca

19 Chantal Ykman-Couvreur

DEMONSTRATOR

Two application modes

Audio with alarm

Audio with video

Optimization goal

Max application QoS while respecting platform constraints Battery duration

Energy budget in battery

Two QoS levels

Application functionalities

Input and output quality Audio frequency

Image resolution and rate

Page 20: RUN-TIME RESOURCE MANAGEMENT BASED ON DESIGN SPACE …isss2012-… · run-time resource management based on design space exploration chantal ykman-couvreur, philipp hartmann, gianluca

20 Chantal Ykman-Couvreur

EFFICIENCY ANALYSIS ON POSIX VERSION

Audio+Video

Audio+Alarm

Energ

y per

fram

e

Battery duration

No GRM

Page 21: RUN-TIME RESOURCE MANAGEMENT BASED ON DESIGN SPACE …isss2012-… · run-time resource management based on design space exploration chantal ykman-couvreur, philipp hartmann, gianluca

21 Chantal Ykman-Couvreur

EFFICIENCY ANALYSIS ON POSIX VERSION

Size of GRM_current_platform O(IP core nr) + O(IP core type nr) + O(IP core type nr * power mode nr)

On x86-based platform:

2 Kbytes (5 IP cores, 2 IP core types)

0.5 Kbyte per IP core type

Size of GRM_current_application O(appl. config. nr) + O(appl. config. nr * task nr)

On x86-based platform:

1.5 Kbyte (16 application configurations)

80 bytes per application configuration

Size of libgrm.a on x86-based platform 107 Kbytes

Page 22: RUN-TIME RESOURCE MANAGEMENT BASED ON DESIGN SPACE …isss2012-… · run-time resource management based on design space exploration chantal ykman-couvreur, philipp hartmann, gianluca

22 Chantal Ykman-Couvreur

EFFICIENCY ANALYSIS ON POSIX VERSION

Execu

tion t

ime (

mill

i-se

conds)

One call at initialization

Page 23: RUN-TIME RESOURCE MANAGEMENT BASED ON DESIGN SPACE …isss2012-… · run-time resource management based on design space exploration chantal ykman-couvreur, philipp hartmann, gianluca

23 Chantal Ykman-Couvreur

EFFICIENCY ANALYSIS ON POSIX VERSION

Ave

rage

execu

tion t

ime

(mill

i-se

conds)

Frequent calls at run time

Waiting for

IP core ready

+

IP core

reconfiguration

Page 24: RUN-TIME RESOURCE MANAGEMENT BASED ON DESIGN SPACE …isss2012-… · run-time resource management based on design space exploration chantal ykman-couvreur, philipp hartmann, gianluca

24 Chantal Ykman-Couvreur

EFFICIENCY ANALYSIS ON POSIX VERSION

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

AudioVideo

GRM

CPU

usa

ge (

sec)

1.16% AudioVideo on x86 platform @ 800 MHz

0.6% AudioVideo on TI OMAP 4460 platform @ 700 MHz

Page 25: RUN-TIME RESOURCE MANAGEMENT BASED ON DESIGN SPACE …isss2012-… · run-time resource management based on design space exploration chantal ykman-couvreur, philipp hartmann, gianluca

25 Chantal Ykman-Couvreur

CONCLUSIONS

Main contribution Run-time resource management for future embedded computing

Instantiation for audio-driven video surveillance

Maximize QoS wrt battery duration and energy budget

Very low CPU overhead

Future work Complete integration on embedded platform

Apply our framework to other wireless and multimedia domains