Dynamic Codec Selector for Virtual Memory Compression

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computing systems face inefficiencies in data compression due to the selection of non-optimal hardware or software codecs, leading to increased power consumption, reduced performance, and mismanaged memory, especially when handling multiple software applications with limited cache memory storage.

Innovation Solution

A computing system with multiple codecs, including hardware and software options, employs a compressor selector that dynamically chooses between them based on characteristics such as compression rate, throughput, memory utilization, and energy efficiency, switching between hardware and software codecs depending on workload conditions to optimize performance and power usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If hardware codecs are used for data compression, then compression rate and throughput are improved, but power consumption increases

Engineering Contradiction:
Improvecompression rateVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system dynamically switches between hardware and software codecs based on real-time monitoring of compression performance metrics (compression ratio, throughput) and system conditions (power state, workload). This dynamic adaptation allows the system to optimize the trade-off between compression rate and power consumption by selecting the appropriate codec type for current operating conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The compressor selector changes operational parameters by switching between different codec implementations (hardware vs software) based on monitored performance parameters and system state. This parameter change enables the system to adapt to varying compression requirements and power constraints.

Inventive Principle:
Principle #35Parameter changes

2Use of energy by moving object

If software codecs are used for data compression, then power consumption is reduced, but compression rate and throughput decrease

Engineering Contradiction:
Improvepower consumptionVSAvoidcompression rate
Core Design Contradiction:
Use of energy by moving objectVSProductivity

Solution Approach 1:

The system dynamically selects between software and hardware codecs based on real-time conditions. When power conservation is prioritized and compression throughput requirements are met by software codecs, the system selects software implementation. This dynamic selection allows optimization of power consumption while maintaining adequate compression performance.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The compressor selector adjusts the operational parameter of codec type (software vs hardware) based on monitored compression throughput and power state, enabling the system to reduce power consumption when hardware codecs are not strictly necessary for meeting performance targets.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If a single codec type is used, then device complexity is reduced, but adaptability to different workload conditions deteriorates

Engineering Contradiction:
Improvecodec selection mechanismVSAvoidworkload adaptation
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The compression functionality is segmented into multiple independent codec implementations (hardware and software codecs with different algorithms). The compressor selector divides the decision-making process into monitoring compression performance and system state, then selecting the appropriate codec segment for current conditions. This segmentation provides adaptability without requiring a completely complex unified system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The compressor selector serves multiple functions: monitoring compression ratio, monitoring throughput, detecting power state, and selecting appropriate codec type. This multi-functional approach allows the system to adapt to various workload conditions using a single selection mechanism that handles diverse decision criteria.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Quantity of substance

If compression is performed frequently to reduce memory storage, then memory utilization is improved, but performance decreases due to swapping latency

Engineering Contradiction:
Improvememory storage utilizationVSAvoidsystem performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The system changes the compression parameter (compression ratio) dynamically based on workload characteristics and system state. By adjusting compression intensity, the system can achieve adequate memory storage utilization while minimizing the performance impact of compression operations, avoiding excessive swapping latency.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The compressor selector uses feedback from monitoring compression ratio and throughput to adjust compression behavior. This feedback mechanism allows the system to optimize memory storage utilization while maintaining performance by selecting compression strategies that balance storage efficiency with processing speed.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11113113B2Systems and methods for scheduling virtual memory compressors
Publication Date: 2021.09.07 APPLE INC
  • US11113113B2 patent drawing
  • US11113113B2 patent drawing
  • US11113113B2 patent drawing

AI summary

Systems, apparatuses, and methods for efficiently selecting compressors for data compression are described. In various embodiments, a computing system includes at least one processor and multiple codecs such as one or more hardware codecs and one or more software codecs executable by the processor. The computing system receives a workload and processes instructions, commands and routines corresponding to the workload. One or more of the tasks in the workload are data compression tasks. Current condition(s) are determined during the processing of the workload by the computing system. Conditions are determined to be satisfied based on comparing current selected characteristics to respective thresholds. In one example, when the compressor selector determines a difference between a target compression ratio and an expected compression ratio of the first codec exceeds a threshold, the compressor selector switches from hardware codecs to software codecs.