Internet DRAFT - draft-mjsraman-panet-tcam-power-efficiency
draft-mjsraman-panet-tcam-power-efficiency
PANET Working Group Shankar Raman
INTERNET-DRAFT Balaji Venkat Venkataswami
Intended Status: Experimental RFC Kamakoti Veezhinathan
Gaurav Raina
Expires: November 5, 2013 IIT Madras
May 4, 2013
TCAM power reduction and optimization in Routers
draft-mjsraman-panet-tcam-power-efficiency-02
Abstract
This specification entails enabling power and performance management
in Routers (multi-chassis and single chassis) with respect to TCAM
and SRAM usage on intelligent router line cards that implement
Virtual Aggregation of routes.
The version 00 of this document had several errata that have been
addressed in this version. This scheme relates to unicast alone since
multicast entries are programmed only after consultation with the
unicast entries in the software plane in the Route processor. Hence
this scheme does not apply to multicast.
Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as
Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/1id-abstracts.html
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
Copyright and License Notice
Shankar Raman et.al Expires November 5, 2013 [Page 1]
INTERNET DRAFT TCAM power reduction methods in Routers May 4, 2013
Copyright (c) 2013 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1 Terminology . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Methodology . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1 Packet flow and its consequences . . . . . . . . . . . . . . 6
2.2 Switching off the TCAM banks which are unused . . . . . . . 7
2.2.1 Algorithm for switching off and switching on TCAM
banks . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.2 Prefix entry population latency . . . . . . . . . . . . 10
2.3 Using Aggregate routes . . . . . . . . . . . . . . . . . . . 10
2.4 Route Processor as the DLC/BDLC . . . . . . . . . . . . . . 10
2.5 Advantages of this scheme . . . . . . . . . . . . . . . . . 10
3 Security Considerations . . . . . . . . . . . . . . . . . . . . 11
4 IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 11
5 References . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5.1 Normative References . . . . . . . . . . . . . . . . . . . 11
5.2 Informative References . . . . . . . . . . . . . . . . . . 11
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 11
Shankar Raman et.al Expires November 5, 2013 [Page 2]
INTERNET DRAFT TCAM power reduction methods in Routers May 4, 2013
1 Introduction
This specification / draft entails enabling power and performance
management in Routers (multi-chassis and single chassis) with respect
to TCAM / SRAM usage on intelligent router line cards that implement
Virtual Aggregation.
Distributed line cards in a routers have intelligence to forward
packet without interference from the central control plane, once
their TCAMs and associated SRAMs are populated. Since memory and TCAM
are the most power hungry components in these line cards, we should
effectively manage the line card power usage by optimally using their
SRAM memory and TCAM banks.
When a packet enters a distributed line card, the packet switching
logic extracts information from the header. It then looks up the
entry in the appropriate TCAM (CAM in L2 switches or both in Multi-
layer switches), and then passes the packet to the outgoing line
card. The packet is then placed onto the outgoing port. The TCAM
banks used in the line cards typically carry the entire forwarding
table as tabulated by the central control processor card/cards (when
in plurality used for redundancy). All line cards do not need the
entire forwarding table as each line card may serve a set of sources
and destinations. This is true especially in smaller networks but may
also apply to routers in the Internet, especially ASBRs and POP
border routers facing the customers of the ISP. Switching on the
entire set of TCAMs (in the worst case) and downloading the entire
forwarding table atop each of the line cards in the chassis leads to
a sub-optimal way of switching packets
Current status quo on this (apart from VPN route localization) is a
proof that as far as Internet destinations go, all line cards on the
backbone routers or even within a small campus or a medium sized
ISP, carry the entire forwarding table built by the routing table
manager on these routers. In order to obviate the necessity of
carrying routes which are unused (by this term. we mean those that
are unreferenced for making forwarding decisions) and to reduce TCAM
space (applicable to switching as well which involves CAMs), we
suggest a solution where a couple of Linecards are considered to be
Designated and Backup Designated linecards.
Designated Linecards are filled with all the entries from the control
plane. The rest of the Linecards are provided with entries leftover
from aging other entries which were not used over a period of time.
An entry may not be available in these Linecards after they have been
aged out (because of not being referenced and/or modified), these
non- DLC linecards (as they are called), refer to the DLC/BDLC
linecards for the first packet of a flow and retrieve the prefixes
Shankar Raman et.al Expires November 5, 2013 [Page 3]
INTERNET DRAFT TCAM power reduction methods in Routers May 4, 2013
associated with the hit on the DLC/BDLC. They populate these
retrieved entries in their respective TCAM banks. Periodically on the
non-DLC linecards a Route aggregation similar to the S-VA or the
simple Virtual Aggregate with exception entries is generated to
further reduce the TCAM occupation. The TCAM banks which are not
occupied as a result of this scheme may be switched off. This in turn
can switch off their associated SRAM banks as well which contain the
rewrite information. The document also opens up the specification to
simulations which help strengthen the argument for this scheme.
1.1 Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
2. Methodology
Distributed line cards in a routers have intelligence to forward
packet without interference from the central control plane, once
their TCAMs and associated SRAMs are populated.
Since memory and TCAM are the most power hungry components in these
line cards, we should effectively manage the line card power usage by
optimally using their SRAM memory and TCAM banks.
When a packet enters a distributedline card, the packet switching
logic extracts information from the header. It then looks up the
entry in the appropriate TCAM (CAM in L2 switches or both in Multi-
layer switches), and then passes the packet to the outgoing line
card. It is then placed onto the outgoing port. The TCAM banks used
in the line cards typically carry the entire forwarding table as
tabulated by the central control processor card/cards (when in
plurality used for redundancy). All line cards do not need the entire
forwarding table as each line card may serve a set of sources and
destinations. This is true especially in smaller networks but may
also apply to routers in the internet, especially ASBRs and POP
border routers facing the customers of the ISP. Switching on the
entire set of TCAMs (in the worst case) and downloading the entire
forwarding table atop each of the line cards in the chassis leads to
a sub-optimal way of switching packets.
Current status quo on this (apart from VPN route localization) is a
proof that as far as internet destinations go, all line cards on the
backbone routers or even within a small campus or a medium sized
ISP, carry the entire forwarding table built by the routing table
manager on these routers. In order to obviate the necessity of
Shankar Raman et.al Expires November 5, 2013 [Page 4]
INTERNET DRAFT TCAM power reduction methods in Routers May 4, 2013
carrying routes which are unused (by this term. we mean those that
are unreferenced for making forwarding decisions) and to reduce TCAM
space (applicable to switching as well which involves CAMs), we
suggest the following solution:
a) At initialization time the entire forwarding table that is
constructed in the control processor is downloaded to all line cards.
This is the current implementation in most routers today.
b) Begin a clock algorithm on these routes using a referenced bit and
modified bit that is appended to each TCAM entry in the line card.
a. When a TCAM entry is accessed for forwarding decision in the
router on a specific line card, the referenced bit associated with
that entry is set.
b. When a TCAM entry is modified as a result of a routing entry being
modified either with respect to its next-hop or any other reason the
modified bit is set.
c. A timer called the ReferenceTimer is started with a suitable
interval.
d. When the ReferenceTimer clock ticks down to 0, the TCAM entries in
the line card are scanned and those that have the following values
are not disturbed.
1. Referenced bit = 1, Modified bit = 1
2. Referenced bit = 0, Modified bit = 1
e. A timer called ModifiedDecayTimer is also started using a
suitable time interval.
f. The ModifiedDecayTimer is a single global timer which is started
whenever a route change that modifies the nexthop to a set of route
entries is downloaded to the line card (which is the status quo as
of now). Each line card has its own respective ModifiedDecayTimer.
g. On expiry of the ModifiedDecayTimer the TCAM entries with modified
bit = 1 are set to modified bit = 0.
h. Similarly each TCAM entry has a 32 bit counter that counts down to
0, which is in effect a ReferencedDecayTimer. A suitable value may be
appended to this counter at the time of initialization and when the
TCAM entry is referenced for forwarding. This counter is active only
for the active banks of TCAM. A suitable alternative with or without
the counter would be an LRU policy that removes and adds entries as
appropriate.
Shankar Raman et.al Expires November 5, 2013 [Page 5]
INTERNET DRAFT TCAM power reduction methods in Routers May 4, 2013
i. When the ReferencedDecayTimer counts down to 0, the referenced bit
for that TCAM entry is cleared.
j. Continuing from (d) the TCAM entries with Modified bit = 0 and
Referenced bit = 0 are removed from the TCAM when the ReferencedTimer
expires. Further optimization on the TCAM may be done at regular
intervals whenever the ReferencedTimer expires. This would involve
re-arranging the TCAM to optimize on storage. The specific method
relates to understanding the spread of TCAM entries with different
mask lengths. Usually the TCAM entries are arranged in descending
order of mask lengths with enough gaps to accommodate for different
prefixes in their respective mask lengths. The algorithms in current
software for populating the TCAM entries with enough gaps to
accommodate for new additions are many. These however are out of
scope of this document. Such algorithms allow for a fair amount of
spread of the TCAM entries across the TCAM space thus allowing for
several banks of TCAMs to be left empty if not used.
2.1 Packet flow and its consequences
We will consider the initial condition on how these entries get
populated. If a packet enters a line card on one of its ports and the
switching logic finds that the TCAM entry is absent or has been
cleared from its entry in the TCAM. We use a mechanism by which such
a packet is first forwarded to one of the DLC (or designated Line
cards which may be elected from the set of line cards in the chassis)
where the entire forwarding table is always stored. There may be a
Primary DLC and a backup DLC for redundancy purposes. When the packet
hits the ingress line card which does not have the required TCAM
entry for forwarding, it routes the packet within the chassis to the
DLC. The DLC receives the packet or just the packet header and does
the following:
i) Looks up its full forwarding table,
ii) Picks up the result and along with it the TCAM entry or
entries which accumulate to all the set of related routes (perhaps
all the routes with the same prefix that is rounded off to the
nearest major class network boundary) and
iii) sends them across to the ingress line card in question.
The ingress line card uses the result to forward the packet and
populates the TCAM with the group of entries dispatched to it by the
DLC or the Backup DLC. One could use per-destination load-balancing
within the ingress line card to distribute the lookup in such a way
that the load is effectively shared by picking the DLC OR the Backup
DLC. Once the set of routes sent back from the DLC is accumulated
Shankar Raman et.al Expires November 5, 2013 [Page 6]
INTERNET DRAFT TCAM power reduction methods in Routers May 4, 2013
and loaded into the TCAM, it may be periodically scanned and
compressed even at a later point in time using the S-VA mechanism as
explained in later sections.
Now the ingress line card has the required entries. It is thus made
possible that the flows that go to the desired destinations from
then on would hit the TCAM entries that are populated according to
the method discussed above.
Thus, long lived TCP / UDP flows would have TCAM entries populated
for the duration of their existence in the respective scheme-deployed
linecards. Smaller timed flows too would have entries populated but
this could be throttled by the timer mechanisms that have been
provided.
With respect to multicast routes, all multicast routing entries are
programmed in the hardware after consultation with their respective
unicast companions in the Route Processor. So the lookup for
programming the (*,G) and (S,G) entries in the hardware are done in
the software plane in the Route Processor. Hence the multicast
entries are not affected by this scheme. This specification relates
to unicast routing alone and TCAM entries that relate to it.
Additionally a set threshold called QueryThreshold is configured
on the DLC slots. If this is exceeded in terms of rate of packets
coming to DLCs from other linecards in the form of the first packet
query for a TCAM entry lookup, a periodic full download of the entire
forwarding table is done to the those linecards which deploy this
scheme. A further purge is then done using the Timers mentioned
above. It is also possible to think of deploying this scheme
selectively on a set of line cards. In this method, the rest of the
line cards can act as TCAM entry route servers. Such an arrangement
can help in load balancing the packets involved in the first query
process on to the route server line cards in a sticky fashion for DLC
lookup. A suitable hashing algorithm can be used to do this load-
balancing.
2.2 Switching off the TCAM banks which are unused
The TCAM banks which are not occupied as a result of this scheme may
be switched off completely along with their associated SRAM banks as
well which contain the rewrite information. The specification opens
up the idea to simulations which help strengthen the argument for
this scheme.
2.2.1 Algorithm for switching off and switching on TCAM banks
Shankar Raman et.al Expires November 5, 2013 [Page 7]
INTERNET DRAFT TCAM power reduction methods in Routers May 4, 2013
It is important to note that one cannot switch off all TCAM banks
that are empty. If there is a sudden rush / burst of traffic at
points in time which may be pretty regular for most deployments if
the exact number of used TCAM banks alone are set on there would be a
problem with respect to not being able to accommodate all the new
flows in the switched on TCAM banks. Thus there would be an overflow
and that would mean switching TCAM banks that are switched off to ON
when it is too late. The latency of switching ON and off TCAMs will
be an issue. If it takes too much time to do it packet loss could
occur owing to non-availability of TCAM banks.
In order to alleviate the problem specified above the following
algorithm among several methods can be used.
Shankar Raman et.al Expires November 5, 2013 [Page 8]
INTERNET DRAFT TCAM power reduction methods in Routers May 4, 2013
Begin
1 // At Initialization time
2 All TCAM banks are filled with entries in the non-DLC linecards;
2.1 // When Timers start working
3 Timer mechanisms are used to age out entries that are not used;
4 When TCAM banks become empty NOT all of them are switched off;
5 Say X % of the TCAM banks are switched off;
6 X is determined by the number of active TCAM banks used;
7 if (number of TCAM banks used is greater than say 75%)
8 then
9 X = 0; // This would mean switching on all TCAM banks
// even those that are empty
10 elseif (number of TCAM banks is lesser than 75 but
11 closer to 50%)
12 X = 25%; // This would mean switching on the rest
// of the empty TCAM banks
// TCAM banks switched off = literal 25%. Rest of the
// TCAM banks are switched ON.
13 elseif (number of TCAM banks is much lesser than 50%
14 but greater than 35%)
15 X = 30%;
// TCAM banks switched off = literal 30%. Rest of the
// TCAM banks are switched ON.
16 elseif (number of TCAM banks is lesser than 35%)
17 X = 45%;
// TCAM banks switched off = literal 45%. Rest of the
// TCAM banks are switched ON.
18 endif
End
The percentages are rounded off to the ceiling of the TCAM banks
Shankar Raman et.al Expires November 5, 2013 [Page 9]
INTERNET DRAFT TCAM power reduction methods in Routers May 4, 2013
existent on the linecard.
Note : TCAM banks that are empty but switched ON are ready to be
populated with entries if the bursty traffic trigger the first-packet
lookup the DLC/BDLC linecards.
This could be seen as a conservative approach in making sure there
are no major events owing to overflow. Underflow is always to be
considered to be a good thing. This loop is run periodically and more
frequently when the first packet re-direction to the DLC/BDLC is
happening frequently.
Thus there is always a buffer of TCAM banks that are ready to be
populated in this conservative approach. Simulation results will be
published in the next version of the draft.
2.2.2 Prefix entry population latency
When the first-packet is sent to the DLC/BDLC linecards it is
possible that there is a latency in populating the resultant prefix +
mask entry in the linecard requesting the lookup. It is to be
understood that till the lookup entry is populated for the requesting
linecard all preceding lookups are forwarded to the DLC/BDLC
linecards.
2.3 Using Aggregate routes
Also periodically on the non-DLC linecards a Route aggregation
process similar to the S-VA or the simple Virtual Aggregate with
exception entries is used to further reduce the TCAM occupation.
2.4 Route Processor as the DLC/BDLC
It is possible that the linecard which is designated as the DLC/
Backup DLC can be the Route processor itself. In such a case the same
Network Processor Unit chipset that is available on the linecard
would be available on the Route Processor itself. There could be more
than one Route Processor each with the NPU chipset. Thus the DLC /
BDLC could be the Route Processor and backup Route Processor.
2.5 Advantages of this scheme
The TCAM banks unused as a result of this scheme save power when they
are empty since they are switched off. Existing commercial chipsets
provide the capability of banks of TCAM to be switched off. Also the
upcoming chipsets provide for TCAM banks which are smaller than a set
of a few large TCAM banks.
Shankar Raman et.al Expires November 5, 2013 [Page 10]
INTERNET DRAFT TCAM power reduction methods in Routers May 4, 2013
Power consumption of related SRAM banks that map to these TCAM banks
, which store datum connected to route entries represented in the
respective TCAM entries are also saved from being refreshed. The
advantage is realized if the SRAM banks are also granularized to be
in the form of sets of smaller banks than a set of few large banks.
A finer granularity of TCAM banks with respect to their size and the
number of TCAM entries that occupy these banks can be achieved to
derive maximum benefit from this scheme.
3 Security Considerations
There are no security considerations with regard to this
specification.
4 IANA Considerations
No IANA considerations need to be considered as part of this
document.
5 References
5.1 Normative References
None.
5.2 Informative References
None.
Authors' Addresses
Shankar Raman
Department of Computer Science and Engineering
IIT Madras
Chennai - 600036
TamilNadu
India
EMail: mjsraman@cse.iitm.ac.in
Shankar Raman et.al Expires November 5, 2013 [Page 11]
INTERNET DRAFT TCAM power reduction methods in Routers May 4, 2013
Balaji Venkat Venkataswami
Department of Electrical Engineering
IIT Madras
Chennai - 600036
TamilNadu
India
EMail: balajivenkat299@gmail.com
Prof.Kamakoti Veezhinathan
Department of Computer Science and Engineering
IIT Madras
Chennai - 600036
TamilNadu
India
Email: kama@cse.iitm.ac.in
Prof.Gaurav Raina
Department of Electrical Engineering
IIT Madras
Chennai - 600036
TamilNadu
India
EMail: gaurav@ee.iitm.ac.in
Shankar Raman et.al Expires November 5, 2013 [Page 12]