str2rts: refactored streamit benchmarks into statically...
TRANSCRIPT
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
2/20
Context
Mul$-coreembeddedreal-$mesystems
Scheduling/mappingapplica$onsontargetarchitecture
Needtoevaluatenewscheduling/mappingtechniques
3/20
Scheduling algorithms evaluation
Ø SchedulabilityanalysisUsemathema$calformulastoproveschedulability
Ø Implementa$on-based• Virtual:Simulatetheschedule’sresultfromalgorithm• Real:ImplementtheschedulingalgorithmonaplaDorm
Task-setrequiredatanyevalua$onlevel
4/20
High-levelrequirements
Ø Unbiasedtask-setØ Representa$vecaseØ Mustbereproducible/reusablebyothersØ Independentfrompar$cularrun$me/architecture
5/20
Taskmodelproper$es
Ø Dependentand/orIndependentØ Periodicand/orSporadicØ Single-/Mul$-graphØ Mixed-cri$cality
6/20
Task-levelproper$es
Ø Worst-CaseExecu$onTime(WCET)(sourcecode,loopbounds,...)
Ø MemorydemandØ PeriodicityØ DeadlineØ Precedencerela$onshipØ ...
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
8/20
Otherexis$ngbenchmarkssuites
Ø Nodesignformul$-coreØ NostructuredCsourcecodeØ Noiden$fiedTasksanddependencyØ Underlicence
TACleBenchsuite:notenoughparallelbenchmarks
SPECCPU2006,PolyBench,ParMiBench,JemBench,ParaSuite,StreamIT,Parsec,UTDSP,...
STR2RTS:STReamittoRealTimeSystem
10/20
StreamITbackground
Programminglanguage&compila$oninfrastructureBenchmarksuite
Sta$cstructureofstreamingapplica$ons graphoffilters(fork-joingraph)
Fixeddata-rateknownatcompile$meMul$-levelexploitableparallelism
data,task,itera$onparallelism(pipelining)
11/20
ExampleofStreamItbenchmark:radix-2caseofaFastFourierTransform
12/20
Whatwepropose
Dependenttasksrepresentedbyasingle-graph adescrip$onofthetask’sdependency(XMLfile)
Everyinforma$ontocomputeasta$cWCETisavailablestructuredCsourcecode,loopbounds(Csourcefile)
13/20
ExampleofSTR2RTSbenchmark:radix-2caseofaFastFourierTransform
14/20
ExampleofSTR2RTSbenchmark:radix-2caseofaFastFourierTransform
15/20
ExampleofSTR2RTSbenchmark:radix-2caseofaFastFourierTransform
16/20
Exploi$ngtheStreamITinfrastructure
17/20
Availablebenchmarks11benchmarks
18/20
Proper$esofavailablebenchmarks
19/20
Howtoh`ps://gitlab.inria.fr/brouxel/STR2RTS
20/20
Conclusion
DependenttasksSta$callyanalyzableXMLdescrip$on+structuredCsourceInspiredbyStreamIT
h`ps://gitlab.inria.fr/brouxel/STR2RTS
[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.
22/20
Anecessaryhandmadestep
Ø Hardtransforma$onpassesØ Loopboundiden$fica$onØ HardtodebugcompilerØ Nomajorcommitinappsfolderongithubfor6years