摘要
在一个内存有限的物理路由器上,可能需要部署几十个甚至几百个虚拟路由器。为节省内存开销,提出一种最优特里树合并算法。采用动态规划方法求解每棵特里树的初始合并节点和最优特里树的节点数,在动态规划计算过程中记录任意2个节点达到最优匹配时的子节点排列,根据计算结果构造最优特里树。实验结果表明,与简单特里树合并算法相比,该算法能节省20%-90%的内存开销。
Dozens or even hundreds of virtual routers may be deployed in a memory limited physical router. To save memory overhead, this paper proposes an algorithm named optimal trie merging algorithm. It adopts dynamic programming approach to find the nodes for initial merging of each trie, and computes the number of nodes of the optimal trie. The sub-node arrangements of any two nodes, which achieve optimal matching, are written down in the process of dynamic programming computation. Then, according to the three computation results, it constructs a data structure named optimal trie. Experimental results show that the algorithm saves 20%-90% memory overhead than simple trie merging algorithm.
出处
《计算机工程》
CAS
CSCD
2013年第5期5-11,共7页
Computer Engineering
基金
湖南省自然科学基金资助项目(12JJ3068)
关键词
虚拟路由器
特里树
内存开销
动态规划
数据包分类
virtual router
trie
memory overhead
dynamic programming
packet classification