2025 : 4 : 22
Mahdi Abbasi

Mahdi Abbasi

Academic rank: Associate Professor
ORCID:
Education: PhD.
ScopusId: 54902628100
HIndex:
Faculty: Faculty of Engineering
Address:
Phone: 09183176343

Research

Title
Efficient parallelisation of the packet classification algorithms on multi‐core central processing units using multi‐threading application program interfaces
Type
JournalPaper
Keywords
parallel programming; pattern classification; multiprocessing systems; telecommunication traffic; multi-threading; software libraries; application program interfaces; packet switching
Year
2020
Journal IET Computers and Digital Techniques
DOI
Researchers Mahdi Abbasi ، Milad Rafiee

Abstract

The categorisation of network packets according to multiple parameters such as sender and receiver addresses is called packet classification. Packet classification lies at the core of Software-Defined Networking (SDN)-based network applications. Due to the increasing speed of network traffic, there is an urgent need for packet classification at higher speeds. Although it is possible to accelerate packet classification algorithms through hardware implementation, this solution imposes high costs and offers limited development capacity. On the other hand, current software methods to solve this problem are relatively slow. A practical solution to this problem is to parallelise packet classification using multi-core processors. In this study, the Thread, parallel patterns library (PPL), open multi-processing (OpenMP), and threading building blocks (TBB) libraries are examined and implemented to parallelise three packet classification algorithms, i.e. tuple space search, tuple pruning search, and hierarchical tree. According to the results, the type of algorithm and rulesets may influence the performance of parallelisation libraries. In general, the TBB-based method shows the best performance among parallelisation libraries due to using a theft mechanism and can accelerate the classification process up to 8.3 times on a system with a quad-core processor.