str2rts: refactored streamit benchmarks into statically...

22
Institut de Recherche en Informatique et Systèmes Aléatoires Benjamin Rouxel Isabelle Puaut [email protected] [email protected] STR2RTS: Refactored StreamIT benchmarks into statically analyzable parallel benchmarks for WCET estimation & real-time scheduling

Upload: others

Post on 19-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: STR2RTS: Refactored StreamIT benchmarks into statically …embedded.cs.uni-saarland.de/wcet-presentations/STR2RTS.pdf · 2017-06-28 · [1] Enrico Bini and Giorgio C Bu‘azzo. Measuring

Institut de Recherche en Informatique et Systèmes Aléatoires

Benjamin Rouxel Isabelle Puaut [email protected] [email protected]

STR2RTS: Refactored StreamIT benchmarks into statically analyzable parallel benchmarks for WCET estimation & real-time scheduling

Page 2: STR2RTS: Refactored StreamIT benchmarks into statically …embedded.cs.uni-saarland.de/wcet-presentations/STR2RTS.pdf · 2017-06-28 · [1] Enrico Bini and Giorgio C Bu‘azzo. Measuring

2/20

Context

Mul$-coreembeddedreal-$mesystems

Scheduling/mappingapplica$onsontargetarchitecture

Needtoevaluatenewscheduling/mappingtechniques

Page 3: STR2RTS: Refactored StreamIT benchmarks into statically …embedded.cs.uni-saarland.de/wcet-presentations/STR2RTS.pdf · 2017-06-28 · [1] Enrico Bini and Giorgio C Bu‘azzo. Measuring

3/20

Scheduling algorithms evaluation

Ø SchedulabilityanalysisUsemathema$calformulastoproveschedulability

Ø Implementa$on-based•  Virtual:Simulatetheschedule’sresultfromalgorithm•  Real:ImplementtheschedulingalgorithmonaplaDorm

Task-setrequiredatanyevalua$onlevel

Page 4: STR2RTS: Refactored StreamIT benchmarks into statically …embedded.cs.uni-saarland.de/wcet-presentations/STR2RTS.pdf · 2017-06-28 · [1] Enrico Bini and Giorgio C Bu‘azzo. Measuring

4/20

High-levelrequirements

Ø Unbiasedtask-setØ Representa$vecaseØ Mustbereproducible/reusablebyothersØ Independentfrompar$cularrun$me/architecture

Page 5: STR2RTS: Refactored StreamIT benchmarks into statically …embedded.cs.uni-saarland.de/wcet-presentations/STR2RTS.pdf · 2017-06-28 · [1] Enrico Bini and Giorgio C Bu‘azzo. Measuring

5/20

Taskmodelproper$es

Ø Dependentand/orIndependentØ Periodicand/orSporadicØ Single-/Mul$-graphØ Mixed-cri$cality

Page 6: STR2RTS: Refactored StreamIT benchmarks into statically …embedded.cs.uni-saarland.de/wcet-presentations/STR2RTS.pdf · 2017-06-28 · [1] Enrico Bini and Giorgio C Bu‘azzo. Measuring

6/20

Task-levelproper$es

Ø Worst-CaseExecu$onTime(WCET)(sourcecode,loopbounds,...)

Ø MemorydemandØ PeriodicityØ DeadlineØ Precedencerela$onshipØ ...

Page 7: STR2RTS: Refactored StreamIT benchmarks into statically …embedded.cs.uni-saarland.de/wcet-presentations/STR2RTS.pdf · 2017-06-28 · [1] Enrico Bini and Giorgio C Bu‘azzo. Measuring

7/20

UsableExis$ngSolu$onsSummarySynthetic Real application

Independent Uunifast [1] Task-set generator from TACleBench [3]

Periodic

Uunifast [1] Mälardalen [4] combination

Sporadic

Dependent TGFF [2] Debie [5], Papabench [6], Rosace [7]

Single-graph

TGFF [2] Multi-graph

Page 8: STR2RTS: Refactored StreamIT benchmarks into statically …embedded.cs.uni-saarland.de/wcet-presentations/STR2RTS.pdf · 2017-06-28 · [1] Enrico Bini and Giorgio C Bu‘azzo. Measuring

8/20

Otherexis$ngbenchmarkssuites

Ø Nodesignformul$-coreØ NostructuredCsourcecodeØ Noiden$fiedTasksanddependencyØ Underlicence

TACleBenchsuite:notenoughparallelbenchmarks

SPECCPU2006,PolyBench,ParMiBench,JemBench,ParaSuite,StreamIT,Parsec,UTDSP,...

Page 9: STR2RTS: Refactored StreamIT benchmarks into statically …embedded.cs.uni-saarland.de/wcet-presentations/STR2RTS.pdf · 2017-06-28 · [1] Enrico Bini and Giorgio C Bu‘azzo. Measuring

STR2RTS:STReamittoRealTimeSystem

Page 10: STR2RTS: Refactored StreamIT benchmarks into statically …embedded.cs.uni-saarland.de/wcet-presentations/STR2RTS.pdf · 2017-06-28 · [1] Enrico Bini and Giorgio C Bu‘azzo. Measuring

10/20

StreamITbackground

Programminglanguage&compila$oninfrastructureBenchmarksuite

Sta$cstructureofstreamingapplica$ons graphoffilters(fork-joingraph)

Fixeddata-rateknownatcompile$meMul$-levelexploitableparallelism

data,task,itera$onparallelism(pipelining)

Page 11: STR2RTS: Refactored StreamIT benchmarks into statically …embedded.cs.uni-saarland.de/wcet-presentations/STR2RTS.pdf · 2017-06-28 · [1] Enrico Bini and Giorgio C Bu‘azzo. Measuring

11/20

ExampleofStreamItbenchmark:radix-2caseofaFastFourierTransform

Page 12: STR2RTS: Refactored StreamIT benchmarks into statically …embedded.cs.uni-saarland.de/wcet-presentations/STR2RTS.pdf · 2017-06-28 · [1] Enrico Bini and Giorgio C Bu‘azzo. Measuring

12/20

Whatwepropose

Dependenttasksrepresentedbyasingle-graph adescrip$onofthetask’sdependency(XMLfile)

Everyinforma$ontocomputeasta$cWCETisavailablestructuredCsourcecode,loopbounds(Csourcefile)

Page 13: STR2RTS: Refactored StreamIT benchmarks into statically …embedded.cs.uni-saarland.de/wcet-presentations/STR2RTS.pdf · 2017-06-28 · [1] Enrico Bini and Giorgio C Bu‘azzo. Measuring

13/20

ExampleofSTR2RTSbenchmark:radix-2caseofaFastFourierTransform

Page 14: STR2RTS: Refactored StreamIT benchmarks into statically …embedded.cs.uni-saarland.de/wcet-presentations/STR2RTS.pdf · 2017-06-28 · [1] Enrico Bini and Giorgio C Bu‘azzo. Measuring

14/20

ExampleofSTR2RTSbenchmark:radix-2caseofaFastFourierTransform

Page 15: STR2RTS: Refactored StreamIT benchmarks into statically …embedded.cs.uni-saarland.de/wcet-presentations/STR2RTS.pdf · 2017-06-28 · [1] Enrico Bini and Giorgio C Bu‘azzo. Measuring

15/20

ExampleofSTR2RTSbenchmark:radix-2caseofaFastFourierTransform

Page 16: STR2RTS: Refactored StreamIT benchmarks into statically …embedded.cs.uni-saarland.de/wcet-presentations/STR2RTS.pdf · 2017-06-28 · [1] Enrico Bini and Giorgio C Bu‘azzo. Measuring

16/20

Exploi$ngtheStreamITinfrastructure

Page 17: STR2RTS: Refactored StreamIT benchmarks into statically …embedded.cs.uni-saarland.de/wcet-presentations/STR2RTS.pdf · 2017-06-28 · [1] Enrico Bini and Giorgio C Bu‘azzo. Measuring

17/20

Availablebenchmarks11benchmarks

Page 18: STR2RTS: Refactored StreamIT benchmarks into statically …embedded.cs.uni-saarland.de/wcet-presentations/STR2RTS.pdf · 2017-06-28 · [1] Enrico Bini and Giorgio C Bu‘azzo. Measuring

18/20

Proper$esofavailablebenchmarks

Page 19: STR2RTS: Refactored StreamIT benchmarks into statically …embedded.cs.uni-saarland.de/wcet-presentations/STR2RTS.pdf · 2017-06-28 · [1] Enrico Bini and Giorgio C Bu‘azzo. Measuring

19/20

Howtoh`ps://gitlab.inria.fr/brouxel/STR2RTS

Page 20: STR2RTS: Refactored StreamIT benchmarks into statically …embedded.cs.uni-saarland.de/wcet-presentations/STR2RTS.pdf · 2017-06-28 · [1] Enrico Bini and Giorgio C Bu‘azzo. Measuring

20/20

Conclusion

DependenttasksSta$callyanalyzableXMLdescrip$on+structuredCsourceInspiredbyStreamIT

h`ps://gitlab.inria.fr/brouxel/STR2RTS

Page 21: STR2RTS: Refactored StreamIT benchmarks into statically …embedded.cs.uni-saarland.de/wcet-presentations/STR2RTS.pdf · 2017-06-28 · [1] Enrico Bini and Giorgio C Bu‘azzo. Measuring

[1]EnricoBiniandGiorgioCBu`azzo.Measuringtheperformanceofschedulabilitytests.Real-TimeSystems,2005.[2]RobertPDick,DavidLRhodes,andWayneWolf.Tgff:taskgraphsforfree.In6thworkshoponHardware/sohwarecodesign,1998.[3]YorickDeBock,Sebas$anAltmeyer,JanBroeckhove,andPeterHellinckx.Task-setgeneratorforschedulabilityanalysisusingthetaclebenchbenchmarksuite.Workshop:EWiLi2016.[4]JanGustafsson,AdamBe`s,AndreasErmedahl,andBjörnLisper.TheMälardalenWCETbenchmarks–past,presentandfuture.OCG2010.[5]Debie1.URL:h`ps://www.irit.fr/wiki/doku.php?id=wtc:benchmarks:debie1.[6]FadiaNemer,HuguesCassé,PascalSainrat,Jean-PaulBahsoun,andMarianneDeMichiel.Papabench:afreereal-$mebenchmark.InOASIcs-OpenAccessSeriesinInforma$cs,volume4,2006.[7]ClairePageu,DavidSaussié,RomainGra$a,EricNoulard,andPierreSiron.TheROSACECaseStudy:FromSimulinkSpecifica$ontoMul$/Many-CoreExecu$on.In20thIEEERTAS2014.

Page 22: STR2RTS: Refactored StreamIT benchmarks into statically …embedded.cs.uni-saarland.de/wcet-presentations/STR2RTS.pdf · 2017-06-28 · [1] Enrico Bini and Giorgio C Bu‘azzo. Measuring

22/20

Anecessaryhandmadestep

Ø Hardtransforma$onpassesØ Loopboundiden$fica$onØ HardtodebugcompilerØ Nomajorcommitinappsfolderongithubfor6years