PL EN


Preferencje help
Widoczny [Schowaj] Abstrakt
Liczba wyników
Tytuł artykułu

A simple multithreaded C++ framework for high-performance data acquisition systems

Treść / Zawartość
Identyfikatory
Warianty tytułu
Języki publikacji
EN
Abstrakty
EN
The data acquisition systems must be capable of process all the data produced by the source to ensure the highest level of accuracy, especially when it deals with hard real-time system monitoring task. However, the production of data is faster than the process to acquire and to process such a data. Using concurrency approach is an alternative to obtain the required level of performance and data processing. This paper presents the comparison between various C++ frameworks that by using multithreading technology and ringbuffer data structure allow data transfer in concurrent way. The comparison is based on the time interval between the instant when data is published and the instant when the data is gathered. These latency measurements have been taken using the configuration of one producer and two consumers for all evaluated frameworks. The results show that using standard C++ libraries to develop a simple framework it is possible to achieve suitable performance in order to fulfill the requirements of the high performance data acquisition systems described.
Twórcy
autor
  • Department of Microelectronics and Computer Science, Lodz University of Technology, ul. Wolczanska 221/223, 90-924 Lodz, Poland
autor
  • Department of Microelectronics and Computer Science, Lodz University of Technology, ul. Wolczanska 221/223, 90-924 Lodz, Poland
  • Department of Microelectronics and Computer Science, Lodz University of Technology, ul. Wolczanska 221/223, 90-924 Lodz, Poland
  • Department of Microelectronics and Computer Science, Lodz University of Technology, ul. Wolczanska 221/223, 90-924 Lodz, Poland
Bibliografia
  • [1] B. Stroustrup, The C++ Programming Language, Fourth Edition, Pearson Education Inc., 2013.
  • [2] A. Williams, C++ Concurrency in Action, Manning Publications Co, 2012.
  • [3] LMAX-Exchange Disruptor, Source: https://lmax-exchange.github.io/disruptor/
  • [4] Implementation of the LMAX Disruptor pattern in C++, Source: http://sourceforge.net/projects/cxxdisruptor/
  • [5] M. Aldinucci, M. Danelutto, P. Kilpatrick, and M. Torquati, “FastFlow: high-level and efficient streaming on multi-core,” in Programming Multi-core and Many-core Computing Systems, S. Pllana and F. Xhafa, Ed., Wiley, 2014.
  • [6] M. Aldinucci, M. Danelutto, P. Kilpatrick, M. Meneghin, and M. Torquati. Accelerating code on multi- cores with fastflow. In Proc. of 17th Intl. Euro-Par 2011 Parallel Processing, volume 6853 of LNCS, pages 170–181, Bordeaux, France, Aug. 2011. Springer.
  • [7] V. Martin, V. Moncada, J.-M. Travere. Challenges of Video Monitoring for Phenomenological Diagnostics in Present and Future Tokamaks. 2011.
  • [8] EoSens® 3CL Camera Manual, Rev. 1.01, Copyright © 2010 Mikrotron GmbH.
  • [9] H. Kopetz, Real-Time Systems, Design Principles for Distributed Embedded Applications. Second Edition, Chaper 1, Springer, 2011.
  • [10] M. Mitchell, J. Oldham, A. Samuel, Advanced Linux Programming, First Edition, New Riders Publishing, 2001.
  • [11] TIFF Revision 6.0, Adobe Developers Association, 1992.
Typ dokumentu
Bibliografia
Identyfikator YADDA
bwmeta1.element.baztech-758e8a14-d3a5-46b5-a27b-974cbe684619
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.