Software Switch Dynamic CPU Frequency Adjustment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cloud systems face high power consumption and unnecessary heating due to continuous polling by virtual machines, leading to increased energy costs and environmental impact.
Innovation Solution
A software switch that adjusts the clock frequency of CPUs based on the number of packets in the queue, reducing power consumption by decreasing frequency during low load and increasing it during high load, thereby managing power usage efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the virtual machine continuously polls the virtual port for packets, then the virtual machine can communicate with entities outside the host machine, but the CPU will be very busy and power consumption will be high
Solution Approach 1:
The patent implements discontinuous polling where the virtual machine polls the virtual port at periodic intervals rather than continuously. The software switch monitors queue depth and only triggers polling when packets are available, converting continuous polling into periodic action based on actual traffic conditions.
Solution Approach 2:
The patent dynamically adjusts the polling behavior based on queue depth. When the packet queue is empty, polling is suspended or reduced; when packets arrive, polling is activated. This dynamic adaptation allows the system to maintain communication reliability while minimizing unnecessary CPU activity and power consumption during low-traffic periods.
2Speed
If the virtual machine continuously polls the virtual port for packets, then packets can be processed promptly, but CPU and surrounding electronics will heat up requiring additional cooling power
Solution Approach 1:
The system uses event-driven periodic polling triggered by queue depth thresholds. Instead of continuous polling that generates constant heat, the virtual machine polls only when packets are available in the queue, reducing thermal generation while maintaining packet processing speed when needed.
Solution Approach 2:
The patent changes the operational parameters of the polling mechanism based on traffic conditions. The polling frequency and activation state are adjusted as parameters based on queue depth, allowing the system to optimize between processing speed and thermal management by scaling activity levels to match actual workload.
3Productivity
If the clock frequency of the CPU is increased to handle high packet load, then packet processing capability improves, but power consumption increases
Solution Approach 1:
The patent implements dynamic clock frequency adjustment where the CPU frequency is scaled based on actual packet queue depth. During high-traffic periods, frequency increases to maximize processing capability; during low-traffic periods, frequency decreases to reduce power consumption. This dynamic scaling aligns computational resources with actual workload demands.
Solution Approach 2:
The system dynamically changes the clock frequency parameter in response to queue depth measurements. The software switch monitors packet accumulation and adjusts CPU frequency accordingly, transforming the static frequency into a dynamic parameter that adapts to traffic conditions, thereby optimizing the trade-off between productivity and energy consumption.
Data Source
AI summary
A software switch and a method performed by the software switch are disclosed. The software switch receives, from a node deploying a virtual machine, a request for a virtual port to be polled by the virtual machine. The request includes a Central Processing Unit “CPU” identity identifying a CPU on which the virtual machine executes. The request includes an indication of a clock frequency at which the CPU is set to operate. The software switch determines a number of packets in a queue associated with the virtual port. The software switch adjusts the clock frequency of the CPU based on the number of packets in the queue. A corresponding computer program and a computer program carrier are also disclosed.


