Load Balancer Dynamic Processor Allocation for Cloud Cache Bottlenecks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In cloud data centers, load balancing between application servers and cache servers is inefficient due to communication bottlenecks, requiring a dynamic and adaptive solution to manage data caching based on application characteristics and processing loads.
Innovation Solution
A load balancer with multiple programmable processors connected to network sockets, which writes and adjusts load balancing programs to distribute workload dynamically, measuring processing loads and allocating resources based on application-specific requirements, such as data transmission needs and user data access patterns.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a load balancer uses fixed resource allocation for processing cache requests, then device complexity is reduced, but productivity decreases due to inefficient resource utilization during varying load conditions
Solution Approach 1:
The load balancer dynamically adjusts the number of programmable processors allocated to cache request processing based on real-time workload conditions. When cache hit ratios decrease or request volumes increase, the system automatically allocates more processors to handle the load, and reduces allocation when demand decreases, optimizing throughput without permanent complexity
Solution Approach 2:
The load balancer autonomously monitors its own performance metrics (cache hit ratios, request processing times, processor utilization) and automatically reallocates programmable processors without external intervention. The system self-adjusts resource distribution based on observed workload patterns and application characteristics
2Productivity
If the load balancer dynamically adjusts processing resources, then productivity is improved through optimal resource utilization, but device complexity increases due to performance monitoring and program adjustment mechanisms
Solution Approach 1:
The programmable processors serve multiple functions: they process cache requests during normal operation and can be dynamically reconfigured to handle different types of workloads. The same hardware resources are universally applied to various processing tasks based on real-time needs, reducing the need for dedicated complex subsystems
Solution Approach 2:
The performance checking unit continuously monitors cache hit ratios, request processing times, and processor utilization metrics, feeding this information back to the program managing unit which adjusts processor allocation accordingly. This closed-loop feedback mechanism automates resource optimization without requiring complex manual control systems
3Loss of time
If the load balancer allocates more programmable processors to handle cache requests, then response time is reduced, but loss of energy increases due to higher processing power consumption
Solution Approach 1:
The load balancer allocates processing resources dynamically based on actual need rather than maintaining constant maximum capacity. It applies partial action by activating only the necessary number of programmable processors required to handle current workload demands, avoiding energy waste from running excess processors at full capacity during low-demand periods
Data Source
AI summary
Technologies are generally described for load balancing scheme in a cloud computing environment hosting a mobile device. In some examples, a load balancer may include multiple request processing units, each of the multiple request processing units comprising a network socket that is connected to at least one application server and at least one cache server and a programmable processor configured to process a cache request from one of the at least one application server, a performance checking unit configured to measure processing loads of the programmable processors, and a processor managing unit configured to adjust the processing loads by writing or deleting a load balancing program in at least one of the programmable processors.


