Journals / Turkish Journal of Electrical Engineering and Computer Sciences / 2020 / Cilt: 28 - Sayı: 3

Investigating the efficiency of multithreading application programming interfaces for parallel packet classification in wireless sensor networks

Pages
1699–1715
DOI
—

Abstract

This paper investigates the most appropriate application programming interface (API) that best acceleratesthe flow-based applications on the wireless sensor networks (WSNs). Each WSN include many sensor nodes whichhave limited resources. These sensor nodes are connected together using base stations. The base stations are commonlynetwork systems with conventional processors which are responsible for handling a large amount of communicated data inflows of network packets. For this purpose, classification of the communicated packets is considered the primary processin such systems. With the advent of high-performance multicore processors, developers in the network industry haveconsidered these processors as a striking choice for implementing a wide range of flow-based wireless sensor networkingapplications. The main challenge in this field is choosing and exploiting an API which best allows multithreading; i.e.one which maximally hides the latency of performing complex operations by threads and increases the overall efficiencyof the cores. This paper assesses the efficiency of Thread, Open Multiprocessing, and Threading Building Blocks (TBB)libraries in multithread implementation of set-pruning and grid-of-tries packet classification algorithms on dual-core andquad-core processors. In all cases, the speed and throughput of all parallel versions of the classification algorithms aremuch more than the corresponding serial versions. Moreover, for parallel classification of a sufficiently large numberof packets by both classification algorithms, TBB library results in higher throughput and performance than the otherlibraries due to its automatic scheduling and internal task stealing mechanism.