Task Mapping via Precondition Exclusivity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing task mapping techniques in distributed systems rely on workload estimates, which can be inaccurate and inefficient, leading to suboptimal allocation of computational tasks to resources.

Innovation Solution

A method that determines the mutual exclusivity of task preconditions to map tasks to the same or different computational locations, reducing overhead by co-locating mutually exclusive tasks and optimizing resource allocation without relying on workload estimates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If tasks are assigned to computational locations using traditional workload estimates, then task allocation can be performed, but the allocation is inaccurate and inefficient due to unreliable workload predictions

Engineering Contradiction:
Improveworkload estimation accuracyVSAvoidtask allocation efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent extracts the workload estimation component from the task allocation process and replaces it with precondition-based mutual exclusivity analysis. By removing the unreliable workload estimate dependency, the system achieves accurate task allocation based solely on precondition compatibility between tasks and computational locations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces precondition mutual exclusivity analysis as an intermediary mechanism between tasks and computational locations. Instead of directly using workload estimates for allocation, the system evaluates whether task preconditions are mutually exclusive with location constraints, providing a more reliable basis for allocation decisions.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If tasks are mapped to different computational locations to handle potential conflicts, then task execution isolation is improved, but overhead increases due to frequent state save and restore operations

Engineering Contradiction:
Improvetask execution isolationVSAvoidstate save and restore overhead
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent performs preliminary analysis of precondition mutual exclusivity before task allocation. By determining in advance whether tasks have conflicting preconditions, the system can proactively assign compatible tasks to the same computational location, avoiding unnecessary state save and restore operations while maintaining execution isolation where needed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the allocation decision parameter from workload estimates to precondition mutual exclusivity status. This parameter change enables the system to identify tasks that can safely share computational locations without requiring frequent state saves and restores, thereby reducing overhead while maintaining reliability.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If computational resources are allocated to maximize task parallelism, then throughput is improved, but resource utilization decreases when tasks have conflicting preconditions

Engineering Contradiction:
Improvetask throughputVSAvoidcomputational resource utilization
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent applies local quality by allowing different computational locations to have different task assignments based on their specific precondition compatibility profiles. Tasks with compatible preconditions are localized to the same computational location to improve resource utilization, while tasks with conflicting preconditions are assigned to different locations to maintain throughput.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10606667B2Precondition exclusivity mapping of tasks to computational locations
Publication Date: 2020.03.31 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10606667B2 patent drawing
  • US10606667B2 patent drawing

AI summary

Computational tasks are mapped with computational locations in a distributed system such as a cloud computing environment. Mapping does not rely on workload estimates. Instead, tasks whose prerequisite tasks or other preconditions are determined to be mutually exclusive are co-located, while other tasks are mapped to different locations than one another. Locations are servers, processor cores, virtual machines, applications, or computational processes, for example. Mutual exclusivity may be determined by detecting that preconditions require different values of a shared variable in order to be satisfied, for example, or determining that preconditions correspond to different branches of a conditional programming statement. A satisfiability engine may also provide a satisfiability determination. Co-located tasks may also be batched, for improved execution performance. Co-location based on mutual exclusivity may result in fewer operations to save and restore task state, fewer cache misses, greater co-allocation of computational resources by the tasks, and easier debugging.