Variable Rate Limiting for Shared Resource Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Multicore processing systems face inefficiencies due to conservative time budgets for shared resource access, leading to increased execution times of processes, as existing token bucket methods require uniform access quotas across all time windows, limiting peak usage and reducing overall processing efficiency.
Innovation Solution
Implementing a method that allows for variable shared resource access quotas across different time windows, where quotas can be allocated and adjusted based on the number of accesses during specific time partitions, enabling throttling and unthrottling of processes to optimize resource utilization without uniform constraints.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a token bucket for each core is used to time limit shared resource access, then peak shared resource access is limited to avoid detrimental impact on other cores, but conservative time budgets are required for every time window, leading to lower processing efficiency and longer execution times
Solution Approach 1:
The patent applies dynamics by making the shared resource access quota variable across different time windows rather than static. The quota is adjusted dynamically based on the time window characteristics, allowing the system to adapt resource allocation to changing workload patterns and priorities, thereby improving processing efficiency while maintaining reliability constraints
Solution Approach 2:
The patent changes the parameter of shared resource access quota from a fixed value to a variable that changes based on time window properties. By modifying this parameter dynamically, the system can allocate more resources during low-priority periods and constrain access during high-priority periods, resolving the contradiction between reliability control and productivity
2Object-affected harmful factors
If conservative time budgets are used for shared resource access in every time window, then shared resource access is controlled to prevent detrimental impact, but processing efficiency is reduced and execution times increase
Solution Approach 1:
The patent implements periodic action by dividing time into distinct time windows with different quota allocations. During certain periodic intervals (low-priority time windows), more generous quotas are allowed, while during other intervals (high-priority time windows), stricter quotas are enforced. This periodic variation reduces overall execution time while still preventing detrimental impacts during critical periods
Solution Approach 2:
The system dynamically adjusts the shared resource access quota based on the current time window's priority level. By making the quota flexible rather than consistently conservative, the system can allow faster execution during non-critical periods while maintaining protection during critical periods, thereby reducing total execution time without compromising harm prevention
Data Source
Figure 1
Figure 2A
Figure 2B
AI summary
A method is provided. The method comprises: commencing a time window, where the time window has a fixed or variable time duration; determining a shared resource access quota for at least one time partition for the time window, where the shared resource access quota may vary by time window; allocating each determined shared resource access quota to a corresponding time partition for the window; determining if allocated shared resource access quota for any time partition in the time window has been met or exceeded; and if an allocated shared resource access quota for a time partition in the time window has been met or exceeded, then halting an executing process in the time partition.