IP Library Granted Patent US 9,965,441
Granted Patent B2
US 9,965,441 · App. 14/965,736 · Granted May 8, 2018

Adaptive coalescing of remote direct memory access acknowledgements based on I/O characteristics

Inventors: Prabhath Sajeepa (San Jose, CA); Sagar Borikar (San Jose, CA)
Assignee: CISCO TECHNOLOGY, INC.
G06F15/17331G06F13/28G06F13/4282
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,965,441
App. No.
14/965,736
Granted
May 8, 2018
Kind
B2
Abstract

An example method for adaptively coalescing remote direct memory access (RDMA) acknowledgements is provided. The method includes determining one or more input/output (I/O) characteristics of RDMA packets of a plurality of queue pairs (QPs) on a per-QP basis, each QP identifying a respective RDMA connection between a respective first compute node and a respective second compute node. The method further includes determining an acknowledgement frequency for providing acknowledgements of the RDMA packets on a per-QP basis (i.e., a respective acknowledgement frequency is set for each QP) based on the determined one or more I/O characteristics for each QP.

Claims (27)

1. A method for adaptively coalescing remote direct memory access (RDMA) acknowledgements, the method comprising:

determining one or more input/output (I/O) characteristics of RDMA packets of a plurality of queue pairs (QPs) on a per-QP basis, each QP identifying a RDMA connection between a first compute node and a second compute node;

weighting each I/O characteristic of the one or more I/O characteristics of the RDMA packets of each QP to define weighted I/O characteristics; and

determining an acknowledgement frequency for providing acknowledgements of the RDMA packets on a per-QP basis based on the one or more weighted I/O characteristics of the RDMA packets of the each QP.

2. The method according to claim 1 , wherein the one or more I/O characteristics comprise I/O type.

3. The method according to claim 2 , wherein the I/O type of RDMA packets of each QP is determined to be a first type when the sampled RDMA packets of the QP include RDMA packets that satisfy a first condition, and is determined to be a second type otherwise.

4. The method according to claim 3 , wherein the I/O type of RDMA packets of the each QP is determined to be the first type when the sampled RDMA packets of the QP include a predefined amount of RDMA SEND operations.

5. The method according to claim 3 , wherein the I/O type of RDMA packets of the each QP is determined to be the first type when the sampled RDMA packets of the QP include a predefined amount of RDMA READ and RDMA WRITE operations.

6. The method according to claim 1 , wherein the one or more I/O characteristics comprise I/O rate indicating utilization of available bandwidth by RDMA packets of each QP.

7. The method according to claim 1 , wherein the one or more I/O characteristics comprise I/O size indicating average payload of RDMA packets of each QP.

8. The method according to claim 1 , wherein:

the one or more I/O characteristics of the RDMA packets of each QP comprise an I/O rate, an I/O size, and an I/O type, and

determining the acknowledgement frequency comprises determining the acknowledgment frequency based on a coalescing factor (CF), the CF determined as CF=((io_rate_weight+io_size_weight)/2).times.(io_type_weight/100), where io_rate_weight is a weighting of the I/O rate, io_size_weight is a weighting of the I/O size, and io_type_weight is a weighting of the I/O type.

9. A system for adaptively coalescing remote direct memory access (RDMA) acknowledgements, the system comprising: at least one memory element configured to store computer executable instructions, and at least one processor coupled to the at least one memory element and configured, when executing the instructions, to perform operations comprising: determine one or more input/output (I/O) characteristics of RDMA packets of a plurality of queue pairs (QPs) on a per-QP basis, each QP identifying a RDMA connection between a first compute node and a second compute node; weight each I/O characteristic of the one or more I/O characteristics of the RDMA packets of each QP to define weighted I/O characteristics; and determine an acknowledgement frequency for providing acknowledgements of the RDMA packets on a per-QP basis based on the one or more weighted I/O characteristics of the RDMA packets of the each QP.

10. The system according to claim 9 , wherein the one or more I/O characteristics comprise I/O type.

11. The system according to claim 10 , wherein the I/O type of RDMA packets of each QP is determined to be a first type when the sampled RDMA packets of the QP include RDMA packets that satisfy a first condition, and is determined to be a second type otherwise.

12. The system according to claim 9 , wherein the one or more I/O characteristics comprise I/O rate indicating utilization of available bandwidth by RDMA packets of each QP.

13. The system according to claim 9 , wherein the one or more I/O characteristics comprise I/O size indicating average payload of RDMA packets of each QP.

14. One or more non-transitory tangible media encoding logic that include instructions for execution that, when executed by a processor, are operable to perform operations for adaptively coalescing remote direct memory access (RDMA) acknowledgements, the operations comprising:

determining one or more input/output (I/O) characteristics of RDMA packets of a plurality of queue pairs (QPs) on a per-QP basis, each QP identifying a RDMA connection between a first compute node and a second compute node;

weighting each I/O characteristic of the one or more I/O characteristics of the RDMA packets of each QP to define weighted I/O characteristics; and

determining an acknowledgement frequency for providing acknowledgements of the RDMA packets on a per-QP basis based on the one or more weighted I/O characteristics of the RDMA packets of the each QP.

15. The media according to claim 14 , wherein the one or more I/O characteristics comprise I/O type.

16. The media according to claim 15 , wherein the I/O type of RDMA packets of each QP is determined to be a first type when the sampled RDMA packets of the QP include RDMA packets that satisfy a first condition, and is determined to be a second type otherwise.

17. The media according to claim 14 , wherein:

the one or more I/O characteristics of the RDMA packets of each QP comprise an I/O rate, an I/O size, and an I/O type, and

determining the acknowledgement frequency comprises determining the acknowledgment frequency based on a coalescing factor (CF), the CF determined as CF=((io_rate_weight+io_size_weight)/2).times.(io_type_weight/100), where io_rate_weight is a weighting of the I/O rate, io_size_weight is a weighting of to the I/O size, and io_type_weight is a weighting of the I/O type.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 10, 2015
From: SAJEEPA, PRABHATH; BORIKAR, SAGAR
To: CISCO TECHNOLOGY, INC.
Reel/Frame 037264/0994 →
Continuity (1)
Related Publication 20170168986A1 · Jun 15, 2017