Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8...

57
Applying Constraint Programming for Design Space Exploration in Avionics Rodolfo Jordão 1 Tage Mohammadat 1 George Ungureanu 1 Ingemar Söderquist 2 Mats Ekman 2 Ingo Sander 1 1 School of EECS, KTH Royal Institute of Technology, Stockholm, Sweden 2 Business Area Aeronautics, Saab AB, Linköping, Sweden October 9, 2019

Transcript of Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8...

Page 1: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

Applying Constraint Programming forDesign Space Exploration in Avionics

Rodolfo Jordão1 Tage Mohammadat1 George Ungureanu1 Ingemar Söderquist2 Mats Ekman2

Ingo Sander1

1School of EECS, KTH Royal Institute of Technology, Stockholm, Sweden2Business Area Aeronautics, Saab AB, Linköping, Sweden

October 9, 2019

Page 2: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

MotivationNFFP7 CORRECT Case Study : Platform

▶ CPM: Processing Module(CPU and Mem.)

▶ CPM’s execute real timeoperating systems complaintwith standard ARINC 653

▶ Switch communication ispredictable (Flight Crit. Basedon standard SAE AS6003 andMission Op. Based onstandard ARINC 664)

Flight Crit.CPM 1

Flight Crit.CPM 2

. . . Flight Crit.CPM nFlightCrit.

Flight Crit.Switch

Mission Op.CPM 1

Mission Op.CPM 2

. . . Mission Op.CPM nMissionOp.

Mission Op.Switch

Flight Crit. - Mission Op.Bridge

1 / 18

Page 3: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

MotivationNFFP7 CORRECT Case Study : Platform

▶ CPM: Processing Module(CPU and Mem.)

▶ CPM’s execute real timeoperating systems complaintwith standard ARINC 653

▶ Switch communication ispredictable (Flight Crit. Basedon standard SAE AS6003 andMission Op. Based onstandard ARINC 664)

Flight Crit.CPM 1

Flight Crit.CPM 2

. . . Flight Crit.CPM nFlightCrit.

Flight Crit.Switch

Mission Op.CPM 1

Mission Op.CPM 2

. . . Mission Op.CPM nMissionOp.

Mission Op.Switch

Flight Crit. - Mission Op.Bridge

1 / 18

Page 4: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

MotivationNFFP7 CORRECT Case Study : Platform

▶ CPM: Processing Module(CPU and Mem.)

▶ CPM’s execute real timeoperating systems complaintwith standard ARINC 653

▶ Switch communication ispredictable (Flight Crit. Basedon standard SAE AS6003 andMission Op. Based onstandard ARINC 664)

Flight Crit.CPM 1

Flight Crit.CPM 2

. . . Flight Crit.CPM nFlightCrit.

Flight Crit.Switch

Mission Op.CPM 1

Mission Op.CPM 2

. . . Mission Op.CPM nMissionOp.

Mission Op.Switch

Flight Crit. - Mission Op.Bridge

1 / 18

Page 5: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

MotivationNFFP7 CORRECT Case Study : Platform

▶ CPM: Processing Module(CPU and Mem.)

▶ CPM’s execute real timeoperating systems complaintwith standard ARINC 653

▶ Switch communication ispredictable (Flight Crit. Basedon standard SAE AS6003 andMission Op. Based onstandard ARINC 664)

Flight Crit.CPM 1

Flight Crit.CPM 2

. . . Flight Crit.CPM nFlightCrit.

Flight Crit.Switch

Mission Op.CPM 1

Mission Op.CPM 2

. . . Mission Op.CPM nMissionOp.

Mission Op.Switch

Flight Crit. - Mission Op.Bridge

1 / 18

Page 6: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

MotivationNFFP7 CORRECT Case Study : Applications I

▶ Independent periodic taskswith communication

▶ Different applications mayneed to be spatially isolateddepending upon criticalities

application1

application2

application3

application4

process1process2

32

process4

32process8

32

64

process3

32

32

32

64

64

64process5

1616

process6

16

process7

16

16

8

8

8

8

8

8

1

1

1

1

1

16

16

16

16

16

2 / 18

Page 7: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

MotivationNFFP7 CORRECT Case Study : Applications I

▶ Independent periodic taskswith communication

▶ Different applications mayneed to be spatially isolateddepending upon criticalities

application1

application2

application3

application4

process1process2

32

process4

32process8

32

64

process3

32

32

32

64

64

64process5

1616

process6

16

process7

16

16

8

8

8

8

8

8

1

1

1

1

1

16

16

16

16

16

2 / 18

Page 8: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

MotivationNFFP7 CORRECT Case Study : Applications I

▶ Independent periodic taskswith communication

▶ Different applications mayneed to be spatially isolateddepending upon criticalities

application1

application2

application3

application4

process1process2

32

process4

32process8

32

64

process3

32

32

32

64

64

64process5

1616

process6

16

process7

16

16

8

8

8

8

8

8

1

1

1

1

1

16

16

16

16

16

2 / 18

Page 9: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

MotivationNFFP7 CORRECT Case Study : Sub-problem

▶ Designer’s job: decide where applications go to satisfy specifications.

Flight Crit.CPM 1

Flight Crit.CPM 2

. . . Flight Crit.CPM nFlightCrit.

Flight Crit.Switch

Mission Op.CPM 1

Mission Op.CPM 2

. . . Mission Op.CPM nMissionOp.

Mission Op.Switch

Flight Crit. - Mission Op.Bridge

application1

application2

application3

application4

process1process2

32

process4

32process8

32

64

process3

32

32

32

64

64

64process5

1616

process6

16

process7

16

16

8

8

8

8

8

8

1

1

1

1

1

16

16

16

16

16

▶ The set of the possibilities is called the Design Space.▶ Design Space Exploration (DSE) is the process of finding the decisions that meet the

specifications.

3 / 18

Page 10: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

MotivationNFFP7 CORRECT Case Study : Sub-problem

▶ Designer’s job: decide where applications go to satisfy specifications.

Flight Crit.CPM 1

Flight Crit.CPM 2

. . . Flight Crit.CPM nFlightCrit.

Flight Crit.Switch

Mission Op.CPM 1

Mission Op.CPM 2

. . . Mission Op.CPM nMissionOp.

Mission Op.Switch

Flight Crit. - Mission Op.Bridge

application1

application2

application3

application4

process1process2

32

process4

32process8

32

64

process3

32

32

32

64

64

64process5

1616

process6

16

process7

16

16

8

8

8

8

8

8

1

1

1

1

1

16

16

16

16

16

▶ The set of the possibilities is called the Design Space.▶ Design Space Exploration (DSE) is the process of finding the decisions that meet the

specifications.

3 / 18

Page 11: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

MotivationNFFP7 CORRECT Case Study : Sub-problem

▶ Designer’s job: decide where applications go to satisfy specifications.

Flight Crit.CPM 1

Flight Crit.CPM 2

. . . Flight Crit.CPM nFlightCrit.

Flight Crit.Switch

Mission Op.CPM 1

Mission Op.CPM 2

. . . Mission Op.CPM nMissionOp.

Mission Op.Switch

Flight Crit. - Mission Op.Bridge

application1

application2

application3

application4

process1process2

32

process4

32process8

32

64

process3

32

32

32

64

64

64process5

1616

process6

16

process7

16

16

8

8

8

8

8

8

1

1

1

1

1

16

16

16

16

16

▶ The set of the possibilities is called the Design Space.

▶ Design Space Exploration (DSE) is the process of finding the decisions that meet thespecifications.

3 / 18

Page 12: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

MotivationNFFP7 CORRECT Case Study : Sub-problem

▶ Designer’s job: decide where applications go to satisfy specifications.

Flight Crit.CPM 1

Flight Crit.CPM 2

. . . Flight Crit.CPM nFlightCrit.

Flight Crit.Switch

Mission Op.CPM 1

Mission Op.CPM 2

. . . Mission Op.CPM nMissionOp.

Mission Op.Switch

Flight Crit. - Mission Op.Bridge

application1

application2

application3

application4

process1process2

32

process4

32process8

32

64

process3

32

32

32

64

64

64process5

1616

process6

16

process7

16

16

8

8

8

8

8

8

1

1

1

1

1

16

16

16

16

16

▶ The set of the possibilities is called the Design Space.▶ Design Space Exploration (DSE) is the process of finding the decisions that meet the

specifications.

3 / 18

Page 13: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

MotivationNFFP7 CORRECT Case Study : Applications II

▶ How hard can DSE get?

4 / 18

Page 14: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

MotivationNFFP7 CORRECT Case Study : Applications II

▶ How hard can DSE get? Check the Flight Critical part

4 / 18

Page 15: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

MotivationNFFP7 CORRECT Case Study : Applications II▶ How hard can DSE get? Check the Flight Critical part (91 processes)

process1

process31

64

process30

64

process23

64

process26

64

process29

64

process42

64

process4

64

process27

64

process3

64

process2

64

process59

64

process8

32

8

8

8

8

8

8

process24

8

process25

8

process41

8

8

8

8

8

8

8

8

8

8

4

4

4

process89

4

8

8

8

8

8

8

8

8

8

64

64

64

64

64

64

process43

64

process73

64

64

8

8

8

8

8

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

process20

64

8

8

8

8

8

8

8

8

32

process5

32

process7

32

process6

32

process9

32

32

process61

32

process57

32

process60

32

process58

32

process86

32

process84

32

process91

32

process83

32

16

16

4

4

4

4

process21

32

process18

32

process19

32

4

16

16

4

44

4

1

1

32

32

32

32

process32

32

8

8

8

4

4

4

4

64

64

64

64

process16

64

process33

64

process37

64

process36

64

process35

64

process39

64

process38

64

process40

64

16

process10

process15

4process14

4

process17

4process13

4

process12

4

1

8

8

8

88

process11

88

8

888

864

64

8

64

8

88

88

88

32

32

32

3232

4

4

process22

32

32

32

4

4

4

32

32

32

8

8

8

8

8

8

8

8

process28

8

8

8

8

8

8

64

64

64

64

64

64

64

6464

64

64

64

64

64

32

32

32

3232

32

32

32

32

3232

32

32

32

32

32

32

32

32

32

32

3232

64

64

64

64

6464

321

process34

16

64

64

1

process44

8

process46

8

process45

8

4

4

4

88

process47

8

8

8

8

8

8

8

8

process71

8

process79

8

process56

8process75

8

process51

8

process50

8

process53

8

process54

8

process55

8

process48

8

process49

8

process72

8

16

16

process52

16 64

64

64

64

64

64

64

64

64

64

64

16

16

16

16

16

16

16

process80

16

process77

16

process76

16

process78

16

64

64

64

64

64

64

64

64

64

64

64

64

64

64

6464

64

8

8

8

8

8

8

8

8

8

8

8

8

8

88

8

8

8

8

8

64

64

64

64

64

64

64

8

8

8

8

8

8

64

64

64

64

64

64

64

64

64

6464

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

8

8

8

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

8

8

8

8

8

8

88

8

32

32

32

32

32

32

32

64

64

64

64

64

64

64

64

64

6464

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

8

8

8

8

8

8

8

8

8

process81

8

process85

8

process88

8

32

32

32

32

32

32

32

8

8

8

8

8

8

process62

6464

64

64

64

64

64

64

64

64

process69

64

process64

64

process66

64

process70

64

3232

32

32

32

32

32

32

32

32

4

44

4

4

4

4

4

4

4

4

4

4

4

4

6464

64

64

64

64

64

64

64

64

6464

64

64

32

32

32

32

32

process63

6464

64

64

64

64

64

64

64

process65

6464

64

64

64

64

64

64

64

process67

64

64

64

64

64

64

64

64

64

64

process68

6464

64

64

64

64

64

64

64

process74

1

64

64

64

64

64

64

32

32

32

32

32

32

32

32

32

32

64

64

64

process90

64

32

32

32

32

32

32

32

32

32

32

32process82

4

4

4

4

4

4

4

4

4

4

4

8

8

8

8

8

8

8

8

8

8

8

process87

8

8

8

8

8

8

8

8

8

8

8

4 / 18

Page 16: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

MotivationNFFP7 CORRECT Case Study : Total problem

▶ Current total DSE problem:

Flight Crit.CPM 1

Flight Crit.CPM 2

. . . Flight Crit.CPM nFlightCrit.

Flight Crit.Switch

Mission Op.CPM 1

Mission Op.CPM 2

. . . Mission Op.CPM nMissionOp.

Mission Op.Switch

Flight Crit. - Mission Op.Bridge

application1

application2

application3

application4

process1process2

32

process4

32process8

32

64

process3

32

32

32

64

64

64process5

1616

process6

16

process7

16

16

8

8

8

8

8

8

1

1

1

1

1

16

16

16

16

16

process1

process31

64

process30

64

process23

64

process26

64

process29

64

process42

64

process4

64

process27

64

process3

64

process2

64

process59

64

process8

32

8

8

8

8

8

8

process24

8

process25

8

process41

8

8

8

8

8

8

8

8

8

8

4

4

4

process89

4

8

8

8

8

8

8

8

8

8

64

64

64

64

64

64

process43

64

process73

64

64

8

8

8

8

8

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

process20

64

8

8

8

8

8

8

8

8

32

process5

32

process7

32

process6

32

process9

32

32

process61

32

process57

32

process60

32

process58

32

process86

32

process84

32

process91

32

process83

32

16

16

4

4

4

4

process21

32

process18

32

process19

32

4

16

16

4

44

4

1

1

32

32

32

32

process32

32

8

8

8

4

4

4

4

64

64

64

64

process16

64

process33

64

process37

64

process36

64

process35

64

process39

64

process38

64

process40

64

16

process10

process15

4process14

4

process17

4process13

4

process12

4

1

8

8

8

88

process11

88

8

888

864

64

8

64

8

88

88

88

32

32

32

3232

4

4

process22

32

32

32

4

4

4

32

32

32

8

8

8

8

8

8

8

8

process28

8

8

8

8

8

8

64

64

64

64

64

64

64

6464

64

64

64

64

64

32

32

32

3232

32

32

32

32

3232

32

32

32

32

32

32

32

32

32

32

3232

64

64

64

64

6464

321

process34

16

64

64

1

process44

8

process46

8

process45

8

4

4

4

88

process47

8

8

8

8

8

8

8

8

process71

8

process79

8

process56

8process75

8

process51

8

process50

8

process53

8

process54

8

process55

8

process48

8

process49

8

process72

8

16

16

process52

16 64

64

64

64

64

64

64

64

64

64

64

16

16

16

16

16

16

16

process80

16

process77

16

process76

16

process78

16

64

64

64

64

64

64

64

64

64

64

64

64

64

64

6464

64

8

8

8

8

8

8

8

8

8

8

8

8

8

88

8

8

8

8

8

64

64

64

64

64

64

64

8

8

8

8

8

8

64

64

64

64

64

64

64

64

64

6464

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

8

8

8

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

8

8

8

8

8

8

88

8

32

32

32

32

32

32

32

64

64

64

64

64

64

64

64

64

6464

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

8

8

8

8

8

8

8

8

8

process81

8

process85

8

process88

8

32

32

32

32

32

32

32

8

8

8

8

8

8

process62

6464

64

64

64

64

64

64

64

64

process69

64

process64

64

process66

64

process70

64

3232

32

32

32

32

32

32

32

32

4

44

4

4

4

4

4

4

4

4

4

4

4

4

6464

64

64

64

64

64

64

64

64

6464

64

64

32

32

32

32

32

process63

6464

64

64

64

64

64

64

64

process65

6464

64

64

64

64

64

64

64

process67

64

64

64

64

64

64

64

64

64

64

process68

6464

64

64

64

64

64

64

64

process74

1

64

64

64

64

64

64

32

32

32

32

32

32

32

32

32

32

64

64

64

process90

64

32

32

32

32

32

32

32

32

32

32

32process82

4

4

4

4

4

4

4

4

4

4

4

8

8

8

8

8

8

8

8

8

8

8

process87

8

8

8

8

8

8

8

8

8

8

8

▶ Find a mapping that meets all deadlines and respects spatial constraints.▶ Also try to minimize the number of CPMs used!

5 / 18

Page 17: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

MotivationNFFP7 CORRECT Case Study : Total problem

▶ Current total DSE problem:

Flight Crit.CPM 1

Flight Crit.CPM 2

. . . Flight Crit.CPM nFlightCrit.

Flight Crit.Switch

Mission Op.CPM 1

Mission Op.CPM 2

. . . Mission Op.CPM nMissionOp.

Mission Op.Switch

Flight Crit. - Mission Op.Bridge

application1

application2

application3

application4

process1process2

32

process4

32process8

32

64

process3

32

32

32

64

64

64process5

1616

process6

16

process7

16

16

8

8

8

8

8

8

1

1

1

1

1

16

16

16

16

16

process1

process31

64

process30

64

process23

64

process26

64

process29

64

process42

64

process4

64

process27

64

process3

64

process2

64

process59

64

process8

32

8

8

8

8

8

8

process24

8

process25

8

process41

8

8

8

8

8

8

8

8

8

8

4

4

4

process89

4

8

8

8

8

8

8

8

8

8

64

64

64

64

64

64

process43

64

process73

64

64

8

8

8

8

8

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

process20

64

8

8

8

8

8

8

8

8

32

process5

32

process7

32

process6

32

process9

32

32

process61

32

process57

32

process60

32

process58

32

process86

32

process84

32

process91

32

process83

32

16

16

4

4

4

4

process21

32

process18

32

process19

32

4

16

16

4

44

4

1

1

32

32

32

32

process32

32

8

8

8

4

4

4

4

64

64

64

64

process16

64

process33

64

process37

64

process36

64

process35

64

process39

64

process38

64

process40

64

16

process10

process15

4process14

4

process17

4process13

4

process12

4

1

8

8

8

88

process11

88

8

888

864

64

8

64

8

88

88

88

32

32

32

3232

4

4

process22

32

32

32

4

4

4

32

32

32

8

8

8

8

8

8

8

8

process28

8

8

8

8

8

8

64

64

64

64

64

64

64

6464

64

64

64

64

64

32

32

32

3232

32

32

32

32

3232

32

32

32

32

32

32

32

32

32

32

3232

64

64

64

64

6464

321

process34

16

64

64

1

process44

8

process46

8

process45

8

4

4

4

88

process47

8

8

8

8

8

8

8

8

process71

8

process79

8

process56

8process75

8

process51

8

process50

8

process53

8

process54

8

process55

8

process48

8

process49

8

process72

8

16

16

process52

16 64

64

64

64

64

64

64

64

64

64

64

16

16

16

16

16

16

16

process80

16

process77

16

process76

16

process78

16

64

64

64

64

64

64

64

64

64

64

64

64

64

64

6464

64

8

8

8

8

8

8

8

8

8

8

8

8

8

88

8

8

8

8

8

64

64

64

64

64

64

64

8

8

8

8

8

8

64

64

64

64

64

64

64

64

64

6464

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

8

8

8

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

8

8

8

8

8

8

88

8

32

32

32

32

32

32

32

64

64

64

64

64

64

64

64

64

6464

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

8

8

8

8

8

8

8

8

8

process81

8

process85

8

process88

8

32

32

32

32

32

32

32

8

8

8

8

8

8

process62

6464

64

64

64

64

64

64

64

64

process69

64

process64

64

process66

64

process70

64

3232

32

32

32

32

32

32

32

32

4

44

4

4

4

4

4

4

4

4

4

4

4

4

6464

64

64

64

64

64

64

64

64

6464

64

64

32

32

32

32

32

process63

6464

64

64

64

64

64

64

64

process65

6464

64

64

64

64

64

64

64

process67

64

64

64

64

64

64

64

64

64

64

process68

6464

64

64

64

64

64

64

64

process74

1

64

64

64

64

64

64

32

32

32

32

32

32

32

32

32

32

64

64

64

process90

64

32

32

32

32

32

32

32

32

32

32

32process82

4

4

4

4

4

4

4

4

4

4

4

8

8

8

8

8

8

8

8

8

8

8

process87

8

8

8

8

8

8

8

8

8

8

8

▶ Find a mapping that meets all deadlines and respects spatial constraints.▶ Also try to minimize the number of CPMs used!

5 / 18

Page 18: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

MotivationNFFP7 CORRECT Case Study : Total problem

▶ Current total DSE problem:

Flight Crit.CPM 1

Flight Crit.CPM 2

. . . Flight Crit.CPM nFlightCrit.

Flight Crit.Switch

Mission Op.CPM 1

Mission Op.CPM 2

. . . Mission Op.CPM nMissionOp.

Mission Op.Switch

Flight Crit. - Mission Op.Bridge

application1

application2

application3

application4

process1process2

32

process4

32process8

32

64

process3

32

32

32

64

64

64process5

1616

process6

16

process7

16

16

8

8

8

8

8

8

1

1

1

1

1

16

16

16

16

16

process1

process31

64

process30

64

process23

64

process26

64

process29

64

process42

64

process4

64

process27

64

process3

64

process2

64

process59

64

process8

32

8

8

8

8

8

8

process24

8

process25

8

process41

8

8

8

8

8

8

8

8

8

8

4

4

4

process89

4

8

8

8

8

8

8

8

8

8

64

64

64

64

64

64

process43

64

process73

64

64

8

8

8

8

8

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

process20

64

8

8

8

8

8

8

8

8

32

process5

32

process7

32

process6

32

process9

32

32

process61

32

process57

32

process60

32

process58

32

process86

32

process84

32

process91

32

process83

32

16

16

4

4

4

4

process21

32

process18

32

process19

32

4

16

16

4

44

4

1

1

32

32

32

32

process32

32

8

8

8

4

4

4

4

64

64

64

64

process16

64

process33

64

process37

64

process36

64

process35

64

process39

64

process38

64

process40

64

16

process10

process15

4process14

4

process17

4process13

4

process12

4

1

8

8

8

88

process11

88

8

888

864

64

8

64

8

88

88

88

32

32

32

3232

4

4

process22

32

32

32

4

4

4

32

32

32

8

8

8

8

8

8

8

8

process28

8

8

8

8

8

8

64

64

64

64

64

64

64

6464

64

64

64

64

64

32

32

32

3232

32

32

32

32

3232

32

32

32

32

32

32

32

32

32

32

3232

64

64

64

64

6464

321

process34

16

64

64

1

process44

8

process46

8

process45

8

4

4

4

88

process47

8

8

8

8

8

8

8

8

process71

8

process79

8

process56

8process75

8

process51

8

process50

8

process53

8

process54

8

process55

8

process48

8

process49

8

process72

8

16

16

process52

16 64

64

64

64

64

64

64

64

64

64

64

16

16

16

16

16

16

16

process80

16

process77

16

process76

16

process78

16

64

64

64

64

64

64

64

64

64

64

64

64

64

64

6464

64

8

8

8

8

8

8

8

8

8

8

8

8

8

88

8

8

8

8

8

64

64

64

64

64

64

64

8

8

8

8

8

8

64

64

64

64

64

64

64

64

64

6464

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

8

8

8

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

8

8

8

8

8

8

88

8

32

32

32

32

32

32

32

64

64

64

64

64

64

64

64

64

6464

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

8

8

8

8

8

8

8

8

8

process81

8

process85

8

process88

8

32

32

32

32

32

32

32

8

8

8

8

8

8

process62

6464

64

64

64

64

64

64

64

64

process69

64

process64

64

process66

64

process70

64

3232

32

32

32

32

32

32

32

32

4

44

4

4

4

4

4

4

4

4

4

4

4

4

6464

64

64

64

64

64

64

64

64

6464

64

64

32

32

32

32

32

process63

6464

64

64

64

64

64

64

64

process65

6464

64

64

64

64

64

64

64

process67

64

64

64

64

64

64

64

64

64

64

process68

6464

64

64

64

64

64

64

64

process74

1

64

64

64

64

64

64

32

32

32

32

32

32

32

32

32

32

64

64

64

process90

64

32

32

32

32

32

32

32

32

32

32

32process82

4

4

4

4

4

4

4

4

4

4

4

8

8

8

8

8

8

8

8

8

8

8

process87

8

8

8

8

8

8

8

8

8

8

8

▶ Find a mapping that meets all deadlines and respects spatial constraints.

▶ Also try to minimize the number of CPMs used!

5 / 18

Page 19: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

MotivationNFFP7 CORRECT Case Study : Total problem

▶ Current total DSE problem:

Flight Crit.CPM 1

Flight Crit.CPM 2

. . . Flight Crit.CPM nFlightCrit.

Flight Crit.Switch

Mission Op.CPM 1

Mission Op.CPM 2

. . . Mission Op.CPM nMissionOp.

Mission Op.Switch

Flight Crit. - Mission Op.Bridge

application1

application2

application3

application4

process1process2

32

process4

32process8

32

64

process3

32

32

32

64

64

64process5

1616

process6

16

process7

16

16

8

8

8

8

8

8

1

1

1

1

1

16

16

16

16

16

process1

process31

64

process30

64

process23

64

process26

64

process29

64

process42

64

process4

64

process27

64

process3

64

process2

64

process59

64

process8

32

8

8

8

8

8

8

process24

8

process25

8

process41

8

8

8

8

8

8

8

8

8

8

4

4

4

process89

4

8

8

8

8

8

8

8

8

8

64

64

64

64

64

64

process43

64

process73

64

64

8

8

8

8

8

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

process20

64

8

8

8

8

8

8

8

8

32

process5

32

process7

32

process6

32

process9

32

32

process61

32

process57

32

process60

32

process58

32

process86

32

process84

32

process91

32

process83

32

16

16

4

4

4

4

process21

32

process18

32

process19

32

4

16

16

4

44

4

1

1

32

32

32

32

process32

32

8

8

8

4

4

4

4

64

64

64

64

process16

64

process33

64

process37

64

process36

64

process35

64

process39

64

process38

64

process40

64

16

process10

process15

4process14

4

process17

4process13

4

process12

4

1

8

8

8

88

process11

88

8

888

864

64

8

64

8

88

88

88

32

32

32

3232

4

4

process22

32

32

32

4

4

4

32

32

32

8

8

8

8

8

8

8

8

process28

8

8

8

8

8

8

64

64

64

64

64

64

64

6464

64

64

64

64

64

32

32

32

3232

32

32

32

32

3232

32

32

32

32

32

32

32

32

32

32

3232

64

64

64

64

6464

321

process34

16

64

64

1

process44

8

process46

8

process45

8

4

4

4

88

process47

8

8

8

8

8

8

8

8

process71

8

process79

8

process56

8process75

8

process51

8

process50

8

process53

8

process54

8

process55

8

process48

8

process49

8

process72

8

16

16

process52

16 64

64

64

64

64

64

64

64

64

64

64

16

16

16

16

16

16

16

process80

16

process77

16

process76

16

process78

16

64

64

64

64

64

64

64

64

64

64

64

64

64

64

6464

64

8

8

8

8

8

8

8

8

8

8

8

8

8

88

8

8

8

8

8

64

64

64

64

64

64

64

8

8

8

8

8

8

64

64

64

64

64

64

64

64

64

6464

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

8

8

8

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

8

8

8

8

8

8

88

8

32

32

32

32

32

32

32

64

64

64

64

64

64

64

64

64

6464

64

64

64

64

64

64

64

64

64

64

64

64

64

64

64

8

8

8

8

8

8

8

8

8

process81

8

process85

8

process88

8

32

32

32

32

32

32

32

8

8

8

8

8

8

process62

6464

64

64

64

64

64

64

64

64

process69

64

process64

64

process66

64

process70

64

3232

32

32

32

32

32

32

32

32

4

44

4

4

4

4

4

4

4

4

4

4

4

4

6464

64

64

64

64

64

64

64

64

6464

64

64

32

32

32

32

32

process63

6464

64

64

64

64

64

64

64

process65

6464

64

64

64

64

64

64

64

process67

64

64

64

64

64

64

64

64

64

64

process68

6464

64

64

64

64

64

64

64

process74

1

64

64

64

64

64

64

32

32

32

32

32

32

32

32

32

32

64

64

64

process90

64

32

32

32

32

32

32

32

32

32

32

32process82

4

4

4

4

4

4

4

4

4

4

4

8

8

8

8

8

8

8

8

8

8

8

process87

8

8

8

8

8

8

8

8

8

8

8

▶ Find a mapping that meets all deadlines and respects spatial constraints.▶ Also try to minimize the number of CPMs used!

5 / 18

Page 20: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

MotivationNFFP7 CORRECT Case Study : To consider

▶ ARINC 653 Partitions

▶ Communications between Flight Critical and Mission Operational parts▶ Temporal Isolation of applications▶ ...

▶ Complexity of the DSE problem ever increasing!▶ ...but the complexity and scale of the problems can be lowered with automated DSE

methods.

6 / 18

Page 21: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

MotivationNFFP7 CORRECT Case Study : To consider

▶ ARINC 653 Partitions▶ Communications between Flight Critical and Mission Operational parts

▶ Temporal Isolation of applications▶ ...

▶ Complexity of the DSE problem ever increasing!▶ ...but the complexity and scale of the problems can be lowered with automated DSE

methods.

6 / 18

Page 22: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

MotivationNFFP7 CORRECT Case Study : To consider

▶ ARINC 653 Partitions▶ Communications between Flight Critical and Mission Operational parts▶ Temporal Isolation of applications

▶ ...

▶ Complexity of the DSE problem ever increasing!▶ ...but the complexity and scale of the problems can be lowered with automated DSE

methods.

6 / 18

Page 23: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

MotivationNFFP7 CORRECT Case Study : To consider

▶ ARINC 653 Partitions▶ Communications between Flight Critical and Mission Operational parts▶ Temporal Isolation of applications▶ ...

▶ Complexity of the DSE problem ever increasing!▶ ...but the complexity and scale of the problems can be lowered with automated DSE

methods.

6 / 18

Page 24: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

MotivationNFFP7 CORRECT Case Study : To consider

▶ ARINC 653 Partitions▶ Communications between Flight Critical and Mission Operational parts▶ Temporal Isolation of applications▶ ...

▶ Complexity of the DSE problem ever increasing!

▶ ...but the complexity and scale of the problems can be lowered with automated DSEmethods.

6 / 18

Page 25: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

MotivationNFFP7 CORRECT Case Study : To consider

▶ ARINC 653 Partitions▶ Communications between Flight Critical and Mission Operational parts▶ Temporal Isolation of applications▶ ...

▶ Complexity of the DSE problem ever increasing!▶ ...but the complexity and scale of the problems can be lowered with automated DSE

methods.

6 / 18

Page 26: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

Putting it together

S

CPM

S

CPM

S

CPM

S

CPM

Predictable platform(Execution times, comm. times, ...)

7 / 18

Page 27: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

Putting it together

S

CPM

S

CPM

S

CPM

S

CPM

Predictable platform(Execution times, comm. times, ...)

A1 A2

A3

B1

B2

Analyzable applications(Termination guarantess, buffers, ...)

7 / 18

Page 28: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

Putting it together

S

CPM

S

CPM

S

CPM

S

CPM

Predictable platform(Execution times, comm. times, ...)

A1 A2

A3

B1

B2

Analyzable applications(Termination guarantess, buffers, ...)

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min total Throughput,Max total power,

colocations,non-colocations,

...

Local and global design constraints

7 / 18

Page 29: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

Putting it together

S

CPM

S

CPM

S

CPM

S

CPM

Predictable platform(Execution times, comm. times, ...)

A1 A2

A3

B1

B2

Analyzable applications(Termination guarantess, buffers, ...)

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min total Throughput,Max total power,

colocations,non-colocations,

...

Local and global design constraints

Exploration of map and schedules of all applications in the platform respecting design constraints and applications behaviours.Optionally with optimization goals.

7 / 18

Page 30: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

Putting it together

S

CPM

S

CPM

S

CPM

S

CPM

Predictable platform(Execution times, comm. times, ...)

A1 A2

A3

B1

B2

Analyzable applications(Termination guarantess, buffers, ...)

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min total Throughput,Max total power,

colocations,non-colocations,

...

Local and global design constraints

Exploration of map and schedules of all applications in the platform respecting design constraints and applications behaviours.Optionally with optimization goals.

Resources

Order

CPU1

...TDM1→n

...CPUn

A1 A2

A3B1 B2

Repeat

Repeat

A1 → A3 : 1 → n

Resources

Time

CPU1

...TDM1→n

...CPUn

A1 A2

A3

A1 → A3

B1 B2

Repeat7 / 18

Page 31: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

Constraint ProgrammingWhy choose it?

▶ Additional specifications directly reflect additional variables and constraints.

Example:1. Two processes P1 and P2 cannot be co-located.2. Variables map(P1) and map(P2) represent their locations.3. Then map(P1) ̸= map(P2) reflects the co-location constraint.

▶ The problem description is separated from the solution method: different solvers may beused.

▶ Constraint programming solution frameworks are complete: guarantees of feasibility andoptimality available.

8 / 18

Page 32: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

Constraint ProgrammingWhy choose it?

▶ Additional specifications directly reflect additional variables and constraints.Example:

1. Two processes P1 and P2 cannot be co-located.2. Variables map(P1) and map(P2) represent their locations.3. Then map(P1) ̸= map(P2) reflects the co-location constraint.

▶ The problem description is separated from the solution method: different solvers may beused.

▶ Constraint programming solution frameworks are complete: guarantees of feasibility andoptimality available.

8 / 18

Page 33: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

Constraint ProgrammingWhy choose it?

▶ Additional specifications directly reflect additional variables and constraints.Example:

1. Two processes P1 and P2 cannot be co-located.2. Variables map(P1) and map(P2) represent their locations.3. Then map(P1) ̸= map(P2) reflects the co-location constraint.

▶ The problem description is separated from the solution method: different solvers may beused.

▶ Constraint programming solution frameworks are complete: guarantees of feasibility andoptimality available.

8 / 18

Page 34: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

Constraint ProgrammingWhy choose it?

▶ Additional specifications directly reflect additional variables and constraints.Example:

1. Two processes P1 and P2 cannot be co-located.2. Variables map(P1) and map(P2) represent their locations.3. Then map(P1) ̸= map(P2) reflects the co-location constraint.

▶ The problem description is separated from the solution method: different solvers may beused.

▶ Constraint programming solution frameworks are complete: guarantees of feasibility andoptimality available.

8 / 18

Page 35: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

Putting it together

S

CPM

S

CPM

S

CPM

S

CPM

Predictable platform(Execution times, comm. times, ...)

A1 A2

A3

B1

B2

Analyzable applications(Termination guarantess, buffers, ...)

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min total Throughput,Max total power,

colocations,non-colocations,

...

Local and global design constraints

9 / 18

Page 36: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

Putting it together

S

CPM

S

CPM

S

CPM

S

CPM

Predictable platform(Execution times, comm. times, ...)

A1 A2

A3

B1

B2

Analyzable applications(Termination guarantess, buffers, ...)

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min total Throughput,Max total power,

colocations,non-colocations,

...

Local and global design constraints

Decision variables and constraints thatpreserve behaviour in the target platform

9 / 18

Page 37: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

Putting it together

S

CPM

S

CPM

S

CPM

S

CPM

Predictable platform(Execution times, comm. times, ...)

A1 A2

A3

B1

B2

Analyzable applications(Termination guarantess, buffers, ...)

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min total Throughput,Max total power,

colocations,non-colocations,

...

Local and global design constraints

Decision variables and constraints thatpreserve behaviour in the target platform

Constraint Programmingsolver

9 / 18

Page 38: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

Putting it together

S

CPM

S

CPM

S

CPM

S

CPM

Predictable platform(Execution times, comm. times, ...)

A1 A2

A3

B1

B2

Analyzable applications(Termination guarantess, buffers, ...)

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min total Throughput,Max total power,

colocations,non-colocations,

...

Local and global design constraints

Decision variables and constraints thatpreserve behaviour in the target platform

Constraint Programmingsolver

Resources

Order

CPU1

...TDM1→n

...CPUn

A1 A2

A3B1 B2

Repeat

Repeat

A1 → A3 : 1 → n

9 / 18

Page 39: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

Putting it together

S

CPM

S

CPM

S

CPM

S

CPM

Predictable platform(Execution times, comm. times, ...)

A1 A2

A3

B1

B2

Analyzable applications(Termination guarantess, buffers, ...)

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min. Throughput,Max power,

...

Min total Throughput,Max total power,

colocations,non-colocations,

...

Local and global design constraints

Decision variables and constraints thatpreserve behaviour in the target platform

Constraint Programmingsolver

Resources

Order

CPU1

...TDM1→n

...CPUn

A1 A2

A3B1 B2

Repeat

Repeat

A1 → A3 : 1 → n

Resources

Time

CPU1

...TDM1→n

...CPUn

A1 A2

A3

A1 → A3

B1 B2

Repeat

9 / 18

Page 40: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

Putting it togetherDeSyDe

ForSyDe’s logo

▶ This DSE flow is implemented inDeSyDe1, the DSE tool of the ForSyDe2

methodology and tooling ecosystem.

1https://github.com/forsyde/DeSyDe2https://forsyde.github.io/

10 / 18

Page 41: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

DSE exampleTest Case I

▶ Given the platform,

applications and the constraints

S

CPM0

S

CPM2

S

CPM1

S

CPM3

frontE

rasta

pows

auds

comp

filter backE

1

1

1

11

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

11

1

1

1

1

1

1

1

1

1

1

1

a0

a1

a2

a9

a8

a4

a3

a5

a6

a7

1

1

1

1 1

1

1

11

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

11

11

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

RASTA-PLP Synthetic Cyclic Graph

▶ Rasta and Synth mustboth execute an actor inparallel at least once.

▶ Find a mapping and schedule that minimizes power.▶ DeSyDe finds a mapping and schedule using 3 CPMs after 10 minutes and proves its

optimality after 44 minutes.

11 / 18

Page 42: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

DSE exampleTest Case I

▶ Given the platform, applications

and the constraints

S

CPM0

S

CPM2

S

CPM1

S

CPM3

frontE

rasta

pows

auds

comp

filter backE

1

1

1

11

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

11

1

1

1

1

1

1

1

1

1

1

1

a0

a1

a2

a9

a8

a4

a3

a5

a6

a7

1

1

1

1 1

1

1

11

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

11

11

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

RASTA-PLP Synthetic Cyclic Graph

▶ Rasta and Synth mustboth execute an actor inparallel at least once.

▶ Find a mapping and schedule that minimizes power.▶ DeSyDe finds a mapping and schedule using 3 CPMs after 10 minutes and proves its

optimality after 44 minutes.

11 / 18

Page 43: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

DSE exampleTest Case I

▶ Given the platform, applications and the constraints

S

CPM0

S

CPM2

S

CPM1

S

CPM3

frontE

rasta

pows

auds

comp

filter backE

1

1

1

11

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

11

1

1

1

1

1

1

1

1

1

1

1

a0

a1

a2

a9

a8

a4

a3

a5

a6

a7

1

1

1

1 1

1

1

11

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

11

11

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

RASTA-PLP Synthetic Cyclic Graph

▶ Rasta and Synth mustboth execute an actor inparallel at least once.

▶ Find a mapping and schedule that minimizes power.▶ DeSyDe finds a mapping and schedule using 3 CPMs after 10 minutes and proves its

optimality after 44 minutes.

11 / 18

Page 44: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

DSE exampleTest Case I

▶ Given the platform, applications and the constraints

S

CPM0

S

CPM2

S

CPM1

S

CPM3

frontE

rasta

pows

auds

comp

filter backE

1

1

1

11

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

11

1

1

1

1

1

1

1

1

1

1

1

a0

a1

a2

a9

a8

a4

a3

a5

a6

a7

1

1

1

1 1

1

1

11

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

11

11

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

RASTA-PLP Synthetic Cyclic Graph

▶ Rasta and Synth mustboth execute an actor inparallel at least once.

▶ Find a mapping and schedule that minimizes power.

▶ DeSyDe finds a mapping and schedule using 3 CPMs after 10 minutes and proves itsoptimality after 44 minutes.

11 / 18

Page 45: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

DSE exampleTest Case I

▶ Given the platform, applications and the constraints

S

CPM0

S

CPM2

S

CPM1

S

CPM3

frontE

rasta

pows

auds

comp

filter backE

1

1

1

11

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

11

1

1

1

1

1

1

1

1

1

1

1

a0

a1

a2

a9

a8

a4

a3

a5

a6

a7

1

1

1

1 1

1

1

11

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

11

11

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

RASTA-PLP Synthetic Cyclic Graph

▶ Rasta and Synth mustboth execute an actor inparallel at least once.

▶ Find a mapping and schedule that minimizes power.▶ DeSyDe finds a mapping and schedule using 3 CPMs after 10 minutes and proves its

optimality after 44 minutes.11 / 18

Page 46: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

DSE exampleTest Case II - Platform

▶ 5 by 6 predictable NoC Platform.

S

CPM0

S

CPM6

S

CPM12

S

CPM18

S

CPM24

S

CPM1

S

CPM7

S

CPM13

S

CPM19

S

CPM25

S

CPM2

S

CPM8

S

CPM14

S

CPM20

S

CPM26

S

CPM3

S

CPM9

S

CPM15

S

CPM21

S

CPM27

S

CPM4

S

CPM10

S

CPM16

S

CPM22

S

CPM28

S

CPM5

S

CPM11

S

CPM17

S

CPM23

S

CPM29

12 / 18

Page 47: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

DSE exampleTest Case II - Applications

▶ 5 streaming applications.

getPx

gx gy

abs

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

getIm

usan

dir

thin

putIm

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

frontE

rasta

pows

auds

comp

filter backE

1

1

1

11

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

11

1

1

1

1

1

1

1

1

1

1

1

read

CC

DCT1

Huff1

1

1

1

1

DCT2

Huff2

1

1

1

1

DCT3

Huff3

1

1

1

1

DCT4

Huff4

1

1

1

1

DCT5

Huff5

1

1

1

1

DCT6

Huff6

1

1

1

1

CS

write

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

11111

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

11111

1

1

1

1

1

1

1

1

1

1

1

1

a0

a1

a2

a9

a8

a4

a3

a5

a6

a7

1

1

1

1 1

1

1

11

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

11

11

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

JPEG encoderRASTA-PLPSUSANSobel Synthetic Cyclic Graph

13 / 18

Page 48: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

DSE exampleTest Case II

▶ There are no local or global constraints.

▶ The goal is to minimize power.▶ ...After 4 hours DeSyDe does not find any solution:▶ design space is too big! Many degrees of freedom to explore.

14 / 18

Page 49: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

DSE exampleTest Case II

▶ There are no local or global constraints.▶ The goal is to minimize power.

▶ ...After 4 hours DeSyDe does not find any solution:▶ design space is too big! Many degrees of freedom to explore.

14 / 18

Page 50: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

DSE exampleTest Case II

▶ There are no local or global constraints.▶ The goal is to minimize power.▶ ...After 4 hours DeSyDe does not find any solution:

▶ design space is too big! Many degrees of freedom to explore.

14 / 18

Page 51: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

DSE exampleTest Case II

▶ There are no local or global constraints.▶ The goal is to minimize power.▶ ...After 4 hours DeSyDe does not find any solution:▶ design space is too big! Many degrees of freedom to explore.

14 / 18

Page 52: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

DSE exampleTest Case II - Workaround

▶ Workaround: incorporate designer’s knowledge via a given mapping.

S0,0

R0

S0,1

R6

S0,2

R12

S0,3

R18

S0,4

R24

S1,0

R1

S1,1

R7

S1,2

R13

S1,3

R19

S1,4

R25

S2,0

R2

S2,1

R8

S2,2

R14

S2,3

R20

S2,4

R26

S3,0

R3

S3,1

R9

S3,2

R15

S3,3

R21

S3,4

R27

S4,0

R4

S4,1

R10

S4,2

R16

S4,3

R22

S4,4

R28

S5,0

R5

S5,1

R11

S5,2

R17

S5,3

R23

S5,4

R29getPx

gx

gy

abs

getIm

usan

dir

thin

putIm

frontE

rasta pows auds comp

filter

backE

read

CC

DCT1

Huff1

11 11DCT2

Huff2

11 11DCT3

Huff3

11 11DCT4

Huff4

11 11DCT5

Huff5

11 11DCT6

Huff6

11 11

CS

write

a0

a1

a2

a9

a8

a4

a3

a5

a6

a7

▶ DeSyDe now finds a schedule after 5 seconds and prove its optimality after 20 minutes.

15 / 18

Page 53: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

DSE exampleTest Case II - Workaround

▶ Workaround: incorporate designer’s knowledge via a given mapping.

S0,0

R0

S0,1

R6

S0,2

R12

S0,3

R18

S0,4

R24

S1,0

R1

S1,1

R7

S1,2

R13

S1,3

R19

S1,4

R25

S2,0

R2

S2,1

R8

S2,2

R14

S2,3

R20

S2,4

R26

S3,0

R3

S3,1

R9

S3,2

R15

S3,3

R21

S3,4

R27

S4,0

R4

S4,1

R10

S4,2

R16

S4,3

R22

S4,4

R28

S5,0

R5

S5,1

R11

S5,2

R17

S5,3

R23

S5,4

R29getPx

gx

gy

abs

getIm

usan

dir

thin

putIm

frontE

rasta pows auds comp

filter

backE

read

CC

DCT1

Huff1

11 11DCT2

Huff2

11 11DCT3

Huff3

11 11DCT4

Huff4

11 11DCT5

Huff5

11 11DCT6

Huff6

11 11

CS

write

a0

a1

a2

a9

a8

a4

a3

a5

a6

a7

▶ DeSyDe now finds a schedule after 5 seconds and prove its optimality after 20 minutes.

15 / 18

Page 54: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

DSE exampleTest Case II - Workaround

▶ Workaround: incorporate designer’s knowledge via a given mapping.

S0,0

R0

S0,1

R6

S0,2

R12

S0,3

R18

S0,4

R24

S1,0

R1

S1,1

R7

S1,2

R13

S1,3

R19

S1,4

R25

S2,0

R2

S2,1

R8

S2,2

R14

S2,3

R20

S2,4

R26

S3,0

R3

S3,1

R9

S3,2

R15

S3,3

R21

S3,4

R27

S4,0

R4

S4,1

R10

S4,2

R16

S4,3

R22

S4,4

R28

S5,0

R5

S5,1

R11

S5,2

R17

S5,3

R23

S5,4

R29getPx

gx

gy

abs

getIm

usan

dir

thin

putIm

frontE

rasta pows auds comp

filter

backE

read

CC

DCT1

Huff1

11 11DCT2

Huff2

11 11DCT3

Huff3

11 11DCT4

Huff4

11 11DCT5

Huff5

11 11DCT6

Huff6

11 11

CS

write

a0

a1

a2

a9

a8

a4

a3

a5

a6

a7

▶ DeSyDe now finds a schedule after 5 seconds and prove its optimality after 20 minutes.

15 / 18

Page 55: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

Ongoing research and Future plans

▶ Use the knowledge gained with streaming application models to reach DSE problems withperiodic tasks formulations, akin to the motivation.

▶ Incorporating designer’s knowledge in DeSyDe as smart searches, other than fixedmappings.

▶ Use virtualization (partitioning) concepts to mix different application models into thesame platform.

▶ Incorporate platform exploration into the DSE framework.

16 / 18

Page 56: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

References

K. Rosvall, T. Mohammadat, G. Ungureanu, J. Öberg, and I. Sander.Exploring Power and Throughput for Dataflow Applications on Predictable NoCMultiprocessors.In 2018 21st Euromicro Conference on Digital System Design (DSD), pages 719–726,August 2018.Kathrin Rosvall and Ingo Sander.Flexible and Tradeoff-Aware Constraint-Based Design Space Exploration for StreamingApplications on Heterogeneous Platforms.ACM Trans. Des. Autom. Electron. Syst., 23(2):21:1–21:26, November 2017.

17 / 18

Page 57: Applying Constraint Programming for Design Space ... · process1 process2 32 process4 32 process8 32 64 process3 32 32 32 64 64 64 process5 16 16 process6 16 process7 16 16 8 8 8

Thank you!

(much) more in the ForSyDe webpage!https://forsyde.github.io/

18 / 18