Article thumbnail

Implementation and Evaluation of Fast Packet Filters

By 山下 義行 and 鶴 正人

Abstract

パケットフィルタリング処理はあらゆる種類のネットワーク機器に必要な機能になってきている.ハイエンドのルータやファイアウォールであればハードウェアベースの実装も可能である.さもなくば柔軟かつ安価な実現のために汎用CPUを使ってソフトウェア的に実装されるが,その場合には処理の高速性に欠点がある.そこで本研究ではパケットフィルタプログラムにコード最適化手法,特に条件分岐を含むループのためのソフトウェア・パイプライン化手法を適用し,インテルIA-64 Itanium 2プロセッサ上での高速化を試みる.著者らはすでにパケットモニタ・ツールtcpdumpについて高速化の効果を確認している.本研究ではその手法を一部変更して適用し,商用Cコンパイラによって最適化した場合の4倍の高速化,ソフトウェア・パイプライン化を用いない最適化の2倍の高速化を達成した.今回開発した最も高速なフィルタプログラムはItanium 2プロセッサの上限性能で動作する.Packet filters are essential for most areas of recent network technologies. While high-end expensive routers and firewalls are implemented in hardwarebased, flexible and cost-effective ones are usually in software-based solutions using general-purpose CPUs but have less performance. In order to solve this performace problem, we apply code optimization techniques to packet filter implementations, in particular the software pipelining techniques for a loop with conditional branches, on Intel IA-64 Itanium 2 processor. The authors have studied the method of applying the techniques to the packet monitoring tool tcpdump and reported their high effects. Using the revised method, we can obtain a software-pipelined packet filter implemetation which is four times faster than a C compiler based one and two times faster than an optimized code without software pipelining. The fastest filter program developed in this research can execute at the maximum speed of Itanium 2 processo

Publisher: 一般社団法人情報処理学会
Year: 2008
OAI identifier: oai:kyutech.repo.nii.ac.jp:00005085
Journal:

Suggested articles


To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.