PHYLOG certification methodology: a sane way to embed multi-core - - PowerPoint PPT Presentation

phylog certification methodology a sane way to embed
SMART_READER_LITE
LIVE PREVIEW

PHYLOG certification methodology: a sane way to embed multi-core - - PowerPoint PPT Presentation

PHYLOG certification methodology: a sane way to embed multi-core processors Fr ed eric Boniol, Youcef Bouchebaba, Julien Brunel, Kevin Delmas, Thomas Loquen, Alfonso Mascarenas Gonzalez, Claire Pagetti, Thomas Polacsek, Nathana el


slide-1
SLIDE 1

PHYLOG certification methodology: a sane way to embed multi-core processors

Fr´ ed´ eric Boniol, Youcef Bouchebaba, Julien Brunel, Kevin Delmas, Thomas Loquen, Alfonso Mascarenas Gonzalez, Claire Pagetti, Thomas Polacsek, Nathana¨ el Sensfelder ERTS, January 30th, 2020

slide-2
SLIDE 2

Introduction

Context: avionic systems Topic: MultiCore Processors (MCP) Certification: MCP-CRI standard Observation: certification is a difficult task because of internal complexity of MCP complexity of MCP-CRI objectives Phylog contribution: a framework to ease the certification of MultiCore Processors for avionic systems

2 / 36

slide-3
SLIDE 3

What is a multi-core processor (MCP)?

= Complex architecture composed of computing cores, signal processing cores, DMAs, caches, memories, buses, IO devices. . . (Pro) Allows multiple functions to be executed in parallel (Cons) High integration density

⇒ hard to master the internal normal / abnormal behavior

Parallelism + shared resources

→ risk of interference → risk of delays and non-determinism (due to interference)

⇒ key issues for certification

3 / 36

slide-4
SLIDE 4
  • Certification. . .

Certification = evaluation of an argumentation, to convince that a system (i.e., its architecture, its settings, including mitigation

  • means. . . ) satisfies certification objectives

⇒ Certification objectives for MCP? [1] “Certification Review Item for Multi-Core (MCP-CRI)” (nov. 2016) ⇒ defines 9 certification objectives about

SW development and verification planing resources settings resource usage and interference handling safety handling. . .

4 / 36

slide-5
SLIDE 5

Phylog approach. . .

Phylog ideas

1 transcription of the MCP-CRI objectives in a more

(pseudo-)formal graphical way

2 use of formal methods to support

⇒ interference analysis ⇒ safety analysis

3 use of models to support analyses and to ease dialogues

between applicants and certification authorities

5 / 36

slide-6
SLIDE 6

Agenda

1 Transcription of MCP-CRI objectives. . . 2 PML: a meta model certification-oriented for MCP 3 Interference analysis 4 Conclusion and future work

6 / 36

slide-7
SLIDE 7

Transcription of MCP-CRI objectives. . .

Why: to clarify what to do and how to organize the arguments How: Argumentation patterns close to GSN, CAE notations

  • rganize in diagram form the various elements, formal and

informal, that contribute to the justification of a result (such as safety, security, correctness) Idea: define an argumentation pattern per MCP-CRI

  • bjective

⇒ Example: Resource Usage 3 (interference identification and mitigation)

7 / 36

slide-8
SLIDE 8

Example: Resource Usage 3 (RU3)

Resource Usage 3 (RU3) (MCP-CRI, page 13) “The applicant has identified the interference channels that could permit interference to affect the software applications hosted on the MCP cores, and has verified the applicant’s chosen means of mitigation of the interference.”

8 / 36

slide-9
SLIDE 9

Resource Usage 3 (RU3) objective

RU3: Identification of interference and verified means of mitigation (S1) Check all identified interference are mitigated (∀i ∈ I, i mitigated) (E1) The interferences I are identified and classified (S2) All identified interferences are classified Backing: architecture mastering (E3) Identification of all interference I (E4) Classification of c(i) effects Given: hosted applications and maximal accepted WCET / WCRT (E2) i mitigated

9 / 36

slide-10
SLIDE 10

Resource Usage 3 (RU3) objective

Next issue: How to fulfill the leaves of the argumentation patterns RU3 example how to identify / enumerate the interference (E3)? how to classify the interference (E4)? in a feasible way? ⇒ Idea: automatic computation ⇒ Needs: models (of the internal architecture of the MCP and its configuration).

10 / 36

slide-11
SLIDE 11

Agenda

1 Transcription of MCP-CRI objectives. . . 2 PML: a meta model certification-oriented for MCP 3 Interference analysis 4 Conclusion and future work

11 / 36

slide-12
SLIDE 12

Why a specific meta-model?

Needs: an accurate abstraction able to capture the concepts mentioned in the MCP-CRI as simple as possible

  • nly for certification concerns (not for design)

⇒ Question: what is MCP-CRI talking about?

12 / 36

slide-13
SLIDE 13

PML (1/3): Keystone example

Memory Subsystem

ROSACE0 (SW) ROSACE1 (SW) NN (SW) MPPAX C66x CorePac MMU ARM A15

L2 SRAM L1P SRAM L1D SRAM L1P L1D

TeraNet

EDMA PLL Power Mgt Semaphors Boot ROM GPIO I2C USB 3.0 UART SPI PCIe SRIO MSMC Controller MSMC SRAM 64-bit DDR3 EMIF DDR Memory

13 / 36

slide-14
SLIDE 14

PML (1/3): Keystone example

Memory Subsystem

ROSACE0 (SW) ROSACE1 (SW) NN (SW) MPPAX C66x CorePac MMU ARM A15

L2 SRAM L1P SRAM L1D SRAM L1P L1D

TeraNet

EDMA PLL Power Mgt Semaphors Boot ROM GPIO I2C USB 3.0 UART SPI PCIe SRIO MSMC Controller MSMC SRAM 64-bit DDR3 EMIF DDR Memory

14 / 36

slide-15
SLIDE 15

PML (1/3): Keystone example

Memory Subsystem

ROSACE0 (SW) ROSACE1 (SW) NN (SW) MPPAX C66x CorePac MMU ARM A15

L2 SRAM L1P SRAM L1D SRAM L1P L1D

TeraNet

EDMA PLL Power Mgt Semaphors Boot ROM GPIO I2C USB 3.0 UART SPI PCIe SRIO MSMC Controller MSMC SRAM 64-bit DDR3 EMIF DDR Memory

initiator

15 / 36

slide-16
SLIDE 16

PML (1/3): Keystone example

Memory Subsystem

ROSACE0 (SW) ROSACE1 (SW) NN (SW) MPPAX C66x CorePac MMU ARM A15

L2 SRAM L1P SRAM L1D SRAM L1P L1D

TeraNet

EDMA PLL Power Mgt Semaphors Boot ROM GPIO I2C USB 3.0 UART SPI PCIe SRIO MSMC Controller MSMC SRAM 64-bit DDR3 EMIF DDR Memory

initiator target

16 / 36

slide-17
SLIDE 17

PML (1/3): Keystone example

Memory Subsystem

ROSACE0 (SW) ROSACE1 (SW) NN (SW) MPPAX C66x CorePac MMU ARM A15

L2 SRAM L1P SRAM L1D SRAM L1P L1D

TeraNet

EDMA PLL Power Mgt Semaphors Boot ROM GPIO I2C USB 3.0 UART SPI PCIe SRIO MSMC Controller MSMC SRAM 64-bit DDR3 EMIF DDR Memory

initiator target transporter

17 / 36

[1] “White paper on issues associated with interference applied to multi-core processors”.

  • X. Jean et al., 2016
slide-18
SLIDE 18

PML (1/3)

⇒ 1st Idea: MPC platform = organised set of initiators targets transporters

18 / 36

slide-19
SLIDE 19

PML (2/3)

2d Idea: characterize each component with the services it provides to capture the normal / abnormal behavior of the platform ⇒ 6 types of services execute (ex), load (ld), store (st), authorize (auth), dispatch (dp), copy (cp) ⇒ transaction = is a request of type T from 1 iniator to n target services of type T through a path of transporter services of type T

19 / 36

slide-20
SLIDE 20

PML (2/3): Keystone example

20 / 36

Example: Load transaction from ROSACE0 to SRAM

slide-21
SLIDE 21

PML (3/3)

PML (simplified view)

21 / 36

slide-22
SLIDE 22

PML: a meta model certification oriented for MCP

⇒ allows export to dedicated view points: interference analysis, and safety analysis.

22 / 36

slide-23
SLIDE 23

Agenda

1 Transcription of MCP-CRI objectives. . . 2 PML: a meta model certification-oriented for MCP 3 Interference analysis 4 Conclusion and future work

23 / 36

slide-24
SLIDE 24

Interference definition

⇒ Interference definition ⇒ Method to enumerate all interference

24 / 36

slide-25
SLIDE 25

Interference definition

Interference scenario let A and B two initiator components let tA and tB two “transactions” issued by A and B let P(tA) and P(tB) the paths of tA and tB (i.e., the services crossed by tA and tB) ⇒ if there exists a service r ∈ P(tA) ∩ P(tB), then tA | | tB is an interference scenario on r

25 / 36

slide-26
SLIDE 26

Interference definition

Interference scenario let A and B two initiator components let tA and tB two “transactions” issued by A and B let P(tA) and P(tB) the paths of tA and tB (i.e., the services crossed by tA and tB) ⇒ if there exists a service r ∈ P(tA) ∩ P(tB), then tA | | tB is an interference scenario on r

26 / 36

slide-27
SLIDE 27

Interference definition

Interference scenario let A and B two initiator components let tA and tB two “transactions” issued by A and B let P(tA) and P(tB) the paths of tA and tB (i.e., the services crossed by tA and tB) ⇒ if there exists a service r ∈ P(tA) ∩ P(tB), then tA | | tB is an interference scenario on r

27 / 36

slide-28
SLIDE 28

Interference definition

Interference scenario let A and B two initiator components let tA and tB two “transactions” issued by A and B let P(tA) and P(tB) the paths of tA and tB (i.e., the services crossed by tA and tB) ⇒ if there exists a service r ∈ P(tA) ∩ P(tB), then tA | | tB is an interference scenario on r

28 / 36

slide-29
SLIDE 29

Interference definition

Interference scenario let A and B two initiator components let tA and tB two “transactions” issued by A and B let P(tA) and P(tB) the paths of tA and tB (i.e., the services crossed by tA and tB) ⇒ if there exists a service r ∈ P(tA) ∩ P(tB), then tA | | tB is an interference scenario on r

29 / 36

slide-30
SLIDE 30

Interference definition

⇒ Enumeration of all binary interference scenarios I2 =

  • tA |

| tB | tA, tB : transaction, ∃r ∈ P(tA) ∩ P(tB)

  • ⇒ Enumeration of all binary interference-free scenarios

IF2 =

  • tA |

| tB | tA, tB : transaction, P(tA) ∩ P(tB) = ∅

  • ⇒ Can be generalized to n-ary interference channels / scenarios

30 / 36

slide-31
SLIDE 31

Interference definition: Keystone example

31 / 36

slide-32
SLIDE 32

Interference definition: Keystone example

⇒ Phylog model

DSP ARM0 ARM1 MPAX MMU AXI MSMC SRAM DDR storeSRAM store authorize dispatch store store loadSRAM dispatch load load execute load NN loadDDR load dispatch load0 authorize0 dispatch0 load load storeDDR store store0 store Rosace0 execute store load1 authorize1 dispatch1 load store1 store execute Rosace1

⇒ 32 binary interference scenarios ⇒ 32 ternary interference scenarios ⇒ 23 bunary interference-free scenarios

32 / 36

slide-33
SLIDE 33

Interference argumentation: synthesis

33 / 36

slide-34
SLIDE 34

Agenda

1 Transcription of MCP-CRI objectives. . . 2 PML: a meta model certification-oriented for MCP 3 Interference analysis 4 Conclusion and future work

34 / 36

slide-35
SLIDE 35

Synthesis

Phylog framework

PML model Model-based formal analyses Interference computation Safety assessement Interference classification export Argumentation patterns Argumentation Evidences is in provide External documentation MCP-CRI Design choices

  • Configuration
  • Execution model

argumentation pattern per MCP-CRI objective PML (Phylog meta model) automatic computation with formal methods web site https://w3.onera.fr/phylog/

  • pen source results

35 / 36

slide-36
SLIDE 36

Synthesis

Special thanks to EASA (Nicolas Chevillard, Guillaume Soudain) for fruitful discussions

36 / 36