370 likes | 385 Views
This paper proposes a novel IP routing table compaction scheme and evaluates its impact on cache performance. It also presents interval sampling and improved sampling techniques to address port error problems caused by caching.
E N D
IP Routing table compaction and sampling schemes to enhanceTCAM cache performance Author: Ruirui Guo a, Jose G. Delgado-Frias Publisher: Journal of Systems Architecture 55 (2009) 61–69 Presenter: Chen-Yu Chang Date: 2009/3/4
Outline • Introduction • Cache and routing information • Routing table compaction • Evaluation of compaction • Port error and sampling techniques
Introduction • In this paper proposed a novel compaction scheme with three variants for IP routing tables and evaluated its impact on a cache architecture. • We have also presented interval sampling and a new improved sampling technique to alleviate port error problems caused by caching.
Outline • Introduction • Cache and routing information • Routing table compaction • Evaluation of compaction • Port error and sampling techniques
Cache architecture(2/3) • A small and fast cache can be used to reduce lengthy memory access times if memory references have temporal locality. • Temporal locality: A routing entry that has been recently accessed has a high probability of being referenced again in a short period of time.
Cache architecture(3/3) • Average memory access time (AMAT): • It is clear that a cache technique with high hit rate is needed to obtain small average access time.
A TCAM cache organization(2/2) • The TCAM cache scheme has been shown to have a lower miss rate in IP routing applications than an SRAM cache scheme [15]. The cache miss ratio for the TCAM is about half of what is in the SRAM.
Routing imformation • Evaluations of our proposed scheme are based on four IPv4 and six IPv6 trace files which are downloaded from the Measurement and Analysis on the WIDE Internet (MAWI) Working Group
Outline • Introduction • Cache and routing information • Routing table compaction • Evaluation of compaction • Port error and sampling techniques
Routing table compaction • A TCAM can perform a parallel search to reduce the lookup time, but a large TCAM may be too expensive to be a feasible solution. • In addition, a large memory usually slows down the lookup process. This in turn creates a need for investigating compaction schemes.
Compaction scheme (1/9) (C1): • Existing compaction scheme (C1): • Entry addresses with the same destination port are considered for compaction. • Two addresses that differ by only one bit including don’t care(*) are candidates for compaction. • If these conditions are satisfied, the entries with these two addresses can be combined into one by using don’t care (*) to replace the bit.
Compaction scheme (2/9) (C1): • The two entries that have been combined are removed from further consideration. • The new entry is included in the potential entries for further compaction.
Compaction scheme (3/9) (C2): • Compaction with non-existing entries (C2) • Two addresses with the same destination port that have only one different bit excluding don’t care (*) are candidates for additional compaction. • If there is no other address with a different destination port that can be compacted with one of the two addresses in the previous step, then the compaction can be performed.
Compaction scheme (4/9) (C2): • If the previous step is not possible the current attempt to compact these entries is abandoned.
Compaction scheme (5/9) (C3): • Compaction using a continuous don’t care threshold (C3): • Two addresses with the same destination port that have only one different bit excluding don’t care () are candidates for compaction. • If there is no routing conflict in the routing table, the compaction is performed. • If there exists only one entry address with a different destination port, which is equivalent to the current compacted address, and the number of the continuous don’t care (*) in this compacted entry is less than a given threshold, then the compaction can be performed. In addition, the entry with the different port assignment is marked with higher priority, that is, this entry is considered for a match before the compacted entry.
Compaction scheme (6/9) (C3): • If the previous steps are not possible, the current compaction is abandoned.
Compaction scheme (7/9) (C3): • A large threshold value usually helps in compacting more routing entries; but, this increases the possibility of routing conflicts, which cause more port errors. • Routing conflicts: • Two entries with different port assignments that match with an incoming address.
Compaction scheme (9/9) (C4): • Compaction version C4 is similar to C3; the only difference is in the threshold criteria. • Instead of the continuous don’t careas in C3, the number of different bits between the addresses before and after a compaction are considered to compute a number to be compared to the threshold. • In this study the threshold for C4 is set to 3.
Outline • Introduction • Cache and routing information • Routing table compaction • Evaluation of compaction • Port error and sampling techniques
Comparison with other schemes • The compaction ratio is about 75.6% in [25], 52% in [24](similar to C1) and 29% in proposed scheme. • The proposed compacting scheme yields a very high cache hit rate. This helps to reduce the impact of replacement policies on the hit rate [26]. • For hit rates above 90% the difference in hit rate using different replacement policies is less than 1% [26].
Outline • Introduction • Cache and routing information • Routing table compaction • Evaluation of compaction • Port error and sampling techniques
port errors • port errors: • A port error occurs when the port selected by the cache does not match the port selected using the routing table. • A port error is generated because the matching entry in the cache is not the longest prefix matching entry in the routing table.
Sampling techniques(1/10) • A. Interval sampling (In): • It requires performing one search in the routing table every M lookups. M is the sampling rate. • When a sample is performed and if the port number found in cache is different from that in the routing table, the matching entry in the routing table will be written into the cache to fix future port assignments. • Port error ratio: The ratio of the number of port errors to the number of cache hits.
Sampling techniques(3/10) • B. New sampling technique: • The technique is based on an analysis of the contents of the route entries and port error distributions. • Port error distribution: • We count the number of overlapping entries (N) that are covered by a particular entry.
Sampling techniques(4/10) • Fig. b illustrates the port error distribution for IPv6 traces in the compacted routing tables using compaction version C3. • We have observed those entries with the value of N less than 10 cause most of port errors.
Sampling techniques(5/10) • 1. Selective sampling (Sl): • Label those entries with high probability(i.e. N < 10) of causing port errors according to the port error distribution. • Do not search the routing table in the case of matching entry unlabeled. • Otherwise, search routing table at the sampling rate and update cache if a port error occurs.
Sampling techniques(6/10) • 2. Adaptive sampling (Ad): • The main motivation for this version of sampling is to adjust the sampling rate based on the previous activities of a particular entry.
Sampling techniques(9/10) • Impact on hit rate
Sampling techniques(10/10) • The simulations using the routing information have shown that the proposed schemes improve cache hit rate and reduce port errors. • The high cache hit rate makes average memory access time shorter; this in turn speeds up the route lookup process.