Kernel File Lock Worker Task Thundering Herd

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-task operating environments, concurrent access to shared files can lead to race situations and inefficient processor usage due to the 'thundering herd' effect, where all waiting tasks wake up and attempt to acquire a file lock, resulting in unnecessary power consumption and computational waste.

Innovation Solution

A kernel manages file locks by designating a subset of tasks as 'worker' tasks that wake up and attempt to acquire locks on behalf of other idle tasks, reducing the number of tasks that need to wake up and attempt to acquire locks, thereby minimizing unnecessary processor activity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all waiting tasks wake up and attempt to acquire a file lock, then the system ensures that tasks can access the file as soon as the lock is available, but this causes the 'thundering herd' effect resulting in unnecessary power consumption and processor computational waste

Engineering Contradiction:
Improvefile access reliabilityVSAvoidprocessor power consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent introduces a worker task as an intermediary between the lock and other waiting tasks. When a lock becomes available, the worker task acquires it and holds it briefly, allowing other waiting tasks to wake up and find the lock already acquired, thus avoiding the thundering herd effect where all tasks simultaneously compete for the lock

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The worker task serves the system by automatically acquiring and holding the lock when available, eliminating the need for all waiting tasks to simultaneously attempt lock acquisition. This self-service mechanism reduces processor activity and power consumption while maintaining file access reliability

Inventive Principle:
Principle #25Self-service

2Adaptability or versatility

If all waiting tasks wake up and attempt to acquire a file lock, then the system ensures fair access opportunity for all tasks, but this results in unnecessary processor activity and computational waste

Engineering Contradiction:
Improvetask access fairnessVSAvoidprocessor efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The worker task acts as a mediator that manages lock acquisition on behalf of waiting tasks. It acquires the lock when available and holds it, allowing other tasks to wake up and find the lock already taken, thus maintaining fairness without requiring all tasks to simultaneously compete for the lock

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Instead of having all waiting tasks attempt to acquire the lock simultaneously, the system uses a single worker task to perform the lock acquisition action. This partial action is sufficient to ensure fair access while avoiding the excessive processor activity that would result from all tasks competing at once

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9582340B2File lock
Publication Date: 2017.02.28 RED HAT INC
  • US9582340B2 patent drawing
  • US9582340B2 patent drawing
  • US9582340B2 patent drawing

AI summary

A system and a method are disclosed for managing file locks, including initiating, by a processing device executing a kernel, executions of a number of active tasks that each has acquired a respective lock to a record, and in response to release of a first lock to the record by an active task, waking up a previously-designated worker task out of a number of idle tasks, in which the worker task is to attempt an acquisition of a second lock on behalf of at least one remaining task of the idle tasks.