IP Library › Granted Patent US 10,313,769
Granted Patent B2
US 10,313,769 · App. 15/396,284 · Granted Jun 4, 2019

Technologies for performing partially synchronized writes

Inventor: Steven C. Miller (Livermore, CA)
Assignee: Intel Corporation
H04Q11/0005B25J15/0014B65G1/0492G02B6/3882G02B6/3893G02B6/3897G02B6/4292G02B6/4452G05D23/1921G05D23/2039G06F1/183G06F3/061G06F3/064G06F3/067G06F3/0611G06F3/0613G06F3/0616G06F3/0619G06F3/0625G06F3/0631G06F3/0638G06F3/0647G06F3/0653G06F3/0655G06F3/0658G06F3/0659G06F3/0664G06F3/0665G06F3/0673G06F3/0679G06F3/0683G06F3/0688G06F3/0689G06F8/65G06F9/4401G06F9/505G06F9/5016G06F9/5044G06F9/5072G06F9/5077G06F11/141G06F11/3414G06F12/0862G06F12/0893G06F12/10G06F12/109G06F12/1408G06F13/161G06F13/1668G06F13/1694G06F13/409G06F13/4022G06F13/4068G06F13/42G06F13/4282G06F15/8061G06F16/9014G06F17/30949G06Q10/06G06Q10/06314G07C5/008G08C17/02G11C5/02G11C5/06G11C7/1072G11C11/56G11C14/0009H03M7/30H03M7/3084H03M7/3086H03M7/40H03M7/4031H03M7/4056H03M7/4081H03M7/6005H03M7/6023H04B10/2504H04L9/0643H04L9/14H04L9/3247H04L9/3263H04L12/2809H04L29/12009H04L41/024H04L41/046H04L41/082H04L41/0813H04L41/0896H04L41/145H04L41/147H04L43/08H04L43/0817H04L43/0876H04L43/0894H04L43/16H04L45/02H04L45/52H04L47/24H04L47/38H04L47/765H04L47/782H04L47/805H04L47/82H04L47/823H04L49/15H04L49/25H04L49/357H04L49/45H04L49/555H04L67/02H04L67/10H04L67/1004H04L67/1008H04L67/1012H04L67/1014H04L67/1029H04L67/1034H04L67/1097H04L67/12H04L67/16H04L67/306H04L67/34H04L69/04H04L69/329H04Q1/04H04Q11/00H04Q11/0003H04Q11/0062H04Q11/0071H04W4/023H05K1/0203H05K1/181H05K5/0204H05K7/1418H05K7/1421H05K7/1422H05K7/1447H05K7/1461H05K7/1487H05K7/1489H05K7/1491H05K7/1492H05K7/1498H05K7/2039H05K7/20709H05K7/20727H05K7/20736H05K7/20745H05K7/20836H05K13/0486G06F2209/5019G06F2209/5022G06F2212/1008G06F2212/1024G06F2212/1041G06F2212/1044G06F2212/152G06F2212/202G06F2212/401G06F2212/402G06F2212/7207G06Q10/087G06Q10/20G06Q50/04G08C2200/00H04B10/25H04L41/12H04L41/5019H04L43/065H04Q2011/0037H04Q2011/0041H04Q2011/0052H04Q2011/0073H04Q2011/0079H04Q2011/0086H04Q2213/13523H04Q2213/13527H04W4/80H05K7/1485H05K2201/066H05K2201/10121H05K2201/10159H05K2201/10189Y02D10/14Y02D10/151Y02P90/30Y10S901/01
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 10,313,769
App. No.
15/396,284
Granted
Jun 4, 2019
Kind
B2
Abstract

Technologies for managing partially synchronized writes include a managed node. The managed node is to issue a write request to write a data block, on behalf of a workload, to multiple data storage devices connected to a network, pause execution of the workload, receive an initial acknowledgment associated with one of the multiple data storage devices, wherein the initial acknowledgement is indicative of successful storage of the data block, and resume execution of the workload after receipt of the initial acknowledgement and before receipt of subsequent acknowledgements associated with any of the other data storage devices. Other embodiments are also described and claimed.

Claims (72)

1. A managed node to manage partially synchronized writes, the managed node comprising:

a network communicator to issue a write request to write a data block, on behalf of a workload, to multiple data storage devices connected to a network; and

a data manager to pause execution of the workload;

wherein the network communicator is further to receive an initial acknowledgment associated with one of the multiple data storage devices, wherein the initial acknowledgement is indicative of successful storage of the data block;

the data manager is further to resume execution of the workload after receipt of the initial acknowledgement and before receipt of subsequent acknowledgements associated with any other data storage devices of the multiple data storage devices;

the network communicator is further to receive a subsequent acknowledgement associated with one of the other data storage devices after the workload has been resumed; and

the data manager is further to determine an elapsed time period between the initial acknowledgement and the subsequent acknowledgement.

2. The managed node of claim 1 , wherein:

the data manager is further to determine whether the elapsed time period satisfies a predefined threshold time period; and

the network communicator is further to send, in response to a determination that the elapsed time period does not satisfy the predefined threshold time period, a request to at least one network device to increase a priority of write requests relative to other network traffic.

3. The managed node of claim 2 , wherein the data manager is further to:

receive an assignment of the workload from an orchestrator server; and

receive, with the assignment, an indication of the predefined threshold time period.

4. The managed node of claim 1 , wherein the data manager is further to:

determine whether the elapsed time period satisfies a predefined threshold time period; and

determine to await at least two acknowledgements in response to future write requests before resumption of the workload.

5. The managed node of claim 1 , wherein the data manager is further to:

receive an assignment of the workload from an orchestrator server;

receive, with the assignment, an indication of whether to enable partially synchronized writes; and

wherein to resume execution of the workload comprises to:

determine whether the assignment indicates to enable partially synchronized writes; and

resume execution in response to a determination that the assignment indicates to enable partially synchronized writes.

6. The managed node of claim 1 , wherein to issue the write request to multiple data storage devices comprises to issue the write request to multiple data storage devices in different failure domains.

7. The managed node of claim 1 , wherein to issue the write request to write a data block comprises to send a key associated with the data block, wherein the key uniquely identifies the data block.

8. The managed node of claim 1 , wherein to issue the write request to multiple storage devices comprises to issue the write request to one or more data storage devices of a different managed node.

9. The managed node of claim 1 , wherein to resume execution of the workload comprises to:

determine a number of partially synchronized write requests that have been issued, wherein each partially synchronized write request is a write request for which only one acknowledgement has been received;

determine whether the number of partially synchronized write requests satisfies a threshold number of allowable partially synchronized write requests; and

resume, in response to a determination that the number of partially synchronized write requests satisfies the threshold number, execution of the workload.

10. The managed node of claim 9 , wherein the data manager is further to receive an indication of the threshold number from an orchestrator server.

11. One or more non-transitory computer-readable storage media comprising a plurality of instructions that, when executed by a managed node, cause the managed node to:

issue a write request to write a data block, on behalf of a workload, to multiple data storage devices connected to a network;

pause execution of the workload;

receive an initial acknowledgment associated with one of the multiple data storage devices, wherein the initial acknowledgement is indicative of successful storage of the data block;

resume execution of the workload after receipt of the initial acknowledgement and before receipt of subsequent acknowledgements associated with any other data storage devices of the multiple data storage devices;

receive a subsequent acknowledgement associated with one of the other data storage devices after the workload has been resumed; and

determine an elapsed time period between the initial acknowledgement and the subsequent acknowledgement.

12. The one or more non-transitory computer-readable storage media of claim 11 , wherein the plurality of instructions, when executed, cause the managed node to:

determine whether the elapsed time period satisfies a predefined threshold time period; and

send, in response to a determination that the elapsed time period does not satisfy the predefined threshold time period, a request to at least one network device to increase a priority of write requests relative to other network traffic.

13. The one or more non-transitory computer-readable storage media of claim 12 , wherein the plurality of instructions, when executed, cause the managed node to:

receive an assignment of the workload from an orchestrator server; and

receive with the assignment, an indication of the predefined threshold time period.

14. The one or more non-transitory computer-readable storage media of claim 11 , wherein the plurality of instructions, when executed, cause the managed node to:

determine whether the elapsed time period satisfies a predefined threshold time period; and

determine to await at least two acknowledgements in response to future write requests before resumption of the workload.

15. The one or more non-transitory computer-readable storage media of claim 11 , wherein the plurality of instructions, when executed, cause the managed node to:

receive an assignment of the workload from an orchestrator server;

receive with the assignment, an indication of whether to enable partially synchronized writes; and

wherein to resume execution of the workload comprises to:

determine whether the assignment indicates to enable partially synchronized writes; and

resume execution in response to a determination that the assignment indicates to enable partially synchronized writes.

16. The one or more non-transitory computer-readable storage media of claim 11 , wherein to issue the write request to multiple data storage devices comprises to issue the write request to multiple data storage devices in different failure domains.

17. The one or more non-transitory computer-readable storage media of claim 11 , wherein to issue the write request to write a data block comprises to send a key associated with the data block, wherein the key uniquely identifies the data block.

18. The one or more non-transitory computer-readable storage media of claim 11 , wherein to issue the write request to multiple storage devices comprises to issue the write request to one or more data storage devices of a different managed node.

19. The one or more non-transitory computer-readable storage media of claim 11 , wherein to resume execution of the workload comprises to:

determine a number of partially synchronized write requests that have been issued, wherein each partially synchronized write request is a write request for which only one acknowledgement has been received;

determine whether the number of partially synchronized write requests satisfies a threshold number of allowable partially synchronized write requests; and

resume, in response to a determination that the number of partially synchronized write requests satisfies the threshold number, execution of the workload.

20. A method for managing partially synchronized writes, the method comprising:

issuing, by a managed node, a write request to write a data block, on behalf of a workload, to multiple data storage devices connected to a network;

pausing, by the managed node, execution of the workload;

receiving, by the managed node, an initial acknowledgment associated with one of the multiple data storage devices, wherein the initial acknowledgement is indicative of successful storage of the data block;

resuming, by the managed node, execution of the workload after receipt of the initial acknowledgement and before receipt of subsequent acknowledgements associated with any other data storage devices of the multiple data storage devices;

receiving, by the managed node, a subsequent acknowledgement associated with one of the other data storage devices after the workload has been resumed; and

determining, by the managed node, an elapsed time period between the initial acknowledgement and the subsequent acknowledgement.

21. The method of claim 20 , further comprising:

determining, by the managed node, whether the elapsed time period satisfies a predefined threshold time period; and

sending, by the managed node and in response to a determination that the elapsed time period does not satisfy the predefined threshold time period, a request to at least one network device to increase a priority of write requests relative to other network traffic.

22. The method of claim 21 , further comprising:

receiving, by the managed node, an assignment of the workload from an orchestrator server; and

receiving, by the managed node, with the assignment, an indication of the predefined threshold time period.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2017
From: MILLER, STEVEN C.
To: INTEL CORPORATION
Reel/Frame 041256/0980 →
Continuity (4)
Provisional Application 62365969 · Jul 22, 2016
Provisional Application 62376859 · Aug 18, 2016
Provisional Application 62427268 · Nov 29, 2016
Related Publication 20180024776A1 · Jan 25, 2018
Cited By (4)
US 12,261,940 US 12,288,101 US 12,506,817 US 12,619,465