Software Resource Allocation via Interrupt-Driven Group Limits
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing resource utilization management technologies in computer systems impose significant overhead and performance reductions, particularly when enforcing share allocation schemes, leading to situations where one executable in a group consumes all resources, preventing others from accessing them for extended periods.
Innovation Solution
A method and system that dynamically manage resource utilization by identifying groups, decrementing utilization limits and reserves in response to system interrupts, and scheduling executables based on available limits and reserves to ensure fair access to resources, using software routines to allocate and account for processor resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If known capping technologies are used to limit resource utilization by executables, then resource allocation control is improved, but application performance deteriorates due to significant overhead
Solution Approach 1:
The resource management system is segmented into distinct software routines: an allocator routine that establishes utilization limits, an accountant routine that tracks and decrements limits in response to interrupts, and a scheduler routine that enforces limits. This segmentation distributes the management overhead across specialized components rather than a single complex system, reducing overall overhead while maintaining control.
Solution Approach 2:
The system implements self-service through the accountant routine that automatically decrements utilization limits in response to system interrupts without requiring external intervention. The scheduler routine automatically verifies limits before granting resource access, creating a self-regulating system that reduces management overhead while maintaining precise control.
2Productivity
If known capping technologies enforce share allocation schemes, then resource allocation control is improved, but resource access fairness deteriorates as single executables consume all resources
Solution Approach 1:
The accountant routine provides continuous feedback by tracking utilization limits and automatically decrementing them in response to system interrupts. This feedback mechanism prevents any single executable from consuming all resources by enforcing limits in real-time, ensuring fair access while maintaining allocation efficiency.
Solution Approach 2:
The allocator routine performs preliminary action by establishing utilization limits for each group before executables access resources. The scheduler routine verifies these pre-established limits before granting access, preventing resource monopolization before it can occur while maintaining efficient allocation.
3Reliability
If utilization limits are enforced at group level, then resource isolation between groups is improved, but intra-group resource distribution deteriorates
Solution Approach 1:
The system segments resource management into group-level isolation (enforced by the scheduler verifying group limits) and intra-group distribution (handled by the accountant decrementing limits for individual executables). This segmentation maintains reliable group isolation while improving intra-group resource distribution through automated tracking.
Data Source
AI summary
In one embodiment, a method comprises (i) identifying a group associated with an executable that is using a resource of a computer system, (ii) decrementing a group utilization limit for the resource when the group utilization limit is greater than zero, (iii) decrementing a utilization reserve for the group when the group utilization limit for the resource equals zero, wherein operations (i)-(iii) are performed by a software routine responsive to system interrupts, and (iv) scheduling another executable to use the resource, wherein the scheduling verifies that (a) the another executable belongs to a group that has a non-zero group utilization limit for the resource or (b) the another executable belongs to a group that has a non-zero utilization reserve.


