IP Library Granted Patent US 9,170,928
Granted Patent B1
US 9,170,928 · App. 14/145,875 · Granted Oct 27, 2015

I/O scheduling and load balancing across the multiple nodes of a clustered environment

Inventors: Suhas Dantkale (Sunnyvale, CA); Satyendra Thakur (Sunnyvale, CA); Kirubakaran Kaliannan (Beaverton, OR); Prasad Vadlamannati (Cupertino, CA)
Assignee: Symantec Corporation
G06F12/0223G06F2212/254
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,170,928
App. No.
14/145,875
Granted
Oct 27, 2015
Kind
B1
Abstract

Write operations are scheduled for multiple nodes in a shared storage cluster that supports volume replication. Requests are received from nodes for allocation of space for write operations in a replication log. In response to a received request, the current capacity of the requesting node to manage a backlog can be determined. The amount of space in the replication log allocated to the node is then calibrated to the node's capacity, thereby preventing self-throttling. A separate priority can be assigned to each volume, and space in the replication log assigned to each volume based on its priority. Nodes can target synchronous and other latency sensitive operations to higher priority volumes. A single global queue can be maintained to schedule write operations for all nodes, thereby providing a fair scheduling. A separate local queue can be maintained for each node, thereby providing specific levels of preference to specific nodes.

Claims (17)

1. A computer implemented method for scheduling write operations of a plurality of nodes, thereby balancing a load of storage input/output operations in a clustering and storage environment that utilizes shared storage and supports replication of data volumes, the method comprising the steps of:

receiving, by a computer, requests from nodes of the clustering and storage environment for allocation of space for write operations in a replication log, wherein nodes perform write operations by writing first to the replication log and subsequently to the shared storage, wherein an order of write operations to the replication log matches an order of write operations to the shared storage, and wherein the clustering and storage environment utilizes the order and content of write operations to the replication log to replicate the data volumes of the shared storage to a secondary site, thereby preserving write-order fidelity;

responsive to receiving a request from a specific node for the allocation of space in the replication log, determining, by the computer, a current capacity of the specific node to manage a backlog of write operations without throttling execution of its own write operations; and

calibrating, by the computer, an amount of space in the replication log to allocate to the determined current capacity of the specific node.

2. The method of claim 1 wherein calibrating an amount of space in the replication log to allocate to the determined current capacity of the specific node further comprises:

allocating the specific node only enough space in the replication log to execute a number of backlogged write operations that the specific node can simultaneously manage without throttling its own write operations.

3. The method of claim 1 wherein calibrating an amount of space in the replication log to allocate to the determined current capacity of the specific node further comprises:

limiting allocation of space in the replication log to an upper limit of the specific node for simultaneous backlogged write operation management, thereby preventing the specific node from throttling its backlogged write operations above the upper limit.

4. The method of claim 1 wherein determining a current capacity of a specific node to manage a backlog of write operations without throttling execution of its own write operations further comprises:

gleaning information indicative of the current capacity of the specific node from a request received from the specific node for allocation of space for write operations in the replication log, wherein each received request for allocation of space in the replication log further comprises information indicative of the current capacity of the requesting node.

5. The method of claim 4 wherein the information indicative of the current capacity of the requesting node in received requests further comprises:

a number of outstanding storage input/out requests pending on the node, and the node's Small Computer System Interface (“SCSI”) tag command queue.

6. The method of claim 1 wherein receiving requests from nodes of the clustering and storage environment for allocation of space for write operations further comprises:

receiving requests from nodes of the clustering and storage environment for allocation of space for write operations, each one of said received requests further comprising information indicative of a priority of the corresponding write operation; and

scheduling write operations at a level of priority indicated in corresponding received requests.

7. The method of claim 1 wherein determining a current capacity of a specific node to manage a backlog of write operations without throttling execution of its own write operations further comprises:

periodically polling each one of the plurality of nodes for information indicative of the current capacity of the specific node.

Assignments (10)
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037697/0412 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2014
From: DANTKALE, SUHAS; THAKUR, SATYENDRA; KALIANNAN, KIRUBAKARAN; VADLAMANNATI, PRASAD
To: SYMANTEC CORPORATION
Reel/Frame 034220/0537 →