Container Time Accounting for Network Packet Transmission
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing container-based cloud computing systems face challenges in accurately accounting and enforcing resource usage limits due to incorrect accounting of system resource usage during non-process execution, leading to unfair throttling of containers.
Innovation Solution
A method and system that determine and enforce resource limits by calculating the total container time remaining, accounting for processor packet transmission time, and descheduling processor threads if the remaining time is insufficient, ensuring accurate accounting and enforcement of both process and non-process execution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If container-based software transmits data over network using shared processor threads, then resource utilization efficiency is improved, but accuracy of accounting system resource usage deteriorates
Solution Approach 1:
The patent segments the accounting of processor time into two distinct components: process execution time and non-process execution time (such as interrupt handling). By separating these accounting mechanisms, the system can accurately track resource usage for each container even when sharing processor threads, resolving the contradiction between improved resource utilization and accurate resource accounting.
2Ease of operation
If processor threads are descheduled to enforce resource limits, then fairness in resource allocation is improved, but system throughput deteriorates
Solution Approach 1:
The patent implements dynamic throttling of processor threads based on real-time container resource usage. Instead of static descheduling, the system dynamically adjusts thread execution by monitoring accumulated processor time and selectively throttling only those containers that have exceeded their allocated resources. This dynamic approach maintains fairness while minimizing impact on overall system throughput.
3Reliability
If container resource limits are strictly enforced, then resource isolation between containers is improved, but flexibility in resource allocation deteriorates
Solution Approach 1:
The patent changes the parameter of resource accounting by tracking not just total processor time but specifically separating process execution time from non-process execution time. This parameter change allows the system to enforce resource limits more fairly by excluding system-level overhead from container charges, thereby maintaining isolation while improving flexibility in resource allocation.
Data Source
AI summary
Utilizing a computing device to determine and enforce limits on cloud computing containers transmitting data over a network. A determination is made of total container time remaining available for a first container to execute in a computing environment, the first container utilizing one or more processor threads executing on a computing device. Processor packet transmission time is determined for processing and transmission of a packet or a batch of packets via a network stack associated with the computing device by the one or more processor threads utilized by the first container. An updated total container time remaining for the first container is calculated, accounting for the processor packet transmission time. The updated total container time remaining is enforced by descheduling all processor threads utilized by the first container if the updated total container time remaining is insufficient.


