Abstract
This paper investigates the most appropriate application programming interface API that best accelerates the flow-based applications on the wireless sensor networks WSNs . Each WSN include many sensor nodes which have limited resources. These sensor nodes are connected together using base stations. The base stations are commonly network systems with conventional processors which are responsible for handling a large amount of communicated data in flows of network packets. For this purpose, classification of the communicated packets is considered the primary process in such systems. With the advent of high-performance multicore processors, developers in the network industry have considered these processors as a striking choice for implementing a wide range of flow-based wireless sensor networking applications. 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 efficiency of 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 and quad-core processors. In all cases, the speed and throughput of all parallel versions of the classification algorithms are much more than the corresponding serial versions. Moreover, for parallel classification of a sufficiently large number of packets by both classification algorithms, TBB library results in higher throughput and performance than the other libraries due to its automatic scheduling and internal task stealing mechanism.
Highlights
Wireless sensor networks (WSNs) are ad hoc networks consisting mainly of small sensor nodes with limited resources and one or more base stations, which are computationally more powerful nodes that connect the sensor nodes to other parts of the network [1,2,3,4,5,6]
In this paper, set-pruning and grid of tries (GOT) algorithms which use decision trees to classify network packet headers were parallelized with thread, Open Multiprocessing (OpenMP), and Threading Building Blocks (TBB) libraries and the performance of these libraries for this task was investigated and assessed
The aim was to measure and compare the speedup and throughput in all scenarios. It can be inferred from the obtained values of speedup and throughput that all parallel versions of the classification algorithms were much more efficient than the serial versions
Summary
Wireless sensor networks (WSNs) are ad hoc networks consisting mainly of small sensor nodes with limited resources and one or more base stations, which are computationally more powerful nodes that connect the sensor nodes to other parts of the network [1,2,3,4,5,6]. The reason for choosing these two algorithms is the difference in the tree structures produced as well as their method of traversal to classify an Internet packet based on the fields of source and destination IP address This difference in data structure and type of processing during parallelization with these APIs results in different performances. A review of related research suggests that algorithms based on hierarchical set-pruning tries and GOT have not yet been parallelized on multicore processors. The present study for the first time implements and compares the performance of packet classification algorithms using C++ parallelization libraries thread, OpenMP, and TBB.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have