Presentation on theme: "An Efficient Flow Cache algorithm with Improved Fairness in Software-Defined Data Center Networks Bu Sung Lee 1, Renuga Kanagavelu2 and Khin Mi Mi Aung2."— Presentation transcript:
1 An Efficient Flow Cache algorithm with Improved Fairness in Software-Defined Data Center Networks Bu Sung Lee 1, Renuga Kanagavelu2 and Khin Mi Mi Aung2 1Nanyang Technological University, Singapore 2 A-STAR (Agency for Science and Technology), Data Storage Institute, Singapore
2 Changing scene in DCData Center size has grown to a scale that we never imagine ( ) .Google: 900,000 servers across 13 data centersAmazon: 450,000 servers, in 7 locationsVirtualisation.Changing Data Center Network traffic (North-South to East-West)Traffic Types : mice and elephant.
3 Constraints Openflow switches flow table can hold up to 1500 entries. It is possible to increase TCAM entries, but it consumes lots of ASIC space, power and cost.Centralized controller
4 Limitations of 3-tier network architecture Redundant paths are not used (due to STP) => Total bandwidth reduction issueRacks ofserversTop of RackSwitchesAggregation SwitchesCore Switch…Interface 1Interface 2MAC Addr:62-FE-F A37C-BA-B2-BForwarding table:Table size increases proportionally to the number of servers => Scalability issueAddressInterfaceTime62-FE-F A319:327C-BA-B2-B29:47…
5 Traffic typesElephant flow - 100KB of transfer over the last 5 seconds.
6 Technology usedFlow cache organised into separate buckets for elephant and mice.Determine flow type by using 100 Mbytes in 5 second threshold.Used the vLAN priority code bit (PCB) to indicate.Uses dynamic index hashing.Cache replacement strategyUses Least Recently Used (LRU)
8 Motivation Motivation Objective To propose a differential flow cache framework that achieves fairness and efficient cache maintenance with fast lookup and reduced cache miss ratioMotivationOpenflow switches flow table can hold up to 1500 entries(This is too small when compared to the number of flows arriving at the switch)It is possible to increase TCAM entries, but it consumes lots of ASIC space, power (about 15 Watt/1 Mbit) and cost(US$350 for a 1M-bit chip) .Centralized controller – Reduce the overload – Distributed frameworkThe framework uses a hash-based placement and localized Least Recently Used (LRU)-based replacement mechanisms.
11 Dynamic index HashingWhen a packet arrives, the hash value for the packet is calculated from its flow identifying fields using a base hash function secure hash algorithm SHA-1a 1-bit prefix is added with bit '0' used for mice flows and bit '1' for elephant flowsLookup for the matched entry in the chosen bucket is carried out using the full 160-bit hashed valueIf there is no match in step-3, a new entry is made in the bucket, subject to space availability
12 Bucket ExpansionIf there is space constraint, a new bucket will be createdIf a bucket overflows, the buckets size are doubled with the new index using one extra bit. As a result, the entries in an original bucket (say, with the index 0) will be distributed among two buckets (with index 00 and index 01).
13 Performance Evaluation Comparison of cache hit Ratioour proposed LRU method performs better than OpenFlow wildcard-aware linear table replacement, Random replacement and FIFO replacement method
16 Performance Evaluation The 5000 we need to shuffle data between the buckets. Bucket size is 1000.
17 Cache architectureDDR3 SDRAM16bitsMemoryMemory Controller64 bits (8Bytes)4Look-Aside InterfaceSHA - 1Look upUpdateDropAdd entryOutput BufferInput BufferHeaderActionSHA ValueUsing Modelsim, to 7 microsec for lookup Looking at 4K bucket size. Hashing is 32 bits. 1bit for mice/elephant, all the other header in openflow. Total memory is 32K bytes
18 ConclusionsSimple and effective means to address the overload on the controllerFast lookupReduced cache miss ratio with LRUWe have developed a NVRAM version of the cache for plugging into switches.Openflow 1.3 has group tables in the TCAM.
19 Future work DC VM Placement strategy Power aware Network aware ResilienceInter-domain OpenflowSoftware defined everything