| Trace | Number of pkts | 2 actions(%) | 100 actions(%) |
| Trace 3 | 7439801 | 99.32883 | 99.19437 |
| Trace 5 | 7432650 | 99.35800 | 99.24929 |
| Trace 10 | 7448271 | 99.36112 | 99.22063 |
Monday, May 19, 2008
Evaluate the performance of hyper rule cache - Cache hit ratio
Hit ratio of hyper rule cache
Evaluate the performance of hyper rule cache - Number of evolving rules
Number of evolving rules of hyper rule cache (100 actions)
Number of evolving rules of hyper rule cache (2 actions)
| Trace | Number of pkts | Avg | Max |
| Trace 3 | 7439801 | 17 | 24 |
| Trace 5 | 7432650 | 16 | 24 |
| Trace 10 | 7448271 | 18 | 27 |
Number of evolving rules of hyper rule cache (2 actions)
| Trace | Number of pkts | Avg | Max | |
| Trace 3 | 7439801 | 14 | 21 | |
| Trace 5 | 7432650 | 14 | 22 | |
| Trace 10 | 7448271 | 15 | 23 |
Evaluate the performance of hyper rule cache - Average cache update time
The following table shows the average cache update time of hyper rule cache on 3 different traces and the rule set(1802 rules) with 2 and 100 actions respectively.
Average cache update time of hyper rule cache
Average cache update time of hyper rule cache
| Trace | Number of pkts | 2 actions | 100 actions |
| Trace 3 | 7439801 | 169μs | 219μs |
| Trace 5 | 7432650 | 159μs | 187μs |
| Trace 10 | 7448271 | 166μs | 20μs |
Evaluate the performance of hyper rule cache - experiment setup
We evaluate the performance of hyper rule cache using 3 real traffic traces and a real rule set with 1802 rules, obtained from a tier-1 ISP. We randomly generate 2 and 100 actions respectively for each rule in the rule set.
All the experiments are run in a machine with Dual Core AMD Opteron(tm) Processor 275 CPU (2.2
GHz). The total memory of the machine is 16GB. Hyper rule cache and smart rule cache are run using same parameters, and under same conditions. The sliding window size is set to 1024.
All the experiments are run in a machine with Dual Core AMD Opteron(tm) Processor 275 CPU (2.2
GHz). The total memory of the machine is 16GB. Hyper rule cache and smart rule cache are run using same parameters, and under same conditions. The sliding window size is set to 1024.
Verify the correctness of Hyper rule cache
To verify the correctness of hyper rule cache, two rule sets and associated trace files are used. Each packet in the trace file is associated with the correct rule that matches it. These files can be found from the following website: http://www.arl.wustl.edu/ hs1/project/.
We randomly generate 2, 4 and 10 actions for each rule in the two rule sets, and run hyper rule cache on these 6 pairs of rule set and traces. The action of each packet that is hit in the rule cache is printed out, and is compared with its real action.
Our experiments show that for each packet hit in rule cache, hyper rule cache give the same action as its real action. The results are summarized in table 3. As can be seen in the table, in all the 6 cases, 100% of packets are correctly classified by hyper rule cache, which proves the correctness of hyper rule cache scheme.
We randomly generate 2, 4 and 10 actions for each rule in the two rule sets, and run hyper rule cache on these 6 pairs of rule set and traces. The action of each packet that is hit in the rule cache is printed out, and is compared with its real action.
Our experiments show that for each packet hit in rule cache, hyper rule cache give the same action as its real action. The results are summarized in table 3. As can be seen in the table, in all the 6 cases, 100% of packets are correctly classified by hyper rule cache, which proves the correctness of hyper rule cache scheme.
Hyper Rule Cache
A new packet classification scheme, hyper rule cache, is proposed. Hyper rule cache achieves high speed packet classification by caching a small number of evolving rules, which are updated continuously according to the characteristics of incoming traffic.
Hyper rule cache inherits the idea of caching dynamic rules from smart rule cache scheme, with several major modifications.
Firstly, Smart rule cache uses PPDD tree structure to store rules, which consumes huge memory
space especially for larger rule set. Hyper rule cache replaces PPDD with HyperCuts decision tree. HyperCuts tree is a popular structure for packet classification.
Hyper rule cache also proposed an algorithm for checking the HyperCuts tree whether an expanded rule conflicts with the semantics of the original rule set.
Finally, Hyper rule cache modified how the evolving rules are constructed, which makes PPDD tree unnecessary.
Hyper rule cache inherits the idea of caching dynamic rules from smart rule cache scheme, with several major modifications.
Firstly, Smart rule cache uses PPDD tree structure to store rules, which consumes huge memory
space especially for larger rule set. Hyper rule cache replaces PPDD with HyperCuts decision tree. HyperCuts tree is a popular structure for packet classification.
Hyper rule cache also proposed an algorithm for checking the HyperCuts tree whether an expanded rule conflicts with the semantics of the original rule set.
Finally, Hyper rule cache modified how the evolving rules are constructed, which makes PPDD tree unnecessary.
Sunday, May 4, 2008
Hypercut coding
We've gotten the hypercut code translated from C++ to C and have integrated it into our code. We are testing the code for errors and making sure that it still gives the correct output.
Subscribe to:
Posts (Atom)