Gang Scheduling in Asynchronous Distributed Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In loosely-coupled, asynchronous distributed systems, simultaneous scheduling of processes across different nodes is challenging due to the absence of a centralized operating system and independent schedulers, leading to indeterminism in message processing and increased scheduling skew.

Innovation Solution

A gang scheduling mechanism that uses reliable group communication, such as multicast and unicast messages, to ensure that cooperating processes are dispatched simultaneously across nodes by adjusting priority levels and utilizing a gang scheduling infrastructure that approximates simultaneous operation, even in asynchronous systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If independent schedulers are used on each node in an asynchronous distributed system, then system autonomy and flexibility are improved, but simultaneous scheduling of processes across nodes deteriorates due to lack of synchronization

Engineering Contradiction:
Improvesystem autonomyVSAvoidscheduling simultaneity
Core Design Contradiction:
Adaptability or versatilityVSManufacturing precision

Solution Approach 1:

The patent introduces a gang scheduling message as an intermediary that coordinates between independent schedulers on different nodes. This message carries gang identifiers and scheduling information, enabling processes from multiple nodes to be scheduled simultaneously without requiring a centralized scheduler, thus preserving system autonomy while achieving scheduling simultaneity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If message-based communication is used for gang scheduling in asynchronous systems, then system flexibility is maintained, but scheduling skew increases due to indeterminism in message processing timing

Engineering Contradiction:
Improvesystem flexibilityVSAvoidscheduling skew
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-tagging processes with gang identifiers before scheduling. When a gang scheduling message is received, all processes belonging to the same gang are already identified and can be dispatched simultaneously. This pre-preparation reduces the indeterminism in message processing timing and minimizes scheduling skew while maintaining system flexibility.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If reliable group communication is implemented for gang scheduling, then scheduling reliability is improved, but system complexity increases due to acknowledgment and coordination mechanisms

Engineering Contradiction:
Improvescheduling reliabilityVSAvoidcommunication mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the reliability assurance mechanism from the core gang scheduling logic by implementing it at the communication layer. The system uses existing reliable group communication primitives (such as those from the Global Entry Specification) to handle acknowledgments and coordination, separating these concerns from the gang scheduling algorithm itself. This reduces the apparent complexity of the scheduling mechanism while maintaining scheduling reliability.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS7562363B1Gang scheduling among one or more components or systems
Publication Date: 2009.07.14 CISCO TECHNOLOGY INC
  • US7562363B1 patent drawing
  • US7562363B1 patent drawing
  • US7562363B1 patent drawing

AI summary

Disclosed are mechanisms for initiating and performing tasks by a gang of members. A member of a gang identifies an event or other condition which requires notification to and/or action to be taken by at least a subset, if not all the other members of the gang. The gang member notifies other gang members by sending a message, such as that using reliable group communication using multicast and/or unicast messages. The information notified to other gang members and/or actions to be performed are extensible to meet the needs of the wide-variety of possible applications. A small list of example subject areas of these applications includes collecting, distributing, updating, responding to, and/or other processing of error conditions, routing information (e.g., between systems, from a route processor to line cards within a system, etc.), configuration information, flow control information, statistics or other values, etc.