PL EN


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

A C++ shared-memory IPC framework for High-Throughput Data Acquisition systems

Treść / Zawartość
Identyfikatory
Warianty tytułu
Języki publikacji
EN
Abstrakty
EN
High-Throughput Data Acquisition Systems are an essential part in many scientific experiments, and the processing of the large amount of data, represents a challenge in designing systems capable of managing such volume of data. Owing to the nature of this type of experiments, the processes responsible for gathering the data from devices that measure real-world phenomena, and those processes in charge of distributing the data to monitoring and/or controlling systems, shall communicate with accuracy and reliability. By running those processes concurrently in a multi-processor computer system, such requirements of accuracy and reliability can be achieved. In this paper, we present the design of a C++ framework, which implements a ring-buffer by using shared-memory as a fast mechanism of data communication among processes. Likewise, the framework controls the access to data in the shared ring-buffer by implementing inter-process synchronization objects in shared-memory. The effectiveness of the proposed solution has been evaluated by evaluating the latency time from when a new data is written into the shared ring-buffer and the longest instant when such a data is gathered. After the experimental test, the results show that it is possible to develop a C++ framework for helping programmers to create data acquisition system when a high-throughput data-stream is involved, getting suitable performance by using shared-memory.
Twórcy
autor
  • Department of Microelectronics and Computer Science, Lodz University of Technology, ul. Wólczańska 221/223, 90-924 Lodz, Poland
  • Department of Microelectronics and Computer Science, Lodz University of Technology, ul. Wólczańska 221/223, 90-924 Lodz, Poland
  • Department of Microelectronics and Computer Science, Lodz University of Technology, ul. Wólczańska 221/223, 90-924 Lodz, Poland
Bibliografia
  • [1] J. Park and S. Mackay, Practical Data Acquisition for Instrumetnation and Control Systems, Newnes, 2003.
  • [2] M. Alam and M. Azad, "Development of biomedical data acquisition system in Hard Real-Time Linux environment," in Biomedical Engineering (ICoBE), Penang, 2012.
  • [3] F. Di Mario, M. Park and A. Wallander, "ITER - CODAC Core System Overview," 8 February 2007. [Online]. Available: http://static.iter.org/codac/cs/CODAC_Core_System_Overview_34SDZ5_v5_4.pdf. [Accessed 23 April 2017].
  • [4] ITER, "The ITER Tokamak," ITER, [Online]. Available: https://www.iter.org/mach/tokamak. [Accessed 23 04 2017].
  • [5] J. Y. Journeaux, "Plant Control Design Handbook," 08 April 2013. [Online]. Available: http://static.iter.org/codac/pcdh7/Folder%201/l-Plant_Control_Design_Handbook_27LH2V_v7_0.pdf [Accessed 09 June 2016].
  • [6] A. Mielczarek, P. Perek, D. Makowski, M. Orlikowski, G. Jabłoński and A. Napieralski, "AMC frame grabber module with PCIe interface," in 20th International Conference Mixed Design of Integrated Circuits and Systems, Gdynia, Poland, 2013.
  • [7] A. Morrison and Y. Afek, "Fast concurrent queues for x86 processors," in Principles and Practice of Parallel Programming, Shenzhen, China, 2013.
  • [8] M. Torquati, "Single-Producer/Single-Consumer Queues on Shared Cache Multi-Core Systems," Computer Science Department, University of Pisa, Italy, 2010.
  • [9] A. Alexandrescu, A. Stan, N. Botezatu and S. Caraiman, "Real-Time inter-process communication in heterogeneous programming enviroments," in 20th International Conference on System Theory, Control and Computing (ICSTCC), Sinaia, Romania, 2016.
  • [10] R. Stevens, UNIX Network Programming Volume 2, Second Edition, Interprocess Communications, Prentice Hall, 1999.
  • [11] M. McKusick and M. J. Karels, "A New Virtual Memory Implementation for Berkeley UNIX(r)," Universidad of California Berkeley.
  • [12] M. D. Cvetkovic and M. S. Jevtic, "Interprocess communication in real-time Linux," in Telecommunications in Modern Satellite, Cable and Broadcasting Service, 2003. TELSIKS 2003. 6th International Conference on, 2003.
  • [13] F. Hijaz, B. Kahne, P. Wilson and O. Khan, "Efficient parallel packet processing using a shared memory many-core processor with hardware support to accelerate communication," in IEEE International Conference on Networking, Architecture and Storage (NAS), Boston, 2015.
  • [14] A. Williams, C++ Concurrency in Action, New York: Manning Publications Co, 2012.
  • [15] K. Wall, M. Watson and M. Whitis, Linux Programming Unleashed, Sams Publishing, 1999.
  • [16] B. Gamsa, O. Krieger and M. Stumm, "Optimizing IPC Performance for Shared-Memory Multiprocessors," in International Conference on Parallel Processing, 1994. Vol. 1. ICPP 1994., 1994.
  • [17] EoSens® 3CL Camera Manual, Rev. 1.01, Copyright ©, Mikrotron GmbH, 2010.
  • [18] H.Kopetz, Real-Time Systems, Design Principles for Distributed Embedded Applications. Second Edition, Springer, 2011.
  • [19] A. D. Association, TIFF Revision 6.0, 1992.
  • [20] A. Alexandrescu, A. Stan, N. Botezatu and S. Caraiman, "Real-time inter-process communication in heterogeneous programming environments," in 20th International Confrence on System Theory, Control an dComputing (ICSTCC), October 13-15, Sinaia, Romania, 2016.
  • [21] 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, Wiley, 2014.
  • [22] D. C. Schmidt, "The ADAPTIVE Communication Environment An Object-Oriented Network Programming Toolkit," in 12th Sun User Group conferences, San Francisco, 1993.
  • [23] R. Benosman, K. Barkaoui and Y. Albrieux, "A New Dynamic IPC-Memory Allocator Based on a Paging Approach," in High Performance Computing and Simulation (HPCS), Paris, 2013.
  • [24] M. Mitchel, J. Oldham and A. Samuel, Advanced Linux Programming, New Riders Publishing, 2001.
Uwagi
Opracowanie rekordu w ramach umowy 509/P-DUN/2018 ze środków MNiSW przeznaczonych na działalność upowszechniającą naukę (2018).
Typ dokumentu
Bibliografia
Identyfikator YADDA
bwmeta1.element.baztech-cd7441ea-185f-4b37-b2de-ae072afa4214
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ć.