Parallelizing fine-grained network applications on general-purpose multi-core architectures is a big challenge, as it requires fast core-to-core synchronization that is not supported for now. This paper proposes a methodology for parallelizing legacy sequential network applications on multi-core architectures with only minor code rewriting. Single Program Multiple Data (SPMD) parallel programming style is used to retain the control flow of sequential code, and then data structures potentially involving data racing are replaced with customized lock-free data structures based on domain knowledge. We evaluate the methodology by parallelizing a sequential TCP SYN flood detection program on Intel Quad processors, and gain inspiring results.
['Junchang Wang', 'Kai Zhang', 'Bei Hua']
Parallelizing sequential network applications with customized lock-free data structures