Performance and power consumption evaluation of concurrent queue implementations in embedded systems

Computer Science - Research and Development - Tập 30 - Trang 165-175 - 2014
Lazaros Papadopoulos1, Ivan Walulya2, Paul Renaud-Goud2, Philippas Tsigas2, Dimitrios Soudris1, Brendan Barry3
1School of Electrical and Computer Engineering, National Technical University of Athens, Athens, Greece
2Computer Science and Engineering, Chalmers University of Technology, Gothenburg, Sweden
3Movidius Ltd., Dublin, Ireland

Tóm tắt

Embedded and high performance computing (HPC) systems face many common challenges. One of them is the synchronization of the memory accesses in shared data. Concurrent queues have been extensively studied in the HPC domain and they are used in a wide variety of HPC applications. In this work, we evaluate a set of concurrent queue implementations in an embedded platform, in terms of execution time and power consumption. Our results show that by taking advantage of the embedded platform specifications, we achieve up to 28.2 % lower execution time and 6.8 % less power dissipation in comparison with the conventional lock-based queue implementation. We show that HPC applications utilizing concurrent queues can be efficiently implemented in embedded systems and that synchronization algorithms from the HPC domain can lead to optimal resource utilization of embedded platforms.

Tài liệu tham khảo

Sandy Bridge (2013). http://ark.intel.com/products/64610/Intel-Xeon-Processor-E5-2450L-20M-Cache-100-GTs-Intel-QPI. Accessed 8 Apr 2013 AMD Kaveri (2013). http://www.amd.com/en-us/products/processors/desktop/a-series-apu. Accessed 1 Jun 2013 Yang Y, Xiang P, Mantor M, Zhou H (2012) CPU-assisted GPGPU on fused CPU–GPU architectures. In: Proceedings of the HPCA, pp 103–114 Bell G (2008) Bell’s law for the birth and death of computer classes. Commun ACM 51(1):86–94 Wolf W (2007) High-performance embedded computing: architectures, applications and methodologies. Morgan Kaufmann, San Francisco Rajovic N et al (2013) Tibidabo: making the case for an ARM-based HPC system. Future generation computer systems. Elsevier, Amsterdam Shalf J, Dosanjh S, Morrison J (2011) Exascale computing technology challenges. In: Proceedings of the VECPAR’10, pp 1–25 Adiga NR et al (2002) An overview of the BlueGene/L supercomputer. In: Proceedings of the ACM/IEEE supercomputing conference, p 60 Petrovic D, Ropars T, Schiper A (2014) Leveraging hardware message passing for efficient thread synchronization. In: Proceedings of the symposium on principles and practice of parallel programming, pp 143–154 Lozi JP, David F, Thomas G, Lawall J, Muller G (2012) Remote core locking: migrating critical-section execution to improve the performance of multithreaded applications. In: Proceedings of the USENIX annual technical conference Moloney D (2011) 1TOPS/W software programmable media processor. HotChips HC23, Stanford Guenter B, Jain N, Williams C (2011) Managing cost, performance, and reliability tradeoffs for energy-aware server provisioning. In: Proceedings of the INFOCOM, pp 1332–1340 Hendler D, Incze I, Shavit N, Tzafrir M (2010) Flat combining and the synchronization-parallelism tradeoff. In: Proceedings of the annual ACM symposium on parallel algorithms and architectures, pp 355–364 Gramoli V, Guerraoui R, Trigonakis V (2012) TM2C: a software transactional memory for many-cores. In: Proceedings of the ACM European conference on computer systems Abellan JL, Fernandez J, Acacio ME (2011) GLocks: efficient support for highly-contended locks in many-core CMPs. In: Proceedings of the IEEE international parallel and distributed processing symposium Tsigas P, Zhang Y (2001) A simple, fast and scalable non-blocking concurrent FIFO queue for shared memory multiprocessor systems. In: Proceedings of the annual ACM symposium on parallel algorithms and architectures, pp 134–143 Michael MM, Scott ML (1996) Simple, fast, and practical non-blocking and blocking concurrent queue algorithms. In: Proceedings of the PODC, pp 267–275 Nvidia Tegra K1 mobile processor (2014). http://www.nvidia.com/object/tegra-k1-processor.html. Accessed 6 Jan 2014 nCore supercomputer (2013). http://www.ncorehpc.com/browndwarf. Accessed 17 Jan 2013 Project Tango (2014). https://www.google.com/atap/projecttango. Accessed 21 Feb 2014