Ripple scheduling for end-to-end global resource management
First Claim
1. A global resource manager for communicating locally with a local resource manager that locally manages an application session and for communicating globally with another global resource manager in order to globally manage the application session, wherein the global resource manager globally manages the application session according to a criticality level, a timing requirement, and a QoS of the session.
1 Assignment
0 Petitions
Accused Products
Abstract
A global resource manager is provided for each node of a plurality of nodes of a distributed data processing system. Each node can be a coordinator node, an intermediate node, and a leaf node depending on the node at which a session arrives for global processing. In response to the arriving sessions, the global resource managers implement ripple scheduling by conducting a global QoS negotiation and adaptation, and preemption if necessary, in order to determine if the arriving session is supportable by the distributed data processing system. More specifically, the resource managers of all nodes determine whether their corresponding nodes can support the arriving session. The resource managers of the coordinator node and all intermediate nodes request their child nodes to indicate whether the child nodes can support the arriving session. The resource managers of all intermediate nodes and all leaf nodes respond to their coordinating or intermediate nodes with an indication of supportability. The resource manager of the coordinator node sends a commit message if all nodes can support the arriving session.
52 Citations
25 Claims
- 1. A global resource manager for communicating locally with a local resource manager that locally manages an application session and for communicating globally with another global resource manager in order to globally manage the application session, wherein the global resource manager globally manages the application session according to a criticality level, a timing requirement, and a QoS of the session.
-
12. A processing node of a distributed data processing system comprising:
-
a local resource manager arranged to manage a local resource in response to a test-and-hold instruction; and
,a global resource manager, wherein the global resource manager is arranged to conduct a peer-to-peer global QoS negotiation and adaptation with other global resource managers of the distributed data processing system through a test-and-hold instruction, wherein the global resource manager is arranged to initiate a test-and-hold instruction to the local resource manager, wherein the global resource manager is arranged to receive a response from the local resource manager indicating whether its local resource can support a session, and wherein the global resource manager is arranged to interface with different types of local resource managers. - View Dependent Claims (13, 14)
-
-
15. A processing node of a distributed data processing system comprising:
-
a local resource manager arranged to manage a local resource in response to a test-and-hold instruction;
an operating system, wherein the operating system is arranged to operate the local resource; and
,a global resource manager, wherein the global resource manager is arranged to conduct a peer-to-peer global negotiation with other global resource managers of the distributed data processing system through a test-and-hold instruction, wherein the global resource manager is arranged to initiate a test-and-hold instruction to the local resource manager, wherein the global resource manager is arranged to receive a response from the local resource manager indicating whether its local resource can support a session, and wherein the global resource manager sits on top of the operating system. - View Dependent Claims (16, 17, 18, 19, 20)
QoS shrinking means for shrinking a QoS of each of a plurality of executing sessions and a QoS of an arriving session;
preempting means for preempting, as necessary, the executing sessions which have criticality levels that are lower than a criticality level of the arriving session; and
,QoS expanding means for expanding the QoS of any sessions.
-
-
17. The processing node of claim 16 wherein the QoS shrinking means shrinks the QoS of each of the executing sessions and shrinks the QoS of the arriving session to corresponding minimums.
-
18. The processing node of claim 16 wherein the preempting means includes determining means for determining a schedulable criticality level with respect to the executing sessions.
-
19. The processing node of claim 18 wherein the QoS expanding means expands the QoS of each session to a maximum QoS supportable by the local resource.
-
20. The processing node of claim 16 wherein the QoS expanding means expands the QoS of each session to a maximum QoS supportable by the local resource.
-
21. A method of globally managing a plurality of sessions executing at a plurality of distributed processing nodes comprising:
-
determining whether a local resource can support an arriving session by shrinking a QoS for each of the executing sessions and preempting one or more of the executing sessions, as necessary, to admit the arriving session; and
,if it is determined that the local resource can support the arriving session, sending a message to the distributed processing nodes indicating that the local resource can support the arriving session. - View Dependent Claims (22, 23, 24, 25)
-
Specification