Top Banner
Professur für Technische Informatik A Self Distributing Virtual Machine for FPGA Multicores Klaus Waldschmidt J. W. Goethe-University Technische Informatik Frankfurt/Main, Germany [email protected] Dagstuhl April 2008
17

Professur für Technische Informatik A Self Distributing Virtual Machine for FPGA Multicores Klaus Waldschmidt J. W. Goethe-University Technische Informatik.

Mar 26, 2015

Download

Documents

Caleb Jackson
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Professur für Technische Informatik A Self Distributing Virtual Machine for FPGA Multicores Klaus Waldschmidt J. W. Goethe-University Technische Informatik.

a

Professur für Technische Informatik

A Self Distributing Virtual Machine for FPGA Multicores

Klaus Waldschmidt

J. W. Goethe-UniversityTechnische Informatik

Frankfurt/Main, [email protected]

Dagstuhl April 2008

Page 2: Professur für Technische Informatik A Self Distributing Virtual Machine for FPGA Multicores Klaus Waldschmidt J. W. Goethe-University Technische Informatik.

a

Professur für Technische Informatik

Slide 2 Klaus Waldschmidt – Dagstuhl April ’08

• One or more processors support the intelligence which is necessary for the smart behaviour.

• Things that thinkThings that think, a definition originally presented by MIT.

• Embedded systems are more a or less networked systems. In consequence an Internet of thingsInternet of things exists additionally to the wellknow Internet of information

Page 3: Professur für Technische Informatik A Self Distributing Virtual Machine for FPGA Multicores Klaus Waldschmidt J. W. Goethe-University Technische Informatik.

a

Professur für Technische Informatik

Slide 3 Klaus Waldschmidt – Dagstuhl April ’08

Embedded systems and System-on-chips

• Modern System-on-chips become more and more complex

• Time to market becomes more and more a necessity

• Robustness and trust in electronic systems is a big challenge in future

• Power reduction for mobile applicationsbecome more and more important

A parallel, flexible,

scalable, and generic

architecture will be

required in future.

A parallel, flexible,

scalable, and generic

architecture will be

required in future.

System-specification

Hardwaresynthesis

Communicationsynthesis

Software-compilation

Hardware/Software-partitioning

Environment

Reconfigurablesystem

Input Output

Observer Controller

Page 4: Professur für Technische Informatik A Self Distributing Virtual Machine for FPGA Multicores Klaus Waldschmidt J. W. Goethe-University Technische Informatik.

a

Professur für Technische Informatik

Slide 4 Klaus Waldschmidt – Dagstuhl April ’08

FPGA

Observer Controller

FPGA software model

Environment

In OutEnvironment

Reconfigurablesystem

Input Output

Observer Controller

Page 5: Professur für Technische Informatik A Self Distributing Virtual Machine for FPGA Multicores Klaus Waldschmidt J. W. Goethe-University Technische Informatik.

a

Professur für Technische Informatik

Slide 5 Klaus Waldschmidt – Dagstuhl April ’08

Multi-core FPGA (MP-SoC)Multi-core FPGAs create a new kind of system realization…

…but there are still a lot of problems to solve:

PowerManage-

ment

Reliability

Perform-ance

Flexibility

Reliability,Flexibility

and Power-Management

• Performance:Algorithms and programming (software) model

• Reliability:Increase of lifespan and robustness

• Flexibility for adaptivity and self-organization

• Power management:Energy reduction for mobility

Page 6: Professur für Technische Informatik A Self Distributing Virtual Machine for FPGA Multicores Klaus Waldschmidt J. W. Goethe-University Technische Informatik.

a

Professur für Technische Informatik

Slide 6 Klaus Waldschmidt – Dagstuhl April ’08

Autonomous and organic behaviour of multi-core computing systems

parallelcomputing

reconfigurable(dynamic)computing

adaptivecomputing

self-organization

Page 7: Professur für Technische Informatik A Self Distributing Virtual Machine for FPGA Multicores Klaus Waldschmidt J. W. Goethe-University Technische Informatik.

a

Professur für Technische Informatik

Slide 7 Klaus Waldschmidt – Dagstuhl April ’08

Multi-core Systems based on FPGA

fx

f1

f2

fy

Processing element (PE)

Custom HWfunction

FPGA • unite several PEs to form a parallel system

• increase number of PEs if needed

• use available space on the FPGA

• implement special functionality on the FPGA

• reconfigure at runtime

M

P R

M

P R

M

P R

M

P R

M

P R

M

P R

M

P R

M

P R

M

P R

M

P R

M

P R

M

P R

M

P R

M

P R

M

P R

M

P R

What we need is a software model for FPGAs

to make these features manageable.

FPGA

M

P R

M

P R

fy

M

P R

f3

M

P R

M

P R

Page 8: Professur für Technische Informatik A Self Distributing Virtual Machine for FPGA Multicores Klaus Waldschmidt J. W. Goethe-University Technische Informatik.

a

Professur für Technische Informatik

Slide 8 Klaus Waldschmidt – Dagstuhl April ’08

FP

GA

layer

The Self Distributing Virtual Machine (SDVM)

application

Core type A Core type B

The SDVM as a middleware between application and hardware

? applicationSDVMlayer

SDVM layer

Application runs transparently distributed on several sites

application

site

Application to be run on heterogeneous, distributed hardware

Network on chip (NoC) (bus, mesh, crossbar, Clos Net, …)

The SDVM is a virtualization of a parallel, adaptive, and heterogeneous cluster.

??

Sites can join and leave the cluster without disturbing the execution

SDVM

Sites can join …

M

P R

M

P R

HW type X

fy

Page 9: Professur für Technische Informatik A Self Distributing Virtual Machine for FPGA Multicores Klaus Waldschmidt J. W. Goethe-University Technische Informatik.

a

Professur für Technische Informatik

Slide 9 Klaus Waldschmidt – Dagstuhl April ’08

FP

GA

SDVM uses the dataflow principle to automatically distribute applications and datacode is needed at execution time only and thus the params are moved separatelySDVM features (virtual) global shared memory using COMA principleSDVM features distributed dynamic scheduling (work stealing principle)sites may vanish (data is pushed out before) or join (new sites automatically ask for work) at runtime

NoC (bus, mesh, crossbar, Clos Net, …)

Working principle of the SDVM

code fragments can be dynamically subsituted by configware

memory

processor reconfhardware

site

memory

processor reconfhardware

site

memory

processor reconfhardware

site

code

paramsparamsparamsparams

execute …

execute …

params

code

params

code

paramsparams execute …

execute …configware

shutdown!

code

Page 10: Professur für Technische Informatik A Self Distributing Virtual Machine for FPGA Multicores Klaus Waldschmidt J. W. Goethe-University Technische Informatik.

a

Professur für Technische Informatik

Slide 10 Klaus Waldschmidt – Dagstuhl April ’08

System-Virtualization using the SDVM

1. FPGAs allow for parallel systems:

• multiple hardcores

• multiple softcores

• multiple custom function units

2. FPGAs allow for heterogeneous systems:

• PowerPC hardcore

• MicroBlaze softcore

• custom function units

3. Runtime-reconfigurable FPGAs make

dynamic systems possible.

M

P R

M

P R

M

P R

M

P R

M

P R

M

P R

M

P R

M

P R

M

P R

M

P R

M

P R

M

P R

f1

f2

The adapted SDVMR will act as a virtual layerfor dynamic reconfigurable Multi-Core FPGAs.

FPGA

Application

NoC

Core type AM

P R

Core type BM

P R

SDVMSDVMR

Page 11: Professur für Technische Informatik A Self Distributing Virtual Machine for FPGA Multicores Klaus Waldschmidt J. W. Goethe-University Technische Informatik.

a

Professur für Technische Informatik

Slide 11 Klaus Waldschmidt – Dagstuhl April ’08

SDVMR Objectives

1. Combine all PEs on the FPGA to create a parallel system.

2. Provide task mobility between all PEs even if they are heterogeneous.

3. Virtualize the I/O-system to enable the execution of a task on an arbitrary PE.

4. Combine the distributed memory of each PE to form a virtually shared memory.

5. Manage the reconfiguration of the FPGA.

6. Adjust the number of active PEs at runtime.

7. Hide the actual number of PEs from the application to ease programming.

8. Provide dynamic scheduling as well as code and data distribution.

These features will be providedby the SDVMR software layer.

Page 12: Professur für Technische Informatik A Self Distributing Virtual Machine for FPGA Multicores Klaus Waldschmidt J. W. Goethe-University Technische Informatik.

a

Professur für Technische Informatik

Slide 12 Klaus Waldschmidt – Dagstuhl April ’08

FPGA

Implementation architecture

SDVMR

site

NoC

SDVMR

site

• The SDVMR is implemented as software running on each core.• Each core forms an independent site of the SDVMR cluster.• Custom function units will get attached to a core.• Custom function units as independent sites are planned.

(bus, mesh, crossbar, Clos Net, …)

M

P R

PowerPCHardcore

M

P R

MicroBlazeSoftcore

SDVMR

site

M

P R

MicroBlazeSoftcore

fy

customfunction

unit

SDVMR

site

fy

customfunction

unit

Page 13: Professur für Technische Informatik A Self Distributing Virtual Machine for FPGA Multicores Klaus Waldschmidt J. W. Goethe-University Technische Informatik.

a

Professur für Technische Informatik

Slide 13 Klaus Waldschmidt – Dagstuhl April ’08

Partial reconfiguration

FPGA

SDVMR

site

NoC (bus, mesh, crossbar, Clos Net, …)

SDVMR

siteSDVMR

siteSDVMR

site

Custom function units can be reconfigured without changing the number of sitesReconfiguring a site:• The site to reconfigure drops out of the cluster• Some other site controls the partial reconfiguration of the FPGA• The SDVMR layer is started on the new softcore• The new site joins the cluster

M

P R

PowerPCHardcore

fy

customfunction

unitM

P R

MicroBlazeSoftcore

M

P R

MicroBlazeSoftcore

fz

customfunction

unitM

P R

Softcoretype A

M

P R

Softcoretype B

Page 14: Professur für Technische Informatik A Self Distributing Virtual Machine for FPGA Multicores Klaus Waldschmidt J. W. Goethe-University Technische Informatik.

a

Professur für Technische Informatik

Slide 14 Klaus Waldschmidt – Dagstuhl April ’08

SDVM

Test bench

Site 1

Site 3

Site 2

Site 4

Ethernet

• Each site simulates one core of the multi-core chip

• Cluster consisting of four equal Intel PCs

core 1 core 2

core 4core 3

Page 15: Professur für Technische Informatik A Self Distributing Virtual Machine for FPGA Multicores Klaus Waldschmidt J. W. Goethe-University Technische Informatik.

a

Professur für Technische Informatik

Slide 15 Klaus Waldschmidt – Dagstuhl April ’08

Another application: Energy Management – cont‘d

1. The parallelism of most applications

changes dynamically.

2. The SDVM features:

• Autonomous scaling

• Dynamic workload

distribution

• Distributed dynamic

scheduling

The dynamic scheduling and workload distribution offers newdegrees of freedom when choosing an energy management policy.

HFM OFF

OFFOFF

possible EM-state transitions due to workload variation

?HFM LFM

OFFLFM

LFM LFM

LFMLFM

HFM HFM

SLEEPOFF

Page 16: Professur für Technische Informatik A Self Distributing Virtual Machine for FPGA Multicores Klaus Waldschmidt J. W. Goethe-University Technische Informatik.

a

Professur für Technische Informatik

Slide 16 Klaus Waldschmidt – Dagstuhl April ’08

Conclusion

The SDVMR…

• is a virtualization layer for dynamic reconfigurable FPGAs

• separates the application from the number and type of cores

• exploits the parallelism and dynamic features of todays FPGAs

For further information visit the SDVM´s homepage athttp://sdvm.ti.cs.uni-frankfurt.de

Page 17: Professur für Technische Informatik A Self Distributing Virtual Machine for FPGA Multicores Klaus Waldschmidt J. W. Goethe-University Technische Informatik.

a

Professur für Technische Informatik

Slide 17 Klaus Waldschmidt – Dagstuhl April ’08

Thank you

for your attention!