Gang Scheduling in Asynchronous Distributed Systems
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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
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.
Data Source
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.


