Task Group Cancellation Mechanism for Concurrent Execution Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing scheduler technologies in computer systems limit the ability of processes to control concurrent execution and cancel tasks, restricting flexibility and control over execution contexts.

Innovation Solution

A scheduler mechanism that allows task groups to be cancelled by arbitrary execution contexts or asynchronous error states, using cancel indicators and local aliases to manage concurrent execution and cancellation processes, enabling flexible task group management without synchronization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the scheduler maintains control over execution contexts and processing resources, then system stability and resource management are improved, but the process's ability to control and cancel concurrent execution is limited

Engineering Contradiction:
Improvesystem stabilityVSAvoidprocess control flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments the execution context control by introducing task groups that can be independently cancelled. Each task group represents a unit of work that can be cancelled without affecting the entire process or other task groups. This segmentation allows the process to have fine-grained control over concurrent execution while the scheduler maintains overall system stability through its continued management of individual tasks and execution contexts.

Inventive Principle:
Principle #1Segmentation

2Reliability

If the scheduler limits execution context control to maintain system stability, then system reliability is improved, but task cancellation capability deteriorates

Engineering Contradiction:
Improvesystem reliabilityVSAvoidtask cancellation capability
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent introduces task groups as intermediary structures between the process and the scheduler's execution contexts. When a process needs to cancel tasks, it cancels the task group rather than directly managing individual execution contexts. This intermediary layer provides an easy-to-use cancellation interface for the process while the scheduler handles the complex work of notifying and terminating individual execution contexts, thus maintaining system reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Stability of the object's composition

If the scheduler restricts which execution contexts can control concurrent parts, then system stability is maintained, but process control flexibility is reduced

Engineering Contradiction:
Improvesystem stabilityVSAvoidprocess control flexibility
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The patent makes task groups universal objects that can be created, managed, and cancelled by any execution context within the process, not just the original creator. This multi-functionality allows different execution contexts to cooperate and coordinate through shared task groups, enabling flexible process control while the scheduler maintains stability by managing the actual execution contexts according to its policies.

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

Data Source

PatentUS8959517B2Cancellation mechanism for cancellable tasks including stolen task and descendent of stolen tasks from the cancellable taskgroup
Publication Date: 2015.02.17 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8959517B2 patent drawing
  • US8959517B2 patent drawing
  • US8959517B2 patent drawing

AI summary

A scheduler in a process of a computer system schedules tasks of a task group for concurrent execution by multiple execution contexts. The scheduler provides a mechanism that allows the task group to be cancelled by an arbitrary execution context or an asynchronous error state. When a task group is cancelled, the scheduler sets a cancel indicator in each execution context that is executing tasks corresponding to the cancelled task group and performs a cancellation process on each of the execution contexts where a cancel indicator is set. The scheduler also creates local aliases to allow task groups to be used without synchronization by execution contexts that are not directly bound to the task groups.