Skip to main content
Log in

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

  • Special Issue Paper
  • Published:
Computer Science - Research and Development

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

Similar content being viewed by others

References

  1. Sandy Bridge (2013). http://ark.intel.com/products/64610/Intel-Xeon-Processor-E5-2450L-20M-Cache-100-GTs-Intel-QPI. Accessed 8 Apr 2013

  2. AMD Kaveri (2013). http://www.amd.com/en-us/products/processors/desktop/a-series-apu. Accessed 1 Jun 2013

  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–114

  4. Bell G (2008) Bell’s law for the birth and death of computer classes. Commun ACM 51(1):86–94

    Article  Google Scholar 

  5. Wolf W (2007) High-performance embedded computing: architectures, applications and methodologies. Morgan Kaufmann, San Francisco

  6. Rajovic N et al (2013) Tibidabo: making the case for an ARM-based HPC system. Future generation computer systems. Elsevier, Amsterdam

  7. Shalf J, Dosanjh S, Morrison J (2011) Exascale computing technology challenges. In: Proceedings of the VECPAR’10, pp 1–25

  8. Adiga NR et al (2002) An overview of the BlueGene/L supercomputer. In: Proceedings of the ACM/IEEE supercomputing conference, p 60

  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–154

  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 conference

  11. Moloney D (2011) 1TOPS/W software programmable media processor. HotChips HC23, Stanford

  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–1340

  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–364

  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 systems

  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 symposium

  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–143

  17. Michael MM, Scott ML (1996) Simple, fast, and practical non-blocking and blocking concurrent queue algorithms. In: Proceedings of the PODC, pp 267–275

  18. Nvidia Tegra K1 mobile processor (2014). http://www.nvidia.com/object/tegra-k1-processor.html. Accessed 6 Jan 2014

  19. nCore supercomputer (2013). http://www.ncorehpc.com/browndwarf. Accessed 17 Jan 2013

  20. Project Tango (2014). https://www.google.com/atap/projecttango. Accessed 21 Feb 2014

Download references

Acknowledgments

This work was supported by the EC through the FP7 IST Project 611183, EXCESS (Execution Models for Energy-Efficient Computing Systems).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Lazaros Papadopoulos.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Papadopoulos, L., Walulya, I., Renaud-Goud, P. et al. Performance and power consumption evaluation of concurrent queue implementations in embedded systems. Comput Sci Res Dev 30, 165–175 (2015). https://doi.org/10.1007/s00450-014-0261-0

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00450-014-0261-0

Keywords

Navigation