Resource Aware Programming Tools for Computational Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing programming approaches fail to systematically balance resource usage with quantitative metrics, leading to inefficient resource consumption and inability to ensure consistent satisfaction of user expectations, especially in resource-intensive processes like loops and functions.

Innovation Solution

Resource Aware Programming (RAP) tools generate an approximate version of a program that satisfies quantitative metrics while using fewer resources, employing a calibration phase to build a performance loss model and a synthesis phase to create the approximate version, with a runtime recalibration mechanism to ensure continued metric satisfaction.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the original program processes the task to 100% completion, then the quantitative metrics are satisfied, but the resource consumption increases significantly

Engineering Contradiction:
Improvequantitative metric satisfactionVSAvoidresource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent applies partial action by generating an approximate version of the program that performs only the necessary processing to satisfy quantitative metrics. The RAP tool analyzes the original program and creates a simplified version that stops processing once the metrics are met, avoiding unnecessary computational resources spent on achieving 100% completion when 99% already satisfies user expectations.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent changes the execution parameters by transforming the original program into an approximate version with modified processing depth and resource allocation. The RAP tool adjusts key parameters such as processing iterations, computational depth, and resource distribution to achieve metric satisfaction with reduced resource consumption.

Inventive Principle:
Principle #35Parameter changes

2Use of energy by moving object

If the approximate version uses fewer resources, then the resource consumption decreases, but the program complexity increases

Engineering Contradiction:
Improveresource consumptionVSAvoidprogram complexity
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The RAP tool serves as an intermediary between the original program and the approximate version. It analyzes the original program's structure, identifies optimization opportunities, and generates the approximate version automatically. This intermediary approach reduces the burden on developers to manually optimize while maintaining control over the transformation process.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a copy of the original program that is simplified and optimized. The RAP tool generates an approximate version that replicates the essential functionality of the original program but with reduced complexity and lower resource consumption. This copying approach allows the original program to remain unchanged while providing an optimized variant.

Inventive Principle:
Principle #26Copying

3Use of energy by moving object

If the RAP tool generates an approximate version, then the resource consumption decreases, but the measurement precision of task completion decreases

Engineering Contradiction:
Improveresource consumptionVSAvoidtask completion precision
Core Design Contradiction:
Use of energy by moving objectVSMeasurement precision

Solution Approach 1:

The RAP tool incorporates feedback mechanisms that monitor quantitative metrics during program execution. It continuously measures whether the approximate version satisfies the specified metrics and adjusts processing depth accordingly. This feedback loop ensures that resource consumption is reduced while maintaining sufficient precision to meet the required quantitative guarantees.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9329876B2Resource aware programming
Publication Date: 2016.05.03 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9329876B2 patent drawing
  • US9329876B2 patent drawing
  • US9329876B2 patent drawing

AI summary

The described implementations relate to resource aware programming. In one case a program is obtained that is configured to perform a task in accordance with one or more quantitative metrics. An approximate version can be generated from the program. The approximate version is configured to perform the task in a manner that satisfies the one or more quantitative metrics while using fewer computer resources than the program.