2
views
0
recommends
+1 Recommend
0 collections
    0
    shares
      • Record: found
      • Abstract: found
      • Article: found
      Is Open Access

      Achieveing reliable UDP transmission at 10 Gb/s using BSD socket for data acquisition systems

      Preprint
      ,

      Read this article at

      Bookmark
          There is no author summary for this article yet. Authors can add summaries to their articles on ScienceOpen to make them more accessible to a non-specialist audience.

          Abstract

          User Datagram Protocol (UDP) is a commonly used protocol for data transmission in small embedded systems. UDP as such is unreliable and packet losses can occur. The achievable data rates can suffer if optimal packet sizes are not used. The alternative, Transmission Control Protocol (TCP) guarantees the ordered delivery of data and automatically adjusts transmission to match the capability of the transmission link. Nevertheless UDP is often favored over TCP due to its simplicity, small memory and instruction footprints. Both UDP and TCP are implemented in all larger operating systems and commercial embedded frameworks. In addition UDP also supported on a variety of small hardware platforms such as Digital Signal Processors (DSP) Field Programmable Gate Arrays (FPGA). This is not so common for TCP. This paper describes how high speed UDP based data transmission with very low packet error ratios was achieved. The near-reliable communications link is used in a data acquisition (DAQ) system for the next generation of extremely intense neutron source, European Spallation Source. This paper presents measurements of UDP performance and reliability as achieved by employing several optimizations. The measurements were performed on Xeon E5 based CentOS (Linux) servers. The measured data rates are very close to the 10 Gb/s line rate, and zero packet loss was achieved. The performance was obtained utilizing a single processor core as transmitter and a single core as receiver. The results show that support for transmitting large data packets is a key parameter for good performance. Optimizations for throughput are: MTU, packet sizes, tuning Linux kernel parameters, thread affinity, core locality and efficient timers.

          Related collections

          Most cited references4

          • Record: found
          • Abstract: not found
          • Article: not found
          Is Open Access

          Software and firmware for controlling CMS trigger and readout hardware via gigabit Ethernet

            Bookmark
            • Record: found
            • Abstract: not found
            • Conference Proceedings: not found

            Front-end electronics for the Scalable Readout System of RD51

              Bookmark
              • Record: found
              • Abstract: not found
              • Article: not found

              Comparison of UDP Transmission Performance Between IP-Over-InfiniBand and 10-Gigabit Ethernet

                Bookmark

                Author and article information

                Journal
                2017-06-01
                Article
                1706.00333
                51a8df18-f066-480c-9a58-a37aad34f5f4

                http://arxiv.org/licenses/nonexclusive-distrib/1.0/

                History
                Custom metadata
                12 pages, 3 figures, technical report
                physics.ins-det cs.NI

                Technical & Applied physics,Networking & Internet architecture
                Technical & Applied physics, Networking & Internet architecture

                Comments

                Comment on this article