Vincent Nelis, Patrick Meumeu Yomsi, Luís Miguel...

27
Vincent Nelis, Patrick Meumeu Yomsi, Luís Miguel Pinho 7/3/2017

Transcript of Vincent Nelis, Patrick Meumeu Yomsi, Luís Miguel...

Page 1: Vincent Nelis, Patrick Meumeu Yomsi, Luís Miguel Pinhoembedded.cs.uni-saarland.de/wcet-presentations/... · • Coordinator: Luis Miguel Pinho, CISTER Research Centre, ISEP • Partners

Vincent Nelis, Patrick Meumeu Yomsi, Luís Miguel Pinho

7/3/2017

Page 2: Vincent Nelis, Patrick Meumeu Yomsi, Luís Miguel Pinhoembedded.cs.uni-saarland.de/wcet-presentations/... · • Coordinator: Luis Miguel Pinho, CISTER Research Centre, ISEP • Partners

• P-SOCRATES: Parallel SOftware framework for time-CRitical mAny-core sysTEmS• Three-year FP7 STREP project (Oct-2013, Set-2016)• Website: www.p-socrates.eu• Budget: 3.6 M€• Coordinator: Luis Miguel Pinho, CISTER Research Centre, ISEP• Partners

• Industrial Advisory Board

City of Bratislava

Page 3: Vincent Nelis, Patrick Meumeu Yomsi, Luís Miguel Pinhoembedded.cs.uni-saarland.de/wcet-presentations/... · • Coordinator: Luis Miguel Pinho, CISTER Research Centre, ISEP • Partners

3 application use-cases– Online ads selection system– Data extraction from images– Complex Event Processing Engine

Need High Computing Performance – Software Parallelization Æ openMP 4.0– Parallel processing (multi-cores) Æ Kalray MPPA-256– Optimized hardware configuration

Need for guaranteed performance (not safety-critical)

7/3/2017 A CISTER Template

Page 4: Vincent Nelis, Patrick Meumeu Yomsi, Luís Miguel Pinhoembedded.cs.uni-saarland.de/wcet-presentations/... · • Coordinator: Luis Miguel Pinho, CISTER Research Centre, ISEP • Partners

4

Timing objectives

Performance requirements

Page 5: Vincent Nelis, Patrick Meumeu Yomsi, Luís Miguel Pinhoembedded.cs.uni-saarland.de/wcet-presentations/... · • Coordinator: Luis Miguel Pinho, CISTER Research Centre, ISEP • Partners

5

Page 6: Vincent Nelis, Patrick Meumeu Yomsi, Luís Miguel Pinhoembedded.cs.uni-saarland.de/wcet-presentations/... · • Coordinator: Luis Miguel Pinho, CISTER Research Centre, ISEP • Partners

6

Page 7: Vincent Nelis, Patrick Meumeu Yomsi, Luís Miguel Pinhoembedded.cs.uni-saarland.de/wcet-presentations/... · • Coordinator: Luis Miguel Pinho, CISTER Research Centre, ISEP • Partners

7/3/2017 A CISTER Template

Worst input data sets+

Worst resource availability=

Worst execution conditions

Page 8: Vincent Nelis, Patrick Meumeu Yomsi, Luís Miguel Pinhoembedded.cs.uni-saarland.de/wcet-presentations/... · • Coordinator: Luis Miguel Pinho, CISTER Research Centre, ISEP • Partners

7/3/2017 A CISTER Template

Worst input data sets+

Best resource availability

Æ Understand the importance of the impact of the shared resources

Page 9: Vincent Nelis, Patrick Meumeu Yomsi, Luís Miguel Pinhoembedded.cs.uni-saarland.de/wcet-presentations/... · • Coordinator: Luis Miguel Pinho, CISTER Research Centre, ISEP • Partners

7/3/2017 A CISTER Template

Not one but two WCET estimates

Isolation mode

Contention mode

Page 10: Vincent Nelis, Patrick Meumeu Yomsi, Luís Miguel Pinhoembedded.cs.uni-saarland.de/wcet-presentations/... · • Coordinator: Luis Miguel Pinho, CISTER Research Centre, ISEP • Partners

task

task task task

task task task

task task task

task

TIME

Page 11: Vincent Nelis, Patrick Meumeu Yomsi, Luís Miguel Pinhoembedded.cs.uni-saarland.de/wcet-presentations/... · • Coordinator: Luis Miguel Pinho, CISTER Research Centre, ISEP • Partners

task

TIME

task task task

task task task

task task task

task

WCETISO

Page 12: Vincent Nelis, Patrick Meumeu Yomsi, Luís Miguel Pinhoembedded.cs.uni-saarland.de/wcet-presentations/... · • Coordinator: Luis Miguel Pinho, CISTER Research Centre, ISEP • Partners

task task task task task task task tasktask task task task task task task task task task tasktask task task task task

16-02-2017 P-SOCRATES (Grant agreement nº 611016)

TIME

Interference generator (IG)

Interference generator (IG)

Interference generator (IG)

task task task task

Big difference between WCET-ISO and WCET-CONT

WCETCONT

Page 13: Vincent Nelis, Patrick Meumeu Yomsi, Luís Miguel Pinhoembedded.cs.uni-saarland.de/wcet-presentations/... · • Coordinator: Luis Miguel Pinho, CISTER Research Centre, ISEP • Partners

16-02-2017 P-SOCRATES (Grant agreement nº 611016)

#pragma omp parallel{

#pragma omp master{

(Some initialization code)#pragma omp task

{Some code for the task}#pragma omp task

{Some code for the task}(Some more code)

}

}

#include "timing.h"TIMING_ANALYSIS_INIT();#pragma omp parallel{

#pragma omp master{

TIMING_BEGIN_OF_OMP_MASTER();(Some initialization code)#pragma omp task

{Some code for the task}#pragma omp task

{Some code for the task}(Some more code)TIMING_END_OF_OMP_MASTER();

}TIMING_END_OF_OMP_PARALLEL();

}TIMING_ANALYSIS_END();

Page 14: Vincent Nelis, Patrick Meumeu Yomsi, Luís Miguel Pinhoembedded.cs.uni-saarland.de/wcet-presentations/... · • Coordinator: Luis Miguel Pinho, CISTER Research Centre, ISEP • Partners

16-02-2017 P-SOCRATES (Grant agreement nº 611016)

Page 15: Vincent Nelis, Patrick Meumeu Yomsi, Luís Miguel Pinhoembedded.cs.uni-saarland.de/wcet-presentations/... · • Coordinator: Luis Miguel Pinho, CISTER Research Centre, ISEP • Partners

16-02-2017 P-SOCRATES (Grant agreement nº 611016)

SchedCONT

ExtractWCET-CONT

Compiler phase

010001011001011100110

Compiler (BSC)

for(int i=0; i<3; i++) {for(int j=0; j<3; j++) {

if(i==0 && j==0) { // Task T1#pragma omp task depend(inout:m[i][j])

compute_block(i, j); } else if (i == 0) { // Task T2#pragma omp task depend(in:m[i][j-1], inout:m[i][j])

compute_block(i, j); } else if (j == 0) { // Task T3#pragma omp task depend(in:m[i-1][j], inout:m[i][j])

compute_block(i, j); } else { // Task T4#pragma omp task depend(in:m[i-1][j],m[i][j-1],

m[i-1][j-1], inout:m[i][j])compute_block(i, j);

Annotate the graph with the WCET in CONTENTION

WCET-CONT

SUCCESS!

Nothing we can do…

Page 16: Vincent Nelis, Patrick Meumeu Yomsi, Luís Miguel Pinhoembedded.cs.uni-saarland.de/wcet-presentations/... · • Coordinator: Luis Miguel Pinho, CISTER Research Centre, ISEP • Partners

SchedCONT

MapCONT

WCET-CONT

16-02-2017 P-SOCRATES (Grant agreement nº 611016)

ExtractWCET-CONT

for(int i=0; i<3; i++) {for(int j=0; j<3; j++) {

if(i==0 && j==0) { // Task T1#pragma omp task depend(inout:m[i][j])

compute_block(i, j); } else if (i == 0) { // Task T2#pragma omp task depend(in:m[i][j-1], inout:m[i][j])

compute_block(i, j); } else if (j == 0) { // Task T3#pragma omp task depend(in:m[i-1][j], inout:m[i][j])

compute_block(i, j); } else { // Task T4#pragma omp task depend(in:m[i-1][j],m[i][j-1],

m[i-1][j-1], inout:m[i][j])compute_block(i, j);

Compiler (BSC)

010001011001011100110

Annotate the graph with the WCET in CONTENTION

WCET-CONT

SUCCESS!

Page 17: Vincent Nelis, Patrick Meumeu Yomsi, Luís Miguel Pinhoembedded.cs.uni-saarland.de/wcet-presentations/... · • Coordinator: Luis Miguel Pinho, CISTER Research Centre, ISEP • Partners

16-02-2017 P-SOCRATES (Grant agreement nº 611016)

ExtractWCET-CONT

for(int i=0; i<3; i++) {for(int j=0; j<3; j++) {

if(i==0 && j==0) { // Task T1#pragma omp task depend(inout:m[i][j])

compute_block(i, j); } else if (i == 0) { // Task T2#pragma omp task depend(in:m[i][j-1], inout:m[i][j])

compute_block(i, j); } else if (j == 0) { // Task T3#pragma omp task depend(in:m[i-1][j], inout:m[i][j])

compute_block(i, j); } else { // Task T4#pragma omp task depend(in:m[i-1][j],m[i][j-1],

m[i-1][j-1], inout:m[i][j])compute_block(i, j);

Compiler (BSC)

010001011001011100110

Map CONT

SchedCONT

WCET-CONT

Annotate the graph with the WCET in CONTENTION

WCET-CONT

Page 18: Vincent Nelis, Patrick Meumeu Yomsi, Luís Miguel Pinhoembedded.cs.uni-saarland.de/wcet-presentations/... · • Coordinator: Luis Miguel Pinho, CISTER Research Centre, ISEP • Partners

16-02-2017 P-SOCRATES (Grant agreement nº 611016)

SchedISO

Map ISO

WCET-ISO

ExtractWCET-

ISO

010001011001011100110

Map CONT

SchedCONT.

FAILURE!

WCET-CONT

Annotate the graph with the WCET in ISOLATION

WCET-ISO

Page 19: Vincent Nelis, Patrick Meumeu Yomsi, Luís Miguel Pinhoembedded.cs.uni-saarland.de/wcet-presentations/... · • Coordinator: Luis Miguel Pinho, CISTER Research Centre, ISEP • Partners

16-02-2017 P-SOCRATES (Grant agreement nº 611016)

Sched ISO

Map ISO

WCET-ISO

ExtractWCET-

ISO

010001011001011100110

Map CONT

SchedCONT

WCET-CONT

Annotate the graph with the WCET in ISOLATION

WCET-ISO

Page 20: Vincent Nelis, Patrick Meumeu Yomsi, Luís Miguel Pinhoembedded.cs.uni-saarland.de/wcet-presentations/... · • Coordinator: Luis Miguel Pinho, CISTER Research Centre, ISEP • Partners

SchedRUN

WCET-RUNMap RUN

WCET-RUN

SUCCESS!

SchedRUN

WCET-RUN

SchedISO

Map ISO

WCET-ISO

ExtractWCETRUN

010001011001011100110

Annotate the graph with the WCET observed

WCET-RUN

ID time //

INFO

Page 21: Vincent Nelis, Patrick Meumeu Yomsi, Luís Miguel Pinhoembedded.cs.uni-saarland.de/wcet-presentations/... · • Coordinator: Luis Miguel Pinho, CISTER Research Centre, ISEP • Partners

• Two sets of results:– On the MPPA Andey– One the MPPA Bostan

Page 22: Vincent Nelis, Patrick Meumeu Yomsi, Luís Miguel Pinhoembedded.cs.uni-saarland.de/wcet-presentations/... · • Coordinator: Luis Miguel Pinho, CISTER Research Centre, ISEP • Partners

23-10-2013

PLATFORM SETTINGS High-perf Low-perf

Activate the D-cache Yes No

Invalidate the D-cache before running each task No -

D-cache: Stall on access No Yes

Activate the I-cache Yes No

Invalidate the I-cache before running each task No -

Memory mapping Interleaved Sequential

Page 23: Vincent Nelis, Patrick Meumeu Yomsi, Luís Miguel Pinhoembedded.cs.uni-saarland.de/wcet-presentations/... · • Coordinator: Luis Miguel Pinho, CISTER Research Centre, ISEP • Partners

Isolation

High-performance Low-performance

Max = 523 M Max = 3.071 M

Variation = 377 k (0,07%) Variation = 1 M (0,03%)

Contention

High-performance Low-performance

Max = 527 M Max = 27.925 M

Variation = 710 k (0,13%) Variation = 12 M (0,04%)

Page 24: Vincent Nelis, Patrick Meumeu Yomsi, Luís Miguel Pinhoembedded.cs.uni-saarland.de/wcet-presentations/... · • Coordinator: Luis Miguel Pinho, CISTER Research Centre, ISEP • Partners

• We couldn’t reproduce the same experiments

• Use of printf() for generating interferenceÆDisastrous results: slow down of up to

1000x

7/3/2017 A CISTER Template

Page 25: Vincent Nelis, Patrick Meumeu Yomsi, Luís Miguel Pinhoembedded.cs.uni-saarland.de/wcet-presentations/... · • Coordinator: Luis Miguel Pinho, CISTER Research Centre, ISEP • Partners

• The 3 application use-cases have been tested

• Overall, results seemed to confirm that static mapping and scheduling leads to less performance at runtime but more accurate analysis (the blame is on the schedulability analysis)Æ Over-estimation of carry-in and carry-outÆ New results on the way (RTSS?)

7/3/2017 A CISTER Template

Page 26: Vincent Nelis, Patrick Meumeu Yomsi, Luís Miguel Pinhoembedded.cs.uni-saarland.de/wcet-presentations/... · • Coordinator: Luis Miguel Pinho, CISTER Research Centre, ISEP • Partners

Investigate statistical approaches (Already fully compatible with DiagXTrem)

16-02-2017 P-SOCRATES (Grant agreement nº 611016)

5435 ms5678 ms4876 ms3874 ms7624 ms…

ISO or CONT

StationarityStationarity of the extremeIndependenceIndependence of the extreme…

Apply the EVT

WCET - ISOor WCET - CONT

Page 27: Vincent Nelis, Patrick Meumeu Yomsi, Luís Miguel Pinhoembedded.cs.uni-saarland.de/wcet-presentations/... · • Coordinator: Luis Miguel Pinho, CISTER Research Centre, ISEP • Partners

16-02-2017 P-SOCRATES (Grant agreement nº 611016)