Post on 12-Aug-2020
RUN-TIME RESOURCE MANAGEMENT BASED ON DESIGN SPACE EXPLORATION
CHANTAL YKMAN-COUVREUR, PHILIPP HARTMANN, GIANLUCA PALERMO, FABIEN COLAS-BIGEY, LAURENT SAN
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
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
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
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
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
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!
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
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>
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
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
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
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
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
15 Chantal Ykman-Couvreur
DEMONSTRATOR
Country border protection
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
17 Chantal Ykman-Couvreur
DEMONSTRATOR
First application
mode
Audio with video
18 Chantal Ykman-Couvreur
DEMONSTRATOR
Second application
mode
Audio with alarm
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
20 Chantal Ykman-Couvreur
EFFICIENCY ANALYSIS ON POSIX VERSION
Audio+Video
Audio+Alarm
Energ
y per
fram
e
Battery duration
No GRM
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
22 Chantal Ykman-Couvreur
EFFICIENCY ANALYSIS ON POSIX VERSION
Execu
tion t
ime (
mill
i-se
conds)
One call at initialization
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
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
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