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
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;
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