As the global Internet of things increasingly is popular with consumers and business environment, network flow management has become an important topic to optimize the performance on Internet of Things. The rigid existing Internet of things (IoT) architecture blocks current traffic management technology to provide a real differentiated service for large-scale IoT. Software-defined Internet of Things (SD-IoT) is a new computing paradigm that separates control plane and data plane, and enables centralized logic control. In this paper, we first present a general framework for SD-IoT, which consists of two main components: SD-IoT controllers and SD-IoT switches. The controllers of SD-IoT uses resource pooling technology, and the pool is responsible for the centralized control of the entire network. The switches of SD-IoT integrate with the gateway functions, which is responsible for data access and forwarding. The SD-IoT controller pool is designed as a vertical control architecture, which includes the main control layer and the base control layer. The controller (main controller) of the main control layer interacts upward with the application layer, interacts with the base control layer downwards, and the controller (base controller) of the basic control layer interacts with the data forwarding layer. We propose a dynamic balancing algorithm of the main controller based on election mechanism and a dynamic load balancing algorithm of the basic controller based on the balanced delay, respectively. The experimental results show that the dynamic balancing algorithm based on the election mechanism can ensure the consistency of the messages between the main controllers, and the dynamic load balancing algorithm based on the balanced delay can balance between these different workloads in the basic controllers.
However, load balancing policies based on hash ECMP and wildcard rules are static and difficult to adapt to flow dynamics. In @cite_3 , a decision strategy based on switch migration is proposed, which senses load imbalance through switch migration triggering metrics, establishes a corresponding migration efficiency model, and weighs between migration costs and load balancing rates. Paper @cite_8 proposed an alternative to the Beacon controller, which collects statistical information of OpenFlow devices in real time. The Beacon controller reroutes the flows according to the queues in the switch to ensure queue balancing in the switch. A load balancing algorithm in SDNs is proposed by collecting the traffic statistics of the switch subset in @cite_29 . Obviously, the traffic management in SD-IoT needs a dynamic load balancing mechanism, which can dynamically adapt to time-varying network status and fine-grained traffic characteristics, such as traffic burst and arrival time interval.
@cite_29 @cite_3 @cite_8
2600324614 2770706713 2167025919 2546660520
Elastic scaling and load balancing with efficient switch migration are critical to enable the elasticity of software-defined networking (SDN) controllers, but learning how to improve migration efficiency remains a difficult problem. To address this issue, a switch migration-based decision-making (SMDM) scheme is put forward that could be made aware of the load imbalance by a switch migration trigger metric; the migration efficiency model for this scheme is built to make a tradeoff between migration costs and the load balance rate. An efficiency-aware switch migration algorithm based on greedy method is designed to utilize the migration efficiency model and thus guide the choice of possible migration actions. We implement a proof of the scheme and present a numerical evaluation using Mininet emulator to demonstrate the effectiveness of our proposal. Most datacenters still use Equal Cost Multi-Path (ECMP), which performs congestion-oblivious hashing of flows over multiple paths, leading to an uneven distribution of traffic. Alternatives to ECMP come with deployment challenges, as they require either changing the tenant VM network stacks (e.g., MPTCP) or replacing all of the switches (e.g., CONGA). We argue that the hypervisor provides a unique point for implementing load-balancing algorithms that are easy to deploy, while still reacting quickly to congestion. We propose Clove, a scalable load-balancer that (i) runs entirely in the hypervisor, requiring no modifications to tenant VM networking stacks or physical switches, and (ii) works on any topology and adapts quickly to topology changes and traffic shifts. Clove relies on standard ECMP in physical switches, discovers paths using a novel traceroute mechanism, uses software-based flowlet-switching, and continuously learns congestion (or path utilization) state using standard switch features. It then manipulates packet-header fields in the hypervisor switch to direct traffic over less congested paths. Clove achieves 1.5 to 7 times smaller flow-completion times at 70 network load than other load-balancing algorithms that work with existing hardware. Clove also captures some 80 of the performance gain of best-of-breed hardware-based load-balancing algorithms like CONGA that require new equipment. Datacenter networks provide high path diversity for traffic between machines. Load balancing traffic across these paths is important for both, latency- and throughput-sensitive applications. The standard load balancing techniques used today obliviously hash a flow to a random path. When long flows collide on the same path, this might lead to long lasting congestion while other paths could be underutilized, degrading performance of other flows as well. Recent proposals to address this shortcoming incur significant implementation complexity at the host that would actually slow down short flows (MPTCP), depend on relatively slow centralized controllers for rerouting large congesting flows (Hedera), or require custom switch hardware, hindering near-term deployment (DeTail). We propose FlowBender, a novel technique that: (1) Load balances distributively at the granularity of flows instead of packets, avoiding excessive packet reordering. (2) Uses end-host-driven rehashing to trigger dynamic flow-to-path assignment. (3) Recovers from link failures within a Retransmit Timeout (RTO). (4) Amounts to less than 50 lines of critical kernel code and is readily deployable in commodity data centers today. (5) Is very robust and simple to tune. We evaluate FlowBender using both simulations and a real testbed implementation, and show that it improves average and tail latencies significantly compared to state of the art techniques without incurring the significant overhead and complexity of other load balancing schemes. Multi-tenant datacenters predominantly use equal-cost multipath (ECMP) routing to distribute traffic over multiple network paths. However, ECMP static hashing causes unequal load-balancing and collisions, leading to low throughput and high latencies. Recently proposed alternatives for load-balancing perform better, but are impractical as they require either changing the tenant VM network stacks (e.g., MPTCP) or replacing all the network switches (e.g., CONGA). In this paper, we argue that the end-host hypervisor provides a sweet spot for implementing a spectrum of load-balancing algorithms that are fine-grained, congestion-aware, and reactive to network dynamics at round-trip timescales. We propose CLOVE, a scalable hypervisor-based load-balancer that requires no changes to guest VMs or to physical network switches. CLOVE uses standard ECMP in the physical network, learns about equal-cost network paths using a traceroute mechanism, and learns about congestion state along these paths using standard switch features such as ECN. It then manipulates packet header fields in the hypervisor virtual switch to route traffic over less congested paths. We introduce different variants of CLOVE that differ in the way they learn about congestion in the physical network. Using extensive simulations, we show that CLOVE captures some 80 of the performance gain of best-of-breed hardware-based load-balancing algorithms without the need for expensive hardware replacement.