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

  • Lazaros Papadopoulos
  • Ivan Walulya
  • Paul Renaud-Goud
  • Philippas Tsigas
  • Dimitrios Soudris
  • Brendan Barry
Special Issue Paper

Abstract

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.

Keywords

Multicore platforms Concurrent data structures Lock-free 

References

  1. 1.
  2. 2.
  3. 3.
    Yang Y, Xiang P, Mantor M, Zhou H (2012) CPU-assisted GPGPU on fused CPU–GPU architectures. In: Proceedings of the HPCA, pp 103–114Google Scholar
  4. 4.
    Bell G (2008) Bell’s law for the birth and death of computer classes. Commun ACM 51(1):86–94CrossRefGoogle Scholar
  5. 5.
    Wolf W (2007) High-performance embedded computing: architectures, applications and methodologies. Morgan Kaufmann, San FranciscoGoogle Scholar
  6. 6.
    Rajovic N et al (2013) Tibidabo: making the case for an ARM-based HPC system. Future generation computer systems. Elsevier, AmsterdamGoogle Scholar
  7. 7.
    Shalf J, Dosanjh S, Morrison J (2011) Exascale computing technology challenges. In: Proceedings of the VECPAR’10, pp 1–25Google Scholar
  8. 8.
    Adiga NR et al (2002) An overview of the BlueGene/L supercomputer. In: Proceedings of the ACM/IEEE supercomputing conference, p 60Google Scholar
  9. 9.
    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–154Google Scholar
  10. 10.
    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 conferenceGoogle Scholar
  11. 11.
    Moloney D (2011) 1TOPS/W software programmable media processor. HotChips HC23, StanfordGoogle Scholar
  12. 12.
    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–1340Google Scholar
  13. 13.
    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–364Google Scholar
  14. 14.
    Gramoli V, Guerraoui R, Trigonakis V (2012) TM2C: a software transactional memory for many-cores. In: Proceedings of the ACM European conference on computer systemsGoogle Scholar
  15. 15.
    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 symposiumGoogle Scholar
  16. 16.
    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–143Google Scholar
  17. 17.
    Michael MM, Scott ML (1996) Simple, fast, and practical non-blocking and blocking concurrent queue algorithms. In: Proceedings of the PODC, pp 267–275Google Scholar
  18. 18.
    Nvidia Tegra K1 mobile processor (2014). http://www.nvidia.com/object/tegra-k1-processor.html. Accessed 6 Jan 2014
  19. 19.
    nCore supercomputer (2013). http://www.ncorehpc.com/browndwarf. Accessed 17 Jan 2013
  20. 20.
    Project Tango (2014). https://www.google.com/atap/projecttango. Accessed 21 Feb 2014

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  • Lazaros Papadopoulos
    • 1
  • Ivan Walulya
    • 2
  • Paul Renaud-Goud
    • 2
  • Philippas Tsigas
    • 2
  • Dimitrios Soudris
    • 1
  • Brendan Barry
    • 3
  1. 1.School of Electrical and Computer EngineeringNational Technical University of AthensAthensGreece
  2. 2.Computer Science and EngineeringChalmers University of TechnologyGothenburgSweden
  3. 3.Movidius Ltd.DublinIreland

Personalised recommendations