• DocumentCode
    533402
  • Title

    The case for hardware transactional memory in software packet processing

  • Author

    Labrecque, Martin ; Steffan, J. Gregory

  • Author_Institution
    Dept. of Electr. & Comput. Eng., Univ. of Toronto, Toronto, ON, Canada
  • fYear
    2010
  • fDate
    25-26 Oct. 2010
  • Firstpage
    1
  • Lastpage
    11
  • Abstract
    Software packet processing is becoming more important to enable differentiated and rapidly-evolving network services. With increasing numbers of programmable processor and accelerator cores per network node, it is a challenge to support sharing and synchronization across them in a way that is scalable and easy-to-program. In this paper, we focus on parallel/threaded applications that have irregular control-flow and frequently-updated shared state that must be synchronized across threads. However, conventional lock-based synchronization is both difficult to use and also often results in frequent conservative serialization of critical sections. Alternatively, we propose that Transactional memory (TM) is a good match to software packet processing: it both (i) can allow the system to optimistically exploit parallelism between the processing of packets whenever it is safe to do so, and (ii) is easy-to-use for a programmer. With the NetFPGA platform and four network packet processing applications that are threaded and share memory, we evaluate hardware support for TM (HTM) using the reconfigurable FPGA fabric. Relative to NetThreads, our two-processor four-way-multithreaded system with conventional lock-based synchronization, we find that adding HTM achieves 6%, 54% and 57% increases in packet throughput for three of four packet processing applications studied, due to reduced conservative serialization.
  • Keywords
    concurrency control; field programmable gate arrays; multi-threading; shared memory systems; synchronisation; NetFPGA platform; NetThreads; hardware transactional memory; network packet processing applications; network services; parallel-threaded applications; software packet processing; synchronization; Benchmark testing; Instruction sets; Pipeline processing; Process control; Synchronization; Algorithms; Design; Performance;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Architectures for Networking and Communications Systems (ANCS), 2010 ACM/IEEE Symposium on
  • Conference_Location
    La Jolla, CA
  • Print_ISBN
    978-1-4244-9127-8
  • Electronic_ISBN
    978-1-4503-0379-8
  • Type

    conf

  • Filename
    5623817