A Systematic Methodology for Optimization of Applications Utilizing Concurrent Data Structures
Journal article, 2016

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.

design space exploration

Concurrent data structures

performance

energy

embedded systems

Author

L. Papadopoulos

National Technical University of Athens (NTUA)

Ivan Walulya

Chalmers, Computer Science and Engineering (Chalmers), Networks and Systems (Chalmers)

Philippas Tsigas

Chalmers, Computer Science and Engineering (Chalmers), Networks and Systems (Chalmers)

D. Soudris

National Technical University of Athens (NTUA)

IEEE Transactions on Computers

0018-9340 (ISSN)

Vol. 65 7 2019-2031

Subject Categories

Computer Engineering

DOI

10.1109/TC.2015.2479604

More information

Latest update

6/8/2018 8