Forwarding Element Data Plane Load Balancer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Load balancers face challenges in rapidly adapting to changes in the available pool of computing devices while efficiently managing hardware and software resources, necessitating improved data processing and configuration mechanisms.
Innovation Solution
A forwarding element with a data-plane circuit configured to implement load balancers, featuring configurable data processing stages, a control-plane circuit for configuration, and a set ID allocator with a cache to manage address mapping sets and node group updates, allowing for efficient distribution of message flows across nodes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If load balancers rapidly adapt to node group changes, then responsiveness is improved, but hardware and software resource consumption increases
Solution Approach 1:
The load balancer is segmented into distinct functional modules: a set ID allocator that generates identifiers, a cache that stores recently used set identifiers, and a destination selector that uses these identifiers to forward traffic. This segmentation allows each component to be optimized independently, with the cache handling frequent access patterns efficiently while the allocator and selector process only necessary changes during node group updates.
Solution Approach 2:
The cache stores set identifiers in advance during stable periods when node groups are not changing. By pre-loading and caching these identifiers, the system is prepared to handle traffic forwarding without needing to perform resource-intensive operations during normal operation, thus maintaining rapid responsiveness while reducing overall resource consumption.
2Adaptability or versatility
If load balancers dynamically react to changes in computing devices, then adaptability is improved, but processing time increases
Solution Approach 1:
The system performs preliminary actions by pre-computing and caching set identifiers during stable periods. When node group changes occur, the cache is already populated with valid identifiers, allowing the load balancer to quickly switch between cached identifiers without performing complex computations in real-time, thus reducing processing time while maintaining dynamic adaptability.
Solution Approach 2:
The cache creates copies of set identifiers that have been validated during stable periods. These copies can be rapidly retrieved and used during dynamic changes, eliminating the need to regenerate or recompute identifiers in real-time. The copying mechanism allows the system to respond dynamically to changes while minimizing processing time through the use of pre-computed data.
Data Source
AI summary
Some embodiments of the invention provide a forwarding element that has a data-plane circuit (data plane) that can be configured to implement one or more load balancers. The data plane has several stages of configurable data processing circuits, which are typically configured to process data tuples associated with data messages received by the forwarding element in order to forward the data messages within a network. However, in some embodiments, the configurable data processing circuits of the data plane can also be configured to implement a load balancer in the data plane that forwards message flows to different nodes of a node group. This load balancer includes a set of one or more storages to store several address mapping sets with each address mapping set corresponding to a different set of nodes in the node group. It also includes a destination selector that receives a set identifier for each message flow, and selects a node for the message flow from the mapping set identified by the set identifier received for the message flow.


