Conference on Adaptive Hardware and Systems (AHS'14) - FlexTiles Introductions
FPL'2014 - FlexTiles Workshop - 4 - FlexTiles Virtual Platform
-
Upload
flextiles-team -
Category
Engineering
-
view
117 -
download
3
description
Transcript of FPL'2014 - FlexTiles Workshop - 4 - FlexTiles Virtual Platform
www.flextiles.eu
FlexTiles
Virtual Execution
Platform Eindhoven University of Technology
2 /
The info
rmation c
onta
ined in this
docum
ent and a
ny a
ttachm
ents
are
the p
ropert
y o
f F
lexT
iles c
onsort
ium
. Y
ou a
re h
ere
by n
otified that any r
evie
w, dis
sem
ination, dis
trib
ution,
copyin
g o
r oth
erw
ise u
se o
f th
is d
ocum
ent m
ust be d
one in a
ccord
ance w
ith the C
A o
f th
e p
roje
ct (T
RT
/DJ/6
24412785.2
011).
Tem
pla
te v
ers
ion 1.0
TOC
• CompSOC Platform
• CompSOC Flextiles: static goes dynamic
• Introduction to the FlexTiles Platform:
Hardware/Software
• Managing the different resources
• Virtual Execution Platform
• Dynamic loading of an application
3 /
The info
rmation c
onta
ined in this
docum
ent and a
ny a
ttachm
ents
are
the p
ropert
y o
f F
lexT
iles c
onsort
ium
. Y
ou a
re h
ere
by n
otified that any r
evie
w, dis
sem
ination, dis
trib
ution,
copyin
g o
r oth
erw
ise u
se o
f th
is d
ocum
ent m
ust be d
one in a
ccord
ance w
ith the C
A o
f th
e p
roje
ct (T
RT
/DJ/6
24412785.2
011).
Tem
pla
te v
ers
ion 1.0
CompSOC – The Platform
CompSOC Platform
• Heterogeneous Multi Processor platform
• Composable, analyzable and predictable
• NoC
• Processor tile
• DDR Memory controller
• Template based fully automated hardware flow
• Flexible software layer:
• Runs on:
• CompSOC platform
• OVP (Flextiles)
• ARM Cortex M
• Linux
• External IO
• Etc.
4 /
The info
rmation c
onta
ined in this
docum
ent and a
ny a
ttachm
ents
are
the p
ropert
y o
f F
lexT
iles c
onsort
ium
. Y
ou a
re h
ere
by n
otified that any r
evie
w, dis
sem
ination, dis
trib
ution,
copyin
g o
r oth
erw
ise u
se o
f th
is d
ocum
ent m
ust be d
one in a
ccord
ance w
ith the C
A o
f th
e p
roje
ct (T
RT
/DJ/6
24412785.2
011).
Tem
pla
te v
ers
ion 1.0
CompSOC - Acknowledgements
CompSOC:
• Development for more than
10 years
• Different parts of the
platform have been and are
part of many EU-projects
5 /
The info
rmation c
onta
ined in this
docum
ent and a
ny a
ttachm
ents
are
the p
ropert
y o
f F
lexT
iles c
onsort
ium
. Y
ou a
re h
ere
by n
otified that any r
evie
w, dis
sem
ination, dis
trib
ution,
copyin
g o
r oth
erw
ise u
se o
f th
is d
ocum
ent m
ust be d
one in a
ccord
ance w
ith the C
A o
f th
e p
roje
ct (T
RT
/DJ/6
24412785.2
011).
Tem
pla
te v
ers
ion 1.0
CompSOC - FlexTiles
In FlexTiles project:
• CompSOC goes from static to dynamic
6 /
The info
rmation c
onta
ined in this
docum
ent and a
ny a
ttachm
ents
are
the p
ropert
y o
f F
lexT
iles c
onsort
ium
. Y
ou a
re h
ere
by n
otified that any r
evie
w, dis
sem
ination, dis
trib
ution,
copyin
g o
r oth
erw
ise u
se o
f th
is d
ocum
ent m
ust be d
one in a
ccord
ance w
ith the C
A o
f th
e p
roje
ct (T
RT
/DJ/6
24412785.2
011).
Tem
pla
te v
ers
ion 1.0
Static
Static
• Resource constraints verified off-line
• Application code available in platform from bootup
• Applications setup at start-up
• Applications never removed or modified
But we have:
• Composable platform: full-isolation between
applications
• Run-time programmable resources: NoC, GPP, etc.
7 /
The info
rmation c
onta
ined in this
docum
ent and a
ny a
ttachm
ents
are
the p
ropert
y o
f F
lexT
iles c
onsort
ium
. Y
ou a
re h
ere
by n
otified that any r
evie
w, dis
sem
ination, dis
trib
ution,
copyin
g o
r oth
erw
ise u
se o
f th
is d
ocum
ent m
ust be d
one in a
ccord
ance w
ith the C
A o
f th
e p
roje
ct (T
RT
/DJ/6
24412785.2
011).
Tem
pla
te v
ers
ion 1.0
Dynamic
Dynamic
• Resource constraints verified at run-time
• Online computation of resource configuration
• Run-time (re-)programming of resources
• Application code loaded during run-time
• Application initialization at run-time
• Applications are removed or modified.
8 /
The info
rmation c
onta
ined in this
docum
ent and a
ny a
ttachm
ents
are
the p
ropert
y o
f F
lexT
iles c
onsort
ium
. Y
ou a
re h
ere
by n
otified that any r
evie
w, dis
sem
ination, dis
trib
ution,
copyin
g o
r oth
erw
ise u
se o
f th
is d
ocum
ent m
ust be d
one in a
ccord
ance w
ith the C
A o
f th
e p
roje
ct (T
RT
/DJ/6
24412785.2
011).
Tem
pla
te v
ers
ion 1.0
Interlude
Introduction:
• FlexTiles Hardware Platform and software stack
• Model of Computation
9 /
The info
rmation c
onta
ined in this
docum
ent and a
ny a
ttachm
ents
are
the p
ropert
y o
f F
lexT
iles c
onsort
ium
. Y
ou a
re h
ere
by n
otified that any r
evie
w, dis
sem
ination, dis
trib
ution,
copyin
g o
r oth
erw
ise u
se o
f th
is d
ocum
ent m
ust be d
one in a
ccord
ance w
ith the C
A o
f th
e p
roje
ct (T
RT
/DJ/6
24412785.2
011).
Tem
pla
te v
ers
ion 1.0
Introduction to the FlexTiles Platform: Hardware/Software
Proc clk
host
bridge
so
ftw
are
Comik μkernel
interrupt
handler
exception
handler scheduler
main int exc
resource
manager DRAM
BM
driver
NOC
BM
driver
DSP
BM
driver
eFPGA
BM
driver
tile
BM
proc
BM
driver
VEP
BM
DMA
BM
driver
space+time
I+DMEMs
DMAs +
CMEMs
virtual
wires
space+time
S/DRAM
virtual
processors
space+time
I+DMEM
DMA +
CMEM DSP
space+time
S/DRAM
virtual
processor
virtual platform
(multiple heterogeneous
virtual resources)
boot
loader
application QoS &
power management actor/process/job/thread
code Actor code
RTOS (pOSe )
DF/... application
interrupt
handler
exception
handler scheduler
main int exc
applications
I/O eFPGA
10 /
The info
rmation c
onta
ined in this
docum
ent and a
ny a
ttachm
ents
are
the p
ropert
y o
f F
lexT
iles c
onsort
ium
. Y
ou a
re h
ere
by n
otified that any r
evie
w, dis
sem
ination, dis
trib
ution,
copyin
g o
r oth
erw
ise u
se o
f th
is d
ocum
ent m
ust be d
one in a
ccord
ance w
ith the C
A o
f th
e p
roje
ct (T
RT
/DJ/6
24412785.2
011).
Tem
pla
te v
ers
ion 1.0
Introduction to the FlexTiles Platform: Software
Software
CoMik
Processor Virtualization
Cycle accurate partitioning
FIFOs
Software view to NoC
Race-condition free communication. protocol (C-Heap)
Flexible mapping
CompOSe
Real-time OS
Cyclo-static dataflow
Programming model
Analyzable
11 /
The info
rmation c
onta
ined in this
docum
ent and a
ny a
ttachm
ents
are
the p
ropert
y o
f F
lexT
iles c
onsort
ium
. Y
ou a
re h
ere
by n
otified that any r
evie
w, dis
sem
ination, dis
trib
ution,
copyin
g o
r oth
erw
ise u
se o
f th
is d
ocum
ent m
ust be d
one in a
ccord
ance w
ith the C
A o
f th
e p
roje
ct (T
RT
/DJ/6
24412785.2
011).
Tem
pla
te v
ers
ion 1.0
Introduction to the FlexTiles Platform: Software
Programming Model: CSDF (Extended for Flextiles)
12 /
The info
rmation c
onta
ined in this
docum
ent and a
ny a
ttachm
ents
are
the p
ropert
y o
f F
lexT
iles c
onsort
ium
. Y
ou a
re h
ere
by n
otified that any r
evie
w, dis
sem
ination, dis
trib
ution,
copyin
g o
r oth
erw
ise u
se o
f th
is d
ocum
ent m
ust be d
one in a
ccord
ance w
ith the C
A o
f th
e p
roje
ct (T
RT
/DJ/6
24412785.2
011).
Tem
pla
te v
ers
ion 1.0
Introduction to the FlexTiles Platform: Software
Programming Model: CSDF
13 /
The info
rmation c
onta
ined in this
docum
ent and a
ny a
ttachm
ents
are
the p
ropert
y o
f F
lexT
iles c
onsort
ium
. Y
ou a
re h
ere
by n
otified that any r
evie
w, dis
sem
ination, dis
trib
ution,
copyin
g o
r oth
erw
ise u
se o
f th
is d
ocum
ent m
ust be d
one in a
ccord
ance w
ith the C
A o
f th
e p
roje
ct (T
RT
/DJ/6
24412785.2
011).
Tem
pla
te v
ers
ion 1.0
Virtual Execution Platform
First thing when loading application:
Virtual Execution Platform
• Set of (virtual) resources that form a platform capable
of executing an application.
space+time
I+DMEMs
DMAs +
CMEMs
virtual
wires
space+time
S/DRAM
virtual
processors
space+time
I+DMEM
DMA +
CMEM DSP
space+time
S/DRAM
virtual
processor
main int exc DSM
I/O eFPGA
14 /
The info
rmation c
onta
ined in this
docum
ent and a
ny a
ttachm
ents
are
the p
ropert
y o
f F
lexT
iles c
onsort
ium
. Y
ou a
re h
ere
by n
otified that any r
evie
w, dis
sem
ination, dis
trib
ution,
copyin
g o
r oth
erw
ise u
se o
f th
is d
ocum
ent m
ust be d
one in a
ccord
ance w
ith the C
A o
f th
e p
roje
ct (T
RT
/DJ/6
24412785.2
011).
Tem
pla
te v
ers
ion 1.0
Virtual Execution Platform
What is a virtual resource?
• A full or shared hardware resource
• Sharing should be predictable and composable
• Described by a budget:
• E.g. 20% of the Processor
• 1 DMA
• 75 kbyte of data memory
15 /
The info
rmation c
onta
ined in this
docum
ent and a
ny a
ttachm
ents
are
the p
ropert
y o
f F
lexT
iles c
onsort
ium
. Y
ou a
re h
ere
by n
otified that any r
evie
w, dis
sem
ination, dis
trib
ution,
copyin
g o
r oth
erw
ise u
se o
f th
is d
ocum
ent m
ust be d
one in a
ccord
ance w
ith the C
A o
f th
e p
roje
ct (T
RT
/DJ/6
24412785.2
011).
Tem
pla
te v
ers
ion 1.0
Managing Resources
Each resource is different, lets try to abstract this:
Reserve
Allocate Re-allocate
Enable Disable
Virtual Resource Reserved
Virtual Resource Idle
Release
Virtual Resource Running
Virtual Resource Description
16 /
The info
rmation c
onta
ined in this
docum
ent and a
ny a
ttachm
ents
are
the p
ropert
y o
f F
lexT
iles c
onsort
ium
. Y
ou a
re h
ere
by n
otified that any r
evie
w, dis
sem
ination, dis
trib
ution,
copyin
g o
r oth
erw
ise u
se o
f th
is d
ocum
ent m
ust be d
one in a
ccord
ance w
ith the C
A o
f th
e p
roje
ct (T
RT
/DJ/6
24412785.2
011).
Tem
pla
te v
ers
ion 1.0
Managing Resources
Reserve
Allocate Re-allocate
Enable Disable
Virtual Resource Reserved
Virtual Resource Idle
Release
Virtual Resource Running
Virtual Resource Description
Resource Description:
• Budget
• Memory Size
(imem/dmem)
• #of slots
• Bandwidth/Latency
• Configuration
• Max CPU frequency
• Delay
17 /
The info
rmation c
onta
ined in this
docum
ent and a
ny a
ttachm
ents
are
the p
ropert
y o
f F
lexT
iles c
onsort
ium
. Y
ou a
re h
ere
by n
otified that any r
evie
w, dis
sem
ination, dis
trib
ution,
copyin
g o
r oth
erw
ise u
se o
f th
is d
ocum
ent m
ust be d
one in a
ccord
ance w
ith the C
A o
f th
e p
roje
ct (T
RT
/DJ/6
24412785.2
011).
Tem
pla
te v
ers
ion 1.0
Virtual Execution Platform
Full Virtual Platform:
18 /
The info
rmation c
onta
ined in this
docum
ent and a
ny a
ttachm
ents
are
the p
ropert
y o
f F
lexT
iles c
onsort
ium
. Y
ou a
re h
ere
by n
otified that any r
evie
w, dis
sem
ination, dis
trib
ution,
copyin
g o
r oth
erw
ise u
se o
f th
is d
ocum
ent m
ust be d
one in a
ccord
ance w
ith the C
A o
f th
e p
roje
ct (T
RT
/DJ/6
24412785.2
011).
Tem
pla
te v
ers
ion 1.0
Virtual Platform Management
This extends to
Virtual Execution Platform
Virtual Platform Running
FRT dataflow
Appl. manager
T1 T2 T3
task sch.+FR
Virtual Platform Description
Virtual Platform Description
Reserve
Allocate Re-allocate
Enable Disable
Virtual Platform Reserved
Virtual Platform Idle
Release
FRT dataflow
(eFPGA)
T4
FRT dataflow
(dsp)
T5
19 /
The info
rmation c
onta
ined in this
docum
ent and a
ny a
ttachm
ents
are
the p
ropert
y o
f F
lexT
iles c
onsort
ium
. Y
ou a
re h
ere
by n
otified that any r
evie
w, dis
sem
ination, dis
trib
ution,
copyin
g o
r oth
erw
ise u
se o
f th
is d
ocum
ent m
ust be d
one in a
ccord
ance w
ith the C
A o
f th
e p
roje
ct (T
RT
/DJ/6
24412785.2
011).
Tem
pla
te v
ers
ion 1.0
Resource Management Framework
Resource Management Framework have been developed
• One (clean) API for managing Virtual Resources.
• API should be independent of actual underlying resource
• Uses object inheritance to enforce this.
• Validation/Verifications
• User space API
• Allows application to interface with (virtual) resource.
• Validates & Verifies
• API execution time should be predictable and composable
• Debug/Inspect API
• Provides information to the developer
• Gives Virtualization Layer insight
Syste
m
Use
r
Debug
Budget Manager
Driver
20 /
The info
rmation c
onta
ined in this
docum
ent and a
ny a
ttachm
ents
are
the p
ropert
y o
f F
lexT
iles c
onsort
ium
. Y
ou a
re h
ere
by n
otified that any r
evie
w, dis
sem
ination, dis
trib
ution,
copyin
g o
r oth
erw
ise u
se o
f th
is d
ocum
ent m
ust be d
one in a
ccord
ance w
ith the C
A o
f th
e p
roje
ct (T
RT
/DJ/6
24412785.2
011).
Tem
pla
te v
ers
ion 1.0
We now have a Virtual Execution Platform?
How to boot it?
• No code in the platform:
• DSP gets loaded by the Resource Manager.
• eFPGA via the reconfiguration manager in the eFPGA layer
• GPP
• Shared resource.
21 /
The info
rmation c
onta
ined in this
docum
ent and a
ny a
ttachm
ents
are
the p
ropert
y o
f F
lexT
iles c
onsort
ium
. Y
ou a
re h
ere
by n
otified that any r
evie
w, dis
sem
ination, dis
trib
ution,
copyin
g o
r oth
erw
ise u
se o
f th
is d
ocum
ent m
ust be d
one in a
ccord
ance w
ith the C
A o
f th
e p
roje
ct (T
RT
/DJ/6
24412785.2
011).
Tem
pla
te v
ers
ion 1.0
Dynamic Loading on GPP
Loading applications at run-time: Sound easy? It ain’t.
• Every memory should be managed
• No MMU
• Need position independent code. (PIC)
• Compiler severely broken
• In place code patching
• Loading should be safe
• Loading should not affect the running system.
• Loading should not be affected by the running system.
22 /
The info
rmation c
onta
ined in this
docum
ent and a
ny a
ttachm
ents
are
the p
ropert
y o
f F
lexT
iles c
onsort
ium
. Y
ou a
re h
ere
by n
otified that any r
evie
w, dis
sem
ination, dis
trib
ution,
copyin
g o
r oth
erw
ise u
se o
f th
is d
ocum
ent m
ust be d
one in a
ccord
ance w
ith the C
A o
f th
e p
roje
ct (T
RT
/DJ/6
24412785.2
011).
Tem
pla
te v
ers
ion 1.0
Putting Things Together
Application Bundles
• Executable and Linkable Format (ELF)
• Loadable code
• GPP Instruction/data
• eFPGA virtual bitstream
• DSP instruction/data
• Memory
• platform description
• Resource requirements
• Reconfiguration information
• Description of configurations
• Supporting code
Application Bundle
subbundle1
subbundle2
Platform Description
GPP 1GPP 2NoCDSP 1DSP 2eFPGA
Platform DescriptionGPPDMAMemory
eFPGA
DSP
DSP
GPP Code
Memory Image
23 /
The info
rmation c
onta
ined in this
docum
ent and a
ny a
ttachm
ents
are
the p
ropert
y o
f F
lexT
iles c
onsort
ium
. Y
ou a
re h
ere
by n
otified that any r
evie
w, dis
sem
ination, dis
trib
ution,
copyin
g o
r oth
erw
ise u
se o
f th
is d
ocum
ent m
ust be d
one in a
ccord
ance w
ith the C
A o
f th
e p
roje
ct (T
RT
/DJ/6
24412785.2
011).
Tem
pla
te v
ers
ion 1.0
run-time loading
application bundle hw
bitstream
app.
ELFs
virtual platform
specification
system bundle
sys.
ELFs
phys. platform
specification
24 /
The info
rmation c
onta
ined in this
docum
ent and a
ny a
ttachm
ents
are
the p
ropert
y o
f F
lexT
iles c
onsort
ium
. Y
ou a
re h
ere
by n
otified that any r
evie
w, dis
sem
ination, dis
trib
ution,
copyin
g o
r oth
erw
ise u
se o
f th
is d
ocum
ent m
ust be d
one in a
ccord
ance w
ith the C
A o
f th
e p
roje
ct (T
RT
/DJ/6
24412785.2
011).
Tem
pla
te v
ers
ion 1.0
run-time loading
1
a
application bundle hw
bitstream
app.
ELFs
virtual platform
specification
system bundle
sys.
ELFs
phys. platform
specification
network on chip
processor tiles memory
tiles eFPGA DSP
25 /
The info
rmation c
onta
ined in this
docum
ent and a
ny a
ttachm
ents
are
the p
ropert
y o
f F
lexT
iles c
onsort
ium
. Y
ou a
re h
ere
by n
otified that any r
evie
w, dis
sem
ination, dis
trib
ution,
copyin
g o
r oth
erw
ise u
se o
f th
is d
ocum
ent m
ust be d
one in a
ccord
ance w
ith the C
A o
f th
e p
roje
ct (T
RT
/DJ/6
24412785.2
011).
Tem
pla
te v
ers
ion 1.0
run-time loading
1
b
boot
loader
application bundle hw
bitstream
app.
ELFs
virtual platform
specification
system bundle
sys.
ELFs
phys. platform
specification
network on chip
processor tiles memory
tiles eFPGA DSP
26 /
The info
rmation c
onta
ined in this
docum
ent and a
ny a
ttachm
ents
are
the p
ropert
y o
f F
lexT
iles c
onsort
ium
. Y
ou a
re h
ere
by n
otified that any r
evie
w, dis
sem
ination, dis
trib
ution,
copyin
g o
r oth
erw
ise u
se o
f th
is d
ocum
ent m
ust be d
one in a
ccord
ance w
ith the C
A o
f th
e p
roje
ct (T
RT
/DJ/6
24412785.2
011).
Tem
pla
te v
ers
ion 1.0
run-time loading
microkernel (TDM)
resource manager
VL app.
SM task
task sch.
application bundle hw
bitstream
app.
ELFs
virtual platform
specification
system bundle
sys.
ELFs
phys. platform
specification
network on chip
processor tiles memory
tiles eFPGA DSP
27 /
The info
rmation c
onta
ined in this
docum
ent and a
ny a
ttachm
ents
are
the p
ropert
y o
f F
lexT
iles c
onsort
ium
. Y
ou a
re h
ere
by n
otified that any r
evie
w, dis
sem
ination, dis
trib
ution,
copyin
g o
r oth
erw
ise u
se o
f th
is d
ocum
ent m
ust be d
one in a
ccord
ance w
ith the C
A o
f th
e p
roje
ct (T
RT
/DJ/6
24412785.2
011).
Tem
pla
te v
ers
ion 1.0
run-time loading
app 1
virtual platform
specification &
ELFs
microkernel (TDM)
resource manager
2
VL app.
SM task
task sch.
application bundle hw
bitstream
app.
ELFs
virtual platform
specification
system bundle
sys.
ELFs
phys. platform
specification
network on chip
processor tiles memory
tiles eFPGA DSP
28 /
The info
rmation c
onta
ined in this
docum
ent and a
ny a
ttachm
ents
are
the p
ropert
y o
f F
lexT
iles c
onsort
ium
. Y
ou a
re h
ere
by n
otified that any r
evie
w, dis
sem
ination, dis
trib
ution,
copyin
g o
r oth
erw
ise u
se o
f th
is d
ocum
ent m
ust be d
one in a
ccord
ance w
ith the C
A o
f th
e p
roje
ct (T
RT
/DJ/6
24412785.2
011).
Tem
pla
te v
ers
ion 1.0
run-time loading
app 1
virtual platform
specification &
ELFs
sys. app.
SM task
task sch.
microkernel (TDM)
resource manager
boot
loader
application bundle hw
bitstream
app.
ELFs
virtual platform
specification
system bundle
sys.
ELFs
phys. platform
specification
network on chip
processor tiles memory
tiles eFPGA DSP
29 /
The info
rmation c
onta
ined in this
docum
ent and a
ny a
ttachm
ents
are
the p
ropert
y o
f F
lexT
iles c
onsort
ium
. Y
ou a
re h
ere
by n
otified that any r
evie
w, dis
sem
ination, dis
trib
ution,
copyin
g o
r oth
erw
ise u
se o
f th
is d
ocum
ent m
ust be d
one in a
ccord
ance w
ith the C
A o
f th
e p
roje
ct (T
RT
/DJ/6
24412785.2
011).
Tem
pla
te v
ers
ion 1.0
run-time loading
RTOS
app 1
virtual platform
specification &
ELFs
FRT dataflow
T1 T2
task sch. PM
DF API ...
...
VL app.
SM task
task sch.
microkernel (TDM)
resource manager
...
application bundle hw
bitstream
app.
ELFs
virtual platform
specification
system bundle
sys.
ELFs
phys. platform
specification
network on chip
processor tiles memory
tiles eFPGA DSP
FRT dataflow
T3 T4
30 /
The info
rmation c
onta
ined in this
docum
ent and a
ny a
ttachm
ents
are
the p
ropert
y o
f F
lexT
iles c
onsort
ium
. Y
ou a
re h
ere
by n
otified that any r
evie
w, dis
sem
ination, dis
trib
ution,
copyin
g o
r oth
erw
ise u
se o
f th
is d
ocum
ent m
ust be d
one in a
ccord
ance w
ith the C
A o
f th
e p
roje
ct (T
RT
/DJ/6
24412785.2
011).
Tem
pla
te v
ers
ion 1.0
Questions
Questions?
Tuesday Evening: Demo Night
• Interactive demonstration of the CompSOC platform
• Including development done in Flextiles
• DEMO 7