SlideShare a Scribd company logo
www.flextiles.eu 
FlexTiles 
Virtual Execution Platform 
Eindhoven University of Technology
2 / 
The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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 information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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 information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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 information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
CompSOC - FlexTiles 
In FlexTiles project: 
• CompSOC goes from static to dynamic
6 / 
The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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 information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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 information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
Interlude 
Introduction: 
•FlexTiles Hardware Platform and software stack 
•Model of Computation
9 / 
The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
Introduction to the FlexTiles Platform: Hardware/Software 
Proc clk 
host 
bridge 
software 
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 information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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 information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
Introduction to the FlexTiles Platform: Software 
Programming Model: CSDF (Extended for Flextiles)
12 / 
The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
Introduction to the FlexTiles Platform: Software 
Programming Model: CSDF
13 / 
The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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 information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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 information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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 information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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 information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
Virtual Execution Platform 
Full Virtual Platform:
18 / 
The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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 information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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 
System 
User 
Debug 
Budget Manager 
Driver
20 / 
The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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 information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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 information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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 Bundlesubbundle1subbundle2Platform DescriptionGPP 1GPP 2NoCDSP 1DSP 2eFPGAPlatform DescriptionGPPDMAMemoryeFPGADSPDSPGPP CodeMemory Image
23 / 
The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
run-time loading 
application bundle 
hw 
bitstream 
app. ELFs 
virtual platform specification 
system bundle 
sys. ELFs 
phys. platform specification
24 / 
The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
run-time loading 
1a 
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 information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
run-time loading 
1b 
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 information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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 information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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 information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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 information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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 information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
Questions 
Questions? 
Tuesday Evening: Demo Night 
•Interactive demonstration of the CompSOC platform 
•Including development done in Flextiles 
•DEMO 7

More Related Content

PDF
FPL'2014 - FlexTiles Workshop - 5 - FlexTiles Simulation Platform
PPT
Eclipse RT Day
PDF
Understanding the endianess and the benefits of RHEL for Power, little endian
PDF
FPL'2014 - FlexTiles Workshop - 1 - FlexTiles Overview
PDF
Moishe House West Hartford Info Session presentation
ODP
Esquema relsemánticas1ºabac.
PPTX
HiPEAC 2012
PPTX
Adaptive Hardware and Systems (AHS'14) - FlexTiles OVP Demo
FPL'2014 - FlexTiles Workshop - 5 - FlexTiles Simulation Platform
Eclipse RT Day
Understanding the endianess and the benefits of RHEL for Power, little endian
FPL'2014 - FlexTiles Workshop - 1 - FlexTiles Overview
Moishe House West Hartford Info Session presentation
Esquema relsemánticas1ºabac.
HiPEAC 2012
Adaptive Hardware and Systems (AHS'14) - FlexTiles OVP Demo

Viewers also liked (13)

TXT
LE GUIDE CULINAIRE
PPTX
DATE 2012
PPTX
SAMOS 2012
PPTX
Conference on Adaptive Hardware and Systems (AHS'14) - The DSP for FlexTiles
PPTX
Why do you need a LinkedIn Profile?
PPTX
Las leyes de Newton y los tipos de fuerza
PPTX
RAW 2012
PDF
My Year IN Review
PPTX
AWS Support
PPT
9849ed58 0205-4740-8040-8c6f33761cb3 computernetworkc1
PDF
FPL'2014 - FlexTiles Workshop - 7 - FlexTiles Emulation platform
PPTX
The FlexTiles Development Platform offers Dual FPGA for 3D SoC Prototyping
PPTX
Social media for market research and marketing
LE GUIDE CULINAIRE
DATE 2012
SAMOS 2012
Conference on Adaptive Hardware and Systems (AHS'14) - The DSP for FlexTiles
Why do you need a LinkedIn Profile?
Las leyes de Newton y los tipos de fuerza
RAW 2012
My Year IN Review
AWS Support
9849ed58 0205-4740-8040-8c6f33761cb3 computernetworkc1
FPL'2014 - FlexTiles Workshop - 7 - FlexTiles Emulation platform
The FlexTiles Development Platform offers Dual FPGA for 3D SoC Prototyping
Social media for market research and marketing
Ad

Similar to FPL'2014 - FlexTiles Workshop - 4 - FlexTiles Virtual Platform (20)

PDF
FPL'2014 - FlexTiles Workshop - 3 - FlexTiles DSP Accelerators
PPTX
Conference on Adaptive Hardware and Systems (AHS'14) - What is FlexTiles?
PDF
FPL'2014 - FlexTiles Workshop - 6 - FlexTiles Embedded FPGA Accelerators
PDF
FPL'2014 - FlexTiles Workshop - 8 - FlexTiles Demo
PPTX
Conference on Adaptive Hardware and Systems (AHS'14) - Why FlexTiles uses OVP...
PDF
Applying Linux to the Civil Infrastructure
PDF
2018 Genivi Xen Overview Nov Update
PDF
Embedded Os [Linux & Co.]
PDF
DPDK & Cloud Native
PDF
Introducing the Civil Infrastructure Platform
PDF
SLTS kernel and base-layer development in the Civil Infrastructure Platform
PPTX
Open Source IoT at Eclipse
PPTX
ECI OpenFlow 2.0 the Future of SDN
PPT
PLM World Conference 2007
PDF
Evaluating Wavelet Tranforms for Video Conferencing Applications
PPTX
dpdk acceleration techniques ncdşs şdcnş
DOC
my_resume(eng)
PDF
Polycom Automation Framework - Polycom
PDF
Docker meetup - PaaS interoperability
DOCX
Case Exercise Complete the following case exercise as directed by your.docx
FPL'2014 - FlexTiles Workshop - 3 - FlexTiles DSP Accelerators
Conference on Adaptive Hardware and Systems (AHS'14) - What is FlexTiles?
FPL'2014 - FlexTiles Workshop - 6 - FlexTiles Embedded FPGA Accelerators
FPL'2014 - FlexTiles Workshop - 8 - FlexTiles Demo
Conference on Adaptive Hardware and Systems (AHS'14) - Why FlexTiles uses OVP...
Applying Linux to the Civil Infrastructure
2018 Genivi Xen Overview Nov Update
Embedded Os [Linux & Co.]
DPDK & Cloud Native
Introducing the Civil Infrastructure Platform
SLTS kernel and base-layer development in the Civil Infrastructure Platform
Open Source IoT at Eclipse
ECI OpenFlow 2.0 the Future of SDN
PLM World Conference 2007
Evaluating Wavelet Tranforms for Video Conferencing Applications
dpdk acceleration techniques ncdşs şdcnş
my_resume(eng)
Polycom Automation Framework - Polycom
Docker meetup - PaaS interoperability
Case Exercise Complete the following case exercise as directed by your.docx
Ad

More from FlexTiles Team (13)

PPTX
FlexTiles Platform integrated in 19" Rack Enclosure
PPTX
Conference on Adaptive Hardware and Systems (AHS'14) - The FlexTiles Embedded...
PDF
Conference on Adaptive Hardware and Systems (AHS'14) - The 3D FlexTiles Concept
PPT
Conference on Adaptive Hardware and Systems (AHS'14) - FlexTiles FPGA Emulation
PPT
Conference on Adaptive Hardware and Systems (AHS'14) - FlexTiles Introductions
PPT
Reconfigurable 3D MultiCore Concept by Prof. Michael Hübner @ ARC 2013
PDF
FlexTiles Platform
PDF
FlexTiles Development Platform
PDF
FlexTiles Platform - Xilinx Virtex-6 DUO
PPTX
INA OCMC 2012
PPTX
DAC 2012
PPTX
ISVLSI 2012
PPTX
Fall School on Programming Paradigms for Multi-core Embedded Systems 2012
FlexTiles Platform integrated in 19" Rack Enclosure
Conference on Adaptive Hardware and Systems (AHS'14) - The FlexTiles Embedded...
Conference on Adaptive Hardware and Systems (AHS'14) - The 3D FlexTiles Concept
Conference on Adaptive Hardware and Systems (AHS'14) - FlexTiles FPGA Emulation
Conference on Adaptive Hardware and Systems (AHS'14) - FlexTiles Introductions
Reconfigurable 3D MultiCore Concept by Prof. Michael Hübner @ ARC 2013
FlexTiles Platform
FlexTiles Development Platform
FlexTiles Platform - Xilinx Virtex-6 DUO
INA OCMC 2012
DAC 2012
ISVLSI 2012
Fall School on Programming Paradigms for Multi-core Embedded Systems 2012

Recently uploaded (20)

PPTX
UNIT 4 Total Quality Management .pptx
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PPTX
Sustainable Sites - Green Building Construction
PPTX
Geodesy 1.pptx...............................................
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PPTX
CH1 Production IntroductoryConcepts.pptx
PDF
R24 SURVEYING LAB MANUAL for civil enggi
PDF
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
PDF
PPT on Performance Review to get promotions
PPTX
OOP with Java - Java Introduction (Basics)
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PPTX
Construction Project Organization Group 2.pptx
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PPTX
web development for engineering and engineering
UNIT 4 Total Quality Management .pptx
Operating System & Kernel Study Guide-1 - converted.pdf
Sustainable Sites - Green Building Construction
Geodesy 1.pptx...............................................
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
CH1 Production IntroductoryConcepts.pptx
R24 SURVEYING LAB MANUAL for civil enggi
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
PPT on Performance Review to get promotions
OOP with Java - Java Introduction (Basics)
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
Foundation to blockchain - A guide to Blockchain Tech
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
Construction Project Organization Group 2.pptx
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
web development for engineering and engineering

FPL'2014 - FlexTiles Workshop - 4 - FlexTiles Virtual Platform

  • 1. www.flextiles.eu FlexTiles Virtual Execution Platform Eindhoven University of Technology
  • 2. 2 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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. 3 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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. 4 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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. 5 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 CompSOC - FlexTiles In FlexTiles project: • CompSOC goes from static to dynamic
  • 6. 6 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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. 7 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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. 8 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 Interlude Introduction: •FlexTiles Hardware Platform and software stack •Model of Computation
  • 9. 9 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 Introduction to the FlexTiles Platform: Hardware/Software Proc clk host bridge software 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. 10 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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. 11 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 Introduction to the FlexTiles Platform: Software Programming Model: CSDF (Extended for Flextiles)
  • 12. 12 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 Introduction to the FlexTiles Platform: Software Programming Model: CSDF
  • 13. 13 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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. 14 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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. 15 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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. 16 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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. 17 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 Virtual Execution Platform Full Virtual Platform:
  • 18. 18 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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. 19 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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 System User Debug Budget Manager Driver
  • 20. 20 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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. 21 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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. 22 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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 Bundlesubbundle1subbundle2Platform DescriptionGPP 1GPP 2NoCDSP 1DSP 2eFPGAPlatform DescriptionGPPDMAMemoryeFPGADSPDSPGPP CodeMemory Image
  • 23. 23 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 run-time loading application bundle hw bitstream app. ELFs virtual platform specification system bundle sys. ELFs phys. platform specification
  • 24. 24 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 run-time loading 1a 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. 25 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 run-time loading 1b 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. 26 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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. 27 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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. 28 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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. 29 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 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. 30 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 Questions Questions? Tuesday Evening: Demo Night •Interactive demonstration of the CompSOC platform •Including development done in Flextiles •DEMO 7