Issue No. 07 - July (2016 vol. 65)
Lazaros Papadopoulos , School of Electrical and Computer Engineering, National Technical University of Athens, Athens, Greece
Ivan Walulya , School of Computer Science and Engineering, Chalmers University of Technology, Gothenburg, Sweden
Philippas Tsigas , School of Computer Science and Engineering, Chalmers University of Technology, Gothenburg, Sweden
Dimitrios Soudris , School of Electrical and Computer Engineering, National Technical University of Athens, Athens, Greece
Modern multicore embedded systems often execute applications that rely heavily on concurrent data structures. The selection of efficient concurrent data structure implementations for a specific application is usually a complex and time consuming task, because each design decision often affects the performance and the energy consumption of the embedded system in various and occasionally unpredictable ways. The complexity is normally addressed by developers by adopting ad-hoc design solutions, which are often suboptimal and yield poor results. To face this problem, we propose a semi-automated methodology for the optimization of applications that utilize concurrent data structures that is based on design space exploration. The proposed approach is evaluated by using both microbenchmarks and real-world applications that are executed on multicore embedded systems with different architectural specifications. Our results show that we can identify various trade-offs between different data structure implementations that can be used to optimize applications that rely on concurrent data structures.
Data structures, Synchronization, Decision trees, Systematics, Optimization, Embedded systems, Message systems
L. Papadopoulos, I. Walulya, P. Tsigas and D. Soudris, "A Systematic Methodology for Optimization of Applications Utilizing Concurrent Data Structures," in IEEE Transactions on Computers, vol. 65, no. 7, pp. 2019-2031, 2016.