2015 International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation (SAMOS) 2015
DOI: 10.1109/samos.2015.7363673
|View full text |Cite
|
Sign up to set email alerts
|

Application autotuning to support runtime adaptivity in multicore architectures

Abstract: In this work, we introduce an application autotuning framework to dynamically adapt applications in multicore architectures. In particular, the framework exploits design-time knowledge and multi-objective requirements expressed by the user, to drive the autotuning process at the runtime. It also exploits a monitoring infrastructure to get runtime feed-back and to adapt to external changing conditions. The intrusiveness of the autotuning framework in the application (in terms of refactoring and lines of code to… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
27
0

Year Published

2016
2016
2021
2021

Publication Types

Select...
3
3
2

Relationship

4
4

Authors

Journals

citations
Cited by 23 publications
(27 citation statements)
references
References 26 publications
0
27
0
Order By: Relevance
“…On one hand we use the mARGOt [35] framework to dynamically tune the application, thus implementing the 1 // Load data 2 Routing::MCSimulation mc(edgesPath, profilePath); 3 auto run result = mc.RunMonteCarloSimulation(samples, startTime); 4 ResultStats stats(run result); 5 Routing::Data::WriteResultSingle(run result, outputFile); 6 return 0; Listing 1: Original source code before integrating the adaptivity layer adaptivity concepts presented in Section 4 and thus transforming the target application as highlighted in Figure 3.…”
Section: Integration Flowmentioning
confidence: 99%
“…On one hand we use the mARGOt [35] framework to dynamically tune the application, thus implementing the 1 // Load data 2 Routing::MCSimulation mc(edgesPath, profilePath); 3 auto run result = mc.RunMonteCarloSimulation(samples, startTime); 4 ResultStats stats(run result); 5 Routing::Data::WriteResultSingle(run result, outputFile); 6 return 0; Listing 1: Original source code before integrating the adaptivity layer adaptivity concepts presented in Section 4 and thus transforming the target application as highlighted in Figure 3.…”
Section: Integration Flowmentioning
confidence: 99%
“…Other parameters (from line 4) are provided to improve several memoization approaches. For examples, the user can specify (1) the policy in case of conflicts regarding the same (lines 14-15), the method is searched (lines [17][18][19][20][21][22][23][24]. Then, in case of success, the code of the wrapper is added (line 28) to produce the memoization library, and (line 30) the code of the application is modified for calling the created "wrapper", this wrapper is also declared as a new method of the class.…”
Section: Memoizationmentioning
confidence: 99%
“…, k n ) are software-knobs that modify the behavior of the application (e.g., parallelism level or the number of trials in a MonteCarlo simulation). The main goal of mARGOt 6 [23] is to enhance an application with an adaptive layer, aiming at tuning the software knobs to satisfy the application requirements at runtime. To achieve this goal, the mARGOt dynamic autotuning framework developed in ANTAREX is based on the MAPE-K feedback loop [24].…”
Section: Self-adaptivity and Autotuningmentioning
confidence: 99%
“…In ANTAREX, at runtime, the mARGOt tool [23] configures the available software knobs (application parameters, code transformations and code variants) according to the runtime information coming from application self-monitoring and system monitoring, thus creating an autotuning control loop. Finally, the runtime power manager, PowerCapper, is used to control the resource usage for the underlying computing infrastructure given the changing conditions [24,25].…”
Section: The Antarex Approachmentioning
confidence: 99%