Temporal Isolation of Hard Real-Time Applications on...

103
Temporal Isolation of Hard Real-Time Applications on Many-core Processors Quentin Perret, Pascal Maurère, Eric Noulard, Claire Pagetti, Pascal Sainrat, Benoit Triquet RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors RTAS April 12th, 2016 - Vienna

Transcript of Temporal Isolation of Hard Real-Time Applications on...

Temporal Isolation of Hard Real-Time Applications on Many-core Processors Quentin Perret, Pascal Maurère, Eric Noulard, Claire Pagetti, Pascal Sainrat, Benoit Triquet

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

RTAS April 12th, 2016 - Vienna

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Outline

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

How to build manycore-based avionics ?

1 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Outline

• Certification constraints • Predictability, WCET estimation • Mixed-criticality, non propagation of faults

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

How to build manycore-based avionics ?

1 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Outline

• Certification constraints • Predictability, WCET estimation • Mixed-criticality, non propagation of faults

• Industrial constraints • Decoupled development, test and integration of systems • Incremental certification

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

How to build manycore-based avionics ?

1 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Outline

• Certification constraints • Predictability, WCET estimation • Mixed-criticality, non propagation of faults

• Industrial constraints • Decoupled development, test and integration of systems • Incremental certification

[1] Quentin Perret, Pascal Maurère, Eric Noulard, Claire Pagetti, Pascal Sainrat and Benoit Triquet « Predictable composition of memory accesses on many-core processors » in ERTS’16

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

How to build manycore-based avionics ?

1 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Why the Kalray MPPA ?

• Massively parallel computation power • 288 cores

• Low power

• Good temporal properties

• K1 cores are fully timing compositional

• Demonstrated by AbsInt in the context of the CERTAINTY project

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

2 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Why the Kalray MPPA ?

• Massively parallel computation power • 288 cores

• Low power

• Good temporal properties

• K1 cores are fully timing compositional

• Demonstrated by AbsInt in the context of the CERTAINTY project

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

Interesting candidate for future avionics computers

2 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Kalray MPPA: overview

• Version : Andey

• 256 (+32) cores

• 16 Compute clusters

• 4 I/O clusters

• 2 Networks on Chip

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

Fig: Overview of the Kalray MPPA

3 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Accesses to the external memory

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

Bank 4

Bank 3

Bank 2

Bank 1

Core 3

Core 2

Core 1

DMA A

A

A

A

Local SRAM

R

Bank 4

Bank 3

Bank 2

Bank 1

Core 3

Core 2

Core 1

DMA A

A

A

A

Local SRAM

R

Compute cluster B

Compute cluster A

Core 2

Core 1

DMA 1

DMA 2

R

R

NoC

DDR Controller

A

I/O cluster

Bank

1

Bank

2

Bank

3

Bank

4

Bank

5

Bank

6

Bank

7

Bank

8

DDRx-SDRAM

4 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Accesses to the external memory

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

Bank 4

Bank 3

Bank 2

Bank 1

Core 3

Core 2

Core 1

DMA A

A

A

A

Local SRAM

R

Bank 4

Bank 3

Bank 2

Bank 1

Core 3

Core 2

Core 1

DMA A

A

A

A

Local SRAM

R

Compute cluster B

Compute cluster A

Core 2

Core 1

DMA 1

DMA 2

R

R

NoC

DDR Controller

A

I/O cluster

Bank

1

Bank

2

Bank

3

Bank

4

Bank

5

Bank

6

Bank

7

Bank

8

DDRx-SDRAM

Data 1

Destination 4 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Accesses to the external memory

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

Bank 4

Bank 3

Bank 2

Bank 1

Core 3

Core 2

Core 1

DMA A

A

A

A

Local SRAM

R

Bank 4

Bank 3

Bank 2

Bank 1

Core 3

Core 2

Core 1

DMA A

A

A

A

Local SRAM

R

Compute cluster B

Compute cluster A

Core 2

Core 1

DMA 1

DMA 2

R

R

NoC

DDR Controller

A

I/O cluster

Bank

1

Bank

2

Bank

3

Bank

4

Bank

5

Bank

6

Bank

7

Bank

8

DDRx-SDRAM

Data 1

?

?

?

Destination 4 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Accesses to the external memory

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

Bank 4

Bank 3

Bank 2

Bank 1

Core 3

Core 2

Core 1

DMA A

A

A

A

Local SRAM

R

Bank 4

Bank 3

Bank 2

Bank 1

Core 3

Core 2

Core 1

DMA A

A

A

A

Local SRAM

R

Compute cluster B

Compute cluster A

Core 2

Core 1

DMA 1

DMA 2

R

R

NoC

DDR Controller

A

I/O cluster

Bank

1

Bank

2

Bank

3

Bank

4

Bank

5

Bank

6

Bank

7

Bank

8

DDRx-SDRAM Data 1

Destination

?

?

?

4 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Accesses to the external memory

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

Bank 4

Bank 3

Bank 2

Bank 1

Core 3

Core 2

Core 1

DMA A

A

A

A

Local SRAM

R

Bank 4

Bank 3

Bank 2

Bank 1

Core 3

Core 2

Core 1

DMA A

A

A

A

Local SRAM

R

Compute cluster B

Compute cluster A

Core 2

Core 1

DMA 1

DMA 2

R

R

NoC

DDR Controller

A

I/O cluster

Bank

1

Bank

2

Bank

3

Bank

4

Bank

5

Bank

6

Bank

7

Bank

8

DDRx-SDRAM Data 1

Destination

?

?

?

4 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Accesses to the external memory

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

Bank 4

Bank 3

Bank 2

Bank 1

Core 3

Core 2

Core 1

DMA A

A

A

A

Local SRAM

R

Bank 4

Bank 3

Bank 2

Bank 1

Core 3

Core 2

Core 1

DMA A

A

A

A

Local SRAM

R

Compute cluster B

Compute cluster A

Core 2

Core 1

DMA 1

DMA 2

R

R

NoC

DDR Controller

A

I/O cluster

Bank

1

Bank

2

Bank

3

Bank

4

Bank

5

Bank

6

Bank

7

Bank

8

DDRx-SDRAM

?

?

?

Destination

Data 1

4 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Accesses to the external memory

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

Bank 4

Bank 3

Bank 2

Bank 1

Core 3

Core 2

Core 1

DMA A

A

A

A

Local SRAM

R

Bank 4

Bank 3

Bank 2

Bank 1

Core 3

Core 2

Core 1

DMA A

A

A

A

Local SRAM

R

Compute cluster B

Compute cluster A

Core 2

Core 1

DMA 1

DMA 2

R

R

NoC

DDR Controller

A

I/O cluster

Bank

1

Bank

2

Bank

3

Bank

4

Bank

5

Bank

6

Bank

7

Bank

8

DDRx-SDRAM

Dat

a 1

Destination 4 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Workflow

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

Partitions Partitions Partitions Partitions

5 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Workflow

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

Partitions Partitions Partitions Partitions

Partitions Partitions Partitions Resource budget

Partitions Partitions Partitions Budget

5 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Workflow

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

Partitions Partitions Partitions Partitions

Partitions Partitions Partitions Resource budget

Partitions Partitions Partitions Budget

Architecture

Describe

5 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Workflow

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

Partitions Partitions Partitions Partitions

Partitions Partitions Partitions Resource budget

Partitions Partitions Partitions Budget

Architecture

Describe

Exec. model

5 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Workflow

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

Partitions Partitions Partitions Partitions

Partitions Partitions Partitions Resource budget

Partitions Partitions Partitions Budget

Architecture

Describe

Allocate Exec. model

5 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Workflow

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

Partitions Partitions Partitions Partitions

Partitions Partitions Partitions Resource budget

Partitions Partitions Partitions HW config.

Partitions Partitions Partitions Budget

Architecture

Describe

Allocate Exec. model

5 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Workflow

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

Partitions Partitions Partitions Partitions

Partitions Partitions Partitions Resource budget

Partitions Partitions Partitions HW config.

Partitions Partitions Partitions Budget

Architecture

Describe

Allocate Exec. model

Hypervisor

5 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Workflow

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

Partitions Partitions Partitions Partitions

Partitions Partitions Partitions Resource budget

Partitions Partitions Partitions HW config.

Partitions Partitions Partitions Budget

Architecture

Describe

Allocate Exec. model

Compile Hypervisor

5 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Workflow

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

Executable

Partitions Partitions Partitions Partitions

Partitions Partitions Partitions Resource budget

Partitions Partitions Partitions HW config.

Partitions Partitions Partitions Budget

Architecture

Describe

Allocate Exec. model

Compile Hypervisor

5 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Workflow

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

Executable

Partitions Partitions Partitions Partitions

Partitions Partitions Partitions Resource budget

Partitions Partitions Partitions HW config.

Partitions Partitions Partitions Budget

Architecture

Describe

Allocate Exec. model

Compile Hypervisor

Mastering execution

Budgeting

5 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Workflow

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

Executable

Partitions Partitions Partitions Partitions

Partitions Partitions Partitions Resource budget

Partitions Partitions Partitions HW config.

Partitions Partitions Partitions Budget

Architecture

Describe

Allocate Exec. model

Compile Hypervisor

Mastering execution

Budgeting

5 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Agenda

I. Execution model

II. Implementation

III. Experiments

IV. Conclusion

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

6 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Agenda

I. Execution model

II. Implementation

III. Experiments

IV. Conclusion

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

6 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Execution model

RULE 1.

In a compute cluster, each local SRAM bank and each

core can be used by at most one partition.

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

7 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rule 1

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

Bank 4

Bank 3

Bank 2

Bank 1

Core 4

Core 3

Core 2

A

A

A

A

Core 1

8 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rule 1

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

Bank 4

Bank 3

Bank 2

Bank 1

Core 4

Core 3

Core 2

A

A

A

A

Core 1

Par

titio

n 1

Par

titio

n 2

8 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rule 1

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

Bank 4

Bank 3

Bank 2

Bank 1

Core 4

Core 3

Core 2

A

A

A

A

Core 1

Par

titio

n 1

Par

titio

n 2

8 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rule 1

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

Bank 4

Bank 3

Bank 2

Bank 1

Core 4

Core 3

Core 2

A

A

A

A

Core 1

Par

titio

n 1

Par

titio

n 2

8 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rule 1

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

Bank 4

Bank 3

Bank 2

Bank 1

Core 4

Core 3

Core 2

A

A

A

A

Core 1

Par

titio

n 1

Par

titio

n 2

DMA

8 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rule 1

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

Bank 4

Bank 3

Bank 2

Bank 1

Core 4

Core 3

Core 2

A

A

A

A

Core 1

Par

titio

n 1

Par

titio

n 2

DMA

RM

8 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Execution model

RULE 2.

NoC transactions are performed during strictly periodic

slots defined off-line. Two slots sharing a NoC resource

must not overlap.

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

9 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rule 2

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

R R R R

R R R R

R R R R

R R R R

10 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rule 2

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

R R R R

R R R R

R R R R

R R R R

A

B

10 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rule 2

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

R R R R

R R R R

R R R R

R R R R

A

B

10 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rule 2

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

R R R R

R R R R

R R R R

R R R R

A

B

D

C

10 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rule 2

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

R R R R

R R R R

R R R R

R R R R

A

B

D

C

10 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rule 2

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

R R R R

R R R R

R R R R

R R R R

A

B

D

C

Lx

10 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rule 2

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

R R R R

R R R R

R R R R

R R R R

A

B

D

C

A to

B

t

Lx

Using temporal offset :

10 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rule 2

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

R R R R

R R R R

R R R R

R R R R

A

B

D

C

A to

B

C to

D

t

t

Lx

Using temporal offset :

10 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rule 2

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

R R R R

R R R R

R R R R

R R R R

A

B

D

C

A to

B

C to

D

t

t

Lx

Offset

Using temporal offset :

10 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rule 2

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

R R R R

R R R R

R R R R

R R R R

A

B

D

C

A to

B

C to

D

t

t

t

Lx

Lx

Offset

Using temporal offset :

10 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rule 2

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

R R R R

R R R R

R R R R

R R R R

A

B

D

C

Lx

Different routes.

10 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rule 2

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

R R R R

R R R R

R R R R

R R R R

A

B

D

C

Different routes.

10 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Execution model

RULE 3.

All the buffers sent during the strictly periodic

NoC slots must be defined off-line.

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

11 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rule 3

Not required to achieve composability but:

• It simplifies the implementation of the execution model

• It reduces the combinatorial explosion of WCET estimation

through static analysis

• It eases the memory coverage of measurement based

validations

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

12 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Execution model

RULE 4.

A bank of the DDR-SDRAM can be used by several

partitions if and only if they never access it simultaneously.

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

13 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rule 4

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

R R R R

R R R R

DDR Controller

Ban

k 1

Ban

k 2

Ban

k 3

Ban

k 4

Ban

k 5

Ban

k 6

Ban

k 7

Ban

k 8

14 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rule 4

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

R R R R

R R R R

DDR Controller

Ban

k 1

Ban

k 2

Ban

k 3

Ban

k 4

Ban

k 5

Ban

k 6

Ban

k 7

Ban

k 8

A B C

14 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rule 4

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

R R R R

R R R R

DDR Controller

Ban

k 1

Ban

k 2

Ban

k 3

Ban

k 4

Ban

k 5

Ban

k 6

Ban

k 7

Ban

k 8

A B C

14 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rule 4

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

R R R R

R R R R

DDR Controller

Ban

k 1

Ban

k 2

Ban

k 3

Ban

k 4

Ban

k 5

Ban

k 6

Ban

k 7

Ban

k 8

A B C

A B C

14 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rule 4

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

R R R R

R R R R

DDR Controller

Ban

k 1

Ban

k 2

Ban

k 3

Ban

k 4

Ban

k 5

Ban

k 6

Ban

k 7

Ban

k 8

A B C

A B C A

14 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rule 4

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

R R R R

R R R R

DDR Controller

Ban

k 1

Ban

k 2

Ban

k 3

Ban

k 4

Ban

k 5

Ban

k 6

Ban

k 7

Ban

k 8

A B C

A B C A

B

14 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rule 4

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

R R R R

R R R R

DDR Controller

Ban

k 1

Ban

k 2

Ban

k 3

Ban

k 4

Ban

k 5

Ban

k 6

Ban

k 7

Ban

k 8

A B C

A B C A

B

C

14 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rule 4

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

R R R R

R R R R

DDR Controller

Ban

k 1

Ban

k 2

Ban

k 3

Ban

k 4

Ban

k 5

Ban

k 6

Ban

k 7

Ban

k 8

A B C

A B C A

B

C

A+B

+C

14 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Execution model

The big picture:

1. Spatial partitioning inside compute clusters

2. TDM scheduling of the NoC

3. Buffers sent defined off-line

4. No conflict at DDR-SDRAM bank level

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

15 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Resource budget

Relies on 3 notions:

1. A Partition Node (or PN): processing ressources • Number of cores • Number of local SRAM banks

2. An I/O Node (or ION): transactions with I/O peripherals • A (part of a) core on an IO cluster

3. A Partition Communication (or PC): communications between PN / ION • Source and destination PN / ION • Period & duration of strictly periodic slot

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

16 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Agenda

I. Execution model

II. Implementation

III. Experiments

IV. Conclusion

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

17 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Hypervisor (or HV)

• Executed by RM on each cluster

• Private local SRAM bank (HV code + scheduling tables)

• Applies the hardware configurations

• Manages the DMA

• Enforces respect of the TDM NoC schedule

• Global notion of time is easy to obtain on the MPPA

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

18 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Systick

• HVs of all cluster periodically activated simultaneously

• Period of hypervisor denoted as Systick

• Lower bound on Systick is the WCET of HV

• Start & end of both Tx and Rx slots simultaneously

• With measures : WCET(HV) < 5µs

• Should be easy & efficient with static analysis

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

19 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rule 1 : spatial partioning in compute clusters

• Local SRAM addressing is configured to non-interleaved mode

• PEs set-up a static MMU config. during boot while in privileged mode

• Once booted, PEs run user application in user mode only

• Handlers are fixed by HV

• Syscalls are ignored

• Cores shutdown on traps

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

20 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rules 2 & 3 : TDM scheduling of the NoC & static buffers

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

𝑃𝑃1

𝑃𝑃2

𝐵𝐴

𝐵𝐵

𝐵𝐶

𝐵𝐷

𝐵𝐴 𝐵𝐴 𝐵𝐷 𝐵𝐷 𝐵𝐵 𝐵𝐵 𝐵𝐶

𝑃𝑃1 𝑃𝑃1 𝑃𝑃1 𝑃𝑃1 𝑃𝑃1 𝑃𝑃2 𝑃𝑃2

𝑇𝐻 𝑇𝐻

𝑻𝒊 𝑪𝒊 𝑶𝒊 𝑷𝑪𝟏 6 2 0

𝑷𝑪𝟐 12 3 3

State

DMA

Buffers lists: • 𝑃𝑃1 ∶ { 𝐵𝐴,𝐵𝐵 ,𝐵𝐶 } • 𝑃𝑃2 ∶ { 𝐵𝐷 }

PC parameters: Scheduling table:

State 𝑷𝑪𝟏 Idle 𝑷𝑪𝟐 𝑷𝑪𝟏 Idle

Duration 2 1 3 2 4

21 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rules 2 & 3 : TDM scheduling of the NoC & static buffers

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

𝑃𝑃1

𝑃𝑃2

𝐵𝐴

𝐵𝐵

𝐵𝐶

𝐵𝐷

𝐵𝐴 𝐵𝐴 𝐵𝐷 𝐵𝐷 𝐵𝐵 𝐵𝐵 𝐵𝐶

𝑃𝑃1 𝑃𝑃1 𝑃𝑃1 𝑃𝑃1 𝑃𝑃1 𝑃𝑃2 𝑃𝑃2

𝑇𝐻 𝑇𝐻

𝑻𝒊 𝑪𝒊 𝑶𝒊 𝑷𝑪𝟏 6 2 0

𝑷𝑪𝟐 12 3 3

State

DMA

Buffers lists: • 𝑃𝑃1 ∶ { 𝐵𝐴,𝐵𝐵 ,𝐵𝐶 } • 𝑃𝑃2 ∶ { 𝐵𝐷 }

PC parameters: Scheduling table:

State 𝑷𝑪𝟏 Idle 𝑷𝑪𝟐 𝑷𝑪𝟏 Idle

Duration 2 1 3 2 4

21 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rules 2 & 3 : TDM scheduling of the NoC & static buffers

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

𝑃𝑃1

𝑃𝑃2

𝐵𝐴

𝐵𝐵

𝐵𝐶

𝐵𝐷

𝐵𝐴 𝐵𝐴 𝐵𝐷 𝐵𝐷 𝐵𝐵 𝐵𝐵 𝐵𝐶

𝑃𝑃1 𝑃𝑃1 𝑃𝑃1 𝑃𝑃1 𝑃𝑃1 𝑃𝑃2 𝑃𝑃2

𝑇𝐻 𝑇𝐻

𝑻𝒊 𝑪𝒊 𝑶𝒊 𝑷𝑪𝟏 6 2 0

𝑷𝑪𝟐 12 3 3

State

DMA

Buffers lists: • 𝑃𝑃1 ∶ { 𝐵𝐴,𝐵𝐵 ,𝐵𝐶 } • 𝑃𝑃2 ∶ { 𝐵𝐷 }

PC parameters: Scheduling table:

State 𝑷𝑪𝟏 Idle 𝑷𝑪𝟐 𝑷𝑪𝟏 Idle

Duration 2 1 3 2 4

21 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rules 2 & 3 : TDM scheduling of the NoC & static buffers

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

𝑃𝑃1

𝑃𝑃2

𝐵𝐴

𝐵𝐵

𝐵𝐶

𝐵𝐷

𝐵𝐴 𝐵𝐴 𝐵𝐷 𝐵𝐷 𝐵𝐵 𝐵𝐵 𝐵𝐶

𝑃𝑃1 𝑃𝑃1 𝑃𝑃1 𝑃𝑃1 𝑃𝑃1 𝑃𝑃2 𝑃𝑃2

𝑇𝐻

𝑻𝒊 𝑪𝒊 𝑶𝒊 𝑷𝑪𝟏 6 2 0

𝑷𝑪𝟐 12 3 3

State

DMA

Buffers lists: • 𝑃𝑃1 ∶ { 𝐵𝐴,𝐵𝐵 ,𝐵𝐶 } • 𝑃𝑃2 ∶ { 𝐵𝐷 }

PC parameters: Scheduling table:

State 𝑷𝑪𝟏 Idle 𝑷𝑪𝟐 𝑷𝑪𝟏 Idle

Duration 2 1 3 2 4

𝑻𝑯 = lcm 𝑻𝟏,𝑻𝟐

𝑇𝐻

21 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rules 2 & 3 : TDM scheduling of the NoC & static buffers

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

𝑃𝑃1

𝑃𝑃2

𝐵𝐴

𝐵𝐵

𝐵𝐶

𝐵𝐷

𝐵𝐴 𝐵𝐴 𝐵𝐷 𝐵𝐷 𝐵𝐵 𝐵𝐵 𝐵𝐶

𝑃𝑃1 𝑃𝑃1 𝑃𝑃1 𝑃𝑃1 𝑃𝑃1 𝑃𝑃2 𝑃𝑃2

𝑇𝐻 𝑇𝐻

𝑻𝒊 𝑪𝒊 𝑶𝒊 𝑷𝑪𝟏 6 2 0

𝑷𝑪𝟐 12 3 3

State

DMA

Buffers lists: • 𝑃𝑃1 ∶ { 𝐵𝐴,𝐵𝐵 ,𝐵𝐶 } • 𝑃𝑃2 ∶ { 𝐵𝐷 }

PC parameters: Scheduling table:

State 𝑷𝑪𝟏 Idle 𝑷𝑪𝟐 𝑷𝑪𝟏 Idle

Duration 2 1 3 2 4

21 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rules 2 & 3 : TDM scheduling of the NoC & static buffers

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

𝑃𝑃1

𝑃𝑃2

𝐵𝐴

𝐵𝐵

𝐵𝐶

𝐵𝐷

𝐵𝐴 𝐵𝐴 𝐵𝐷 𝐵𝐷 𝐵𝐵 𝐵𝐵 𝐵𝐶

𝑃𝑃1 𝑃𝑃1 𝑃𝑃1 𝑃𝑃1 𝑃𝑃1 𝑃𝑃2 𝑃𝑃2

𝑇𝐻 𝑇𝐻

𝑻𝒊 𝑪𝒊 𝑶𝒊 𝑷𝑪𝟏 6 2 0

𝑷𝑪𝟐 12 3 3

State

DMA

Buffers lists: • 𝑃𝑃1 ∶ { 𝐵𝐴,𝐵𝐵 ,𝐵𝐶 } • 𝑃𝑃2 ∶ { 𝐵𝐷 }

PC parameters: Scheduling table:

State 𝑷𝑪𝟏 Idle 𝑷𝑪𝟐 𝑷𝑪𝟏 Idle

Duration 2 1 3 2 4

21 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rules 2 & 3 : TDM scheduling of the NoC & static buffers

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

𝑃𝑃1

𝑃𝑃2

𝐵𝐴

𝐵𝐵

𝐵𝐶

𝐵𝐷

𝐵𝐴 𝐵𝐴 𝐵𝐷 𝐵𝐷 𝐵𝐵 𝐵𝐵 𝐵𝐶

𝑃𝑃1 𝑃𝑃1 𝑃𝑃1 𝑃𝑃1 𝑃𝑃1 𝑃𝑃2 𝑃𝑃2

𝑇𝐻 𝑇𝐻

𝑻𝒊 𝑪𝒊 𝑶𝒊 𝑷𝑪𝟏 6 2 0

𝑷𝑪𝟐 12 3 3

State

DMA

Buffers lists: • 𝑃𝑃1 ∶ { 𝐵𝐴,𝐵𝐵 ,𝐵𝐶 } • 𝑃𝑃2 ∶ { 𝐵𝐷 }

PC parameters: Scheduling table:

State 𝑷𝑪𝟏 Idle 𝑷𝑪𝟐 𝑷𝑪𝟏 Idle

Duration 2 1 3 2 4

21 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rules 2 & 3 : TDM scheduling of the NoC & static buffers

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

𝑃𝑃1

𝑃𝑃2

𝐵𝐴

𝐵𝐵

𝐵𝐶

𝐵𝐷

𝐵𝐴 𝐵𝐴 𝐵𝐷 𝐵𝐷 𝐵𝐵 𝐵𝐵 𝐵𝐶

𝑃𝑃1 𝑃𝑃1 𝑃𝑃1 𝑃𝑃1 𝑃𝑃1 𝑃𝑃2 𝑃𝑃2

𝑇𝐻 𝑇𝐻

𝑻𝒊 𝑪𝒊 𝑶𝒊 𝑷𝑪𝟏 6 2 0

𝑷𝑪𝟐 12 3 3

State

DMA

Buffers lists: • 𝑃𝑃1 ∶ { 𝐵𝐴,𝐵𝐵 ,𝐵𝐶 } • 𝑃𝑃2 ∶ { 𝐵𝐷 }

PC parameters: Scheduling table:

State 𝑷𝑪𝟏 Idle 𝑷𝑪𝟐 𝑷𝑪𝟏 Idle

Duration 2 1 3 2 4

21 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rules 2 & 3 : TDM scheduling of the NoC & static buffers

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

𝑃𝑃1

𝑃𝑃2

𝐵𝐴

𝐵𝐵

𝐵𝐶

𝐵𝐷

𝐵𝐴 𝐵𝐴 𝐵𝐷 𝐵𝐷 𝐵𝐵 𝐵𝐵 𝐵𝐶

𝑃𝑃1 𝑃𝑃1 𝑃𝑃1 𝑃𝑃1 𝑃𝑃1 𝑃𝑃2 𝑃𝑃2

𝑇𝐻 𝑇𝐻

𝑻𝒊 𝑪𝒊 𝑶𝒊 𝑷𝑪𝟏 6 2 0

𝑷𝑪𝟐 12 3 3

State

DMA

Buffers lists: • 𝑃𝑃1 ∶ { 𝐵𝐴,𝐵𝐵 ,𝐵𝐶 } • 𝑃𝑃2 ∶ { 𝐵𝐷 }

PC parameters: Scheduling table:

State 𝑷𝑪𝟏 Idle 𝑷𝑪𝟐 𝑷𝑪𝟏 Idle

Duration 2 1 3 2 4

21 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Rule 4: no interferences at DDR-SDRAM level

• Avoid interferences by design

• Additional constraint when computing the NoC schedule

• 2 PCs targeting the same bank (on the same DDR controller)

cannot overlap in time.

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

22 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Agenda

I. Execution model

II. Implementation

III. Experiments

IV. Conclusion

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

23 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

The ROSACE case study [2]

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

engine

elevator aircraft_dynamics

Vz_filter

az_filter

h_filter

q_filter

Va_filter

altitude_hold Vz_control

Va_control

Environment simulation

Controller

200Hz

200Hz

200Hz

100Hz

100Hz

100Hz

100Hz

100Hz

h_c

Va_c

10Hz

10Hz

50Hz 50Hz

50Hz

[2] Claire Pagetti, David Saussié, Romain Gratia, Eric Noulard and Pierre Siron « The ROSACE case study: From Simulink specification to multi/many-core execution » in RTAS’14

24 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Budget of ROSACE’s partition

• 2 PNs • PN 1 • whole ROSACE application • 5 cores / 3 local SRAM banks

• PN 2 • Set Point Generator (or SPG) • 1 core / 1 local SRAM bank

• 1 ION

• 3 PCs

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

IO1

C0 C2

SPG ROSACE

DDR-SDRAM

𝑷𝑪𝟏 / 10Hz

𝑷𝑪𝟐 / 200Hz

𝑷𝑪 𝟑

/ 20

0Hz

25 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Concurrent application: ImInv

• Multithreaded image inversion algorithm

• Periodically receives a picture

• Periodically sends it’s inverse

• Configurable

• Memory / NoC utilization depend on picture size

• 512x512, 256x256 or 128x128

• 2, 4, 8 or 16 PEs

• Simple to implement

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

26 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Experiments

SCENARIO 1.

Reference scenario, ROSACE in isolation.

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

27 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Scenario 1

• 10,000 executions

• Validation of functional behaviour

• Log of execution times

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

IO1

C0 C2

SPG ROSACE

DDR-SDRAM

𝑷𝑪𝟏 / 10Hz

𝑷𝑪𝟐 / 200Hz

𝑷𝑪 𝟑

/ 20

0Hz

28 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Experiments

SCENARIO 2.

Interferences on the NoC.

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

29 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Scenario 2

• 1st partition: same as in scenario 1

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

IO1

C0 C2

SPG ROSACE

DDR-SDRAM

𝑷𝑪𝟏 / 10Hz

𝑷𝑪𝟐 / 200Hz

𝑷𝑪 𝟑

/200

Hz

30 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Scenario 2

• 1st partition: same as in scenario 1

• 2nd partition:

• 2 instances of ImInv (I1 and I2)

• Each instance in one PN (8 cores, 7 banks each)

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

IO1

C0 C2

SPG ROSACE

DDR-SDRAM

𝑷𝑪𝟏 / 10Hz

𝑷𝑪𝟐 / 200Hz

𝑷𝑪 𝟑

/200

Hz

C3 C4

I1 I2

30 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Scenario 2

• 1st partition: same as in scenario 1

• 2nd partition:

• 2 instances of ImInv (I1 and I2)

• Each instance in one PN (8 cores, 7 banks each)

• 2 PCs to connect the PNs (500 Hz)

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

IO1

C0 C2

SPG ROSACE

DDR-SDRAM

𝑷𝑪𝟏 / 10Hz

𝑷𝑪𝟐 / 200Hz

𝑷𝑪 𝟑

/200

Hz

C3 C4

I1 I2

𝑷𝑪𝟑 / 500Hz

𝑷𝑪𝟒 / 500Hz

30 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Scenario 2

• Almost no variations in execution times

• Observed WCET and BCET are equal

• Differences of ET averages < 1%

• 100% of the NoC packets received within the intended NoC slots

• No delay related to « lost » packets

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

31 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Experiments

SCENARIO 3.

Interferences at DDR-SDRAM level.

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

32 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Scenario 3

• 1st partition: same as in scenario 1

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

IO1

C0 C2

SPG ROSACE

DDR-SDRAM

𝑷𝑪𝟏 / 10Hz

𝑷𝑪𝟐 / 200Hz 𝑷𝑪 𝟑

/ 200

Hz

33 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Scenario 3

• 1st partition: same as in scenario 1

• 2nd partition:

• 1 instance of ImInv

• 1 PN (same as in scenario 2)

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

IO1

C0 C2

SPG ROSACE

DDR-SDRAM

𝑷𝑪𝟏 / 10Hz

𝑷𝑪𝟐 / 200Hz 𝑷𝑪 𝟑

/ 200

Hz

C4

I1

33 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Scenario 3

• 1st partition: same as in scenario 1

• 2nd partition:

• 1 instance of ImInv

• 1 PN (same as in scenario 2)

• 1 ION (same bank as partition 1)

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

IO1

C0 C2

SPG ROSACE

DDR-SDRAM

𝑷𝑪𝟏 / 10Hz

𝑷𝑪𝟐 / 200Hz 𝑷𝑪 𝟑

/ 200

Hz

C4

I1

IO2

33 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Scenario 3

• 1st partition: same as in scenario 1

• 2nd partition:

• 1 instance of ImInv

• 1 PN (same as in scenario 2)

• 1 ION (same bank as partition 1)

• 2 PCs

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

IO1

C0 C2

SPG ROSACE

DDR-SDRAM

𝑷𝑪𝟏 / 10Hz

𝑷𝑪𝟐 / 200Hz 𝑷𝑪 𝟑

/ 200

Hz

C4

I1

IO2

𝑷𝑪𝟑 / 500H

z 𝑷𝑪 𝟒

/ 50

0Hz

33 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Scenario 3

• Almost no variations in execution times

• Observed WCET and BCET are equal

• Differences of ET averages < 1%

• 100% of the NoC packets received within the intended NoC slots

• No delay related to « lost » packets

• Observation of DDR traces show no interleaved accesses to the

shared bank

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

34 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Agenda

I. Execution model

II. Implementation

III. Experiments

IV. Conclusion

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

35 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Conclusion

• Many-core processors such as the Kalray MPPA are good

candidates for future avionics computers.

• The time-composability on such platforms can be achieved thanks

to an appropriate execution model.

• Implementation of the execution model is feasible and the

experiments exhibit promising temporal properties.

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

36 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Perspectives

• Online management of best effort NoC traffic to fill the partially

unused slots

• Automatic budgeting seems feasible for instrinsically cyclic

applications (e.g., control-command)

• Evaluate the approach with applications of industrial size

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

37 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document. This document and all information contained herein is the sole property of AIRBUS Operations S.A.S. No intellectual property rights are granted by the delivery of this document or the disclosure of its content. This document shall not be reproduced or disclosed to a third party without the express written consent of AIRBUS Operations S.A.S. This document and its content shall not be used for any purpose other than that for which it is supplied. The statements made herein do not constitute an offer. They are based on the mentioned assumptions and are expressed in good faith. Where the supporting grounds for these statements are not shown, AIRBUS Operations S.A.S will be pleased to explain the basis thereof. AIRBUS, its logo, A300, A310, A318, A319, A320, A321, A330, A340, A350, A380, A400M are registered trademarks.

Thank you

Any questions ?

38 / 38

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Kalray MPPA: the NoC

• Data-NoC (DNoC)

• 2D torus

• Wormhole switching

• Packets sent by DMAs

• Control-NoC (CNoC)

• Short control messages

• Synchronization …

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

Fig: NoC topology of the Kalray MPPA

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Kalray MPPA: Compute clusters

• 16 Processing Elements

• 1 Resource Manager (RM)

• 2 MiB of SRAM

• 16 banks

• accessible in parallel

• 1 DMA

• 2 NoC interfaces

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

PE0 PE1 PE4 PE5

PE2 PE3 PE6 PE7

PE8 PE9 PE12 PE13

PE10 PE11 PE14 PE15

Bank 0

Bank 1

Bank 2

Bank 3

Bank 4

Bank 5

Bank 6

Bank 7

Bank 8

Bank 9

Bank 10

Bank 11

Bank 12

Bank 13

Bank 14

Bank 15

Resource Manager DMA

SRAM SRAM Fig: Compute cluster Kalray MPPA

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Kalray MPPA: I/O Clusters

• 4 Resource Managers

• 4x2 NoC interfaces

• 4 DMAs

• DDR/ETH controllers

• Other I/Os

• PCIe

• i2c

• GPIOs

• …

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

RM 0

DMA 0

RM 1 RM 2 RM 3

DMA 1 DMA 2 DMA 3

DDR Controller PCIe

GPIO / I2C /

UART / … …

Fig: I/O cluster Kalray MPPA

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Accesses to the external memory

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

Bank 4

Bank 3

Bank 2

Bank 1

Core 3

Core 2

Core 1

DMA A

A

A

A

Local SRAM

R

Bank 4

Bank 3

Bank 2

Bank 1

Core 3

Core 2

Core 1

DMA A

A

A

A

Local SRAM

R

Compute cluster B

Compute cluster A

Core 2

Core 1

DMA 1

DMA 2

R

R

NoC

DDR Controller

A

I/O Cluster

Bank

1

Bank

2

Bank

3

Bank

4

Bank

5

Bank

6

Bank

7

Bank

8

DDRx-SDRAM

?

?

?

?

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Accesses to the external memory

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

Bank 4

Bank 3

Bank 2

Bank 1

Core 3

Core 2

Core 1

DMA A

A

A

A

Local SRAM

R

Bank 4

Bank 3

Bank 2

Bank 1

Core 3

Core 2

Core 1

DMA A

A

A

A

Local SRAM

R

Compute cluster B

Compute cluster A

Core 2

Core 1

DMA 1

DMA 2

R

R

NoC

DDR Controller

A

I/O Cluster

Bank

1

Bank

2

Bank

3

Bank

4

Bank

5

Bank

6

Bank

7

Bank

8

DDRx-SDRAM

?

?

?

?

?

?

?

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Accesses to the external memory

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors

Bank 4

Bank 3

Bank 2

Bank 1

Core 3

Core 2

Core 1

DMA A

A

A

A

Local SRAM

R

Bank 4

Bank 3

Bank 2

Bank 1

Core 3

Core 2

Core 1

DMA A

A

A

A

Local SRAM

R

Compute cluster B

Compute cluster A

Core 2

Core 1

DMA 1

DMA 2

R

R

NoC

DDR Controller

A

I/O Cluster

Bank

1

Bank

2

Bank

3

Bank

4

Bank

5

Bank

6

Bank

7

Bank

8

DDRx-SDRAM

?

?

?

?

?

?

?

?

?

© AIRBUS Operations S.A.S. All rights reserved. Confidential and proprietary document.

Means of observation

• Observation of time-triggered systems is often intrusive, and thus,

challenging

• Should be taken into account in the design

• Example: specific PC for logging

• Other means • Post processing of memory footprints (ex: dump of DDR-SDRAM)

• Non-intrusive on-line observation of DDR-SDRAM accesses with a DDR interposer / analyser

• Asynchronous Log to server using the C-NoC (with care)

RTAS - April 2016 Quentin Perret - Temporal Isolation of Hard Real-Time Applications on Many-core Processors