IP Library › Granted Patent US 12,020,072
Granted Patent B2
US 12,020,072 · App. 17/311,289 · Granted Jun 25, 2024

Computing resource allocation

Inventors: Matthew Carlson Dobson (London, GB); James Peter Nicholas Kay (London, GB); Rashid Mohamed Mansoor (London, GB)
Assignee: HADEAN SUPERCOMPUTING LTD
G06F9/5038G06F9/5044G06F9/5083G06F2209/504G06F2209/508
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 12,020,072
App. No.
17/311,289
Granted
Jun 25, 2024
Kind
B2
Abstract

There is provided a method of computing resource allocation. The method comprises allocating a first bounded amount of computing resources forming a first set of computing resources; exclusively assigning the first set of computing resources to a first process of a computer program; receiving a request from the first process for additional computing resources; in response to the request from the first process, allocating a second bounded amount of computing resources forming a second set of computing resources; and spawning a second process from the first process and exclusively assigning the second set of computing resources to the second process; wherein this method may be repeated indefinitely by the first process, second process, or any other process created according to this method. By following this method, a process does not control the amount of computing resources allocated to that process (i.e., itself), but instead controls the amount of computing resources allocated to its child processes.

Claims (56)

1. A method of computing resource allocation comprising:

allocating a first bounded amount of computing resources forming a first set of computing resources;

exclusively assigning the first set of computing resources to a first process of a computer program;

receiving a request from the first process for additional computing resources;

in response to the request from the first process, allocating a second bounded amount of computing resources forming a second set of computing resources;

spawning a second process from the first process and exclusively assigning the second set of computing resources to the second process;

receiving a request from the second process for additional computing resources;

in response to the request from the second process, allocating a third bounded amount of computing resources forming a third set of computing resources; and

spawning a third process from the second process and exclusively assigning the third set of computing resources to the third process.

2. The method of claim 1 , wherein:

the first and second set of computing resources are respectively provided by a first and a second node of a computing system.

3. The method of claim 1 , wherein the first and second bounded amounts of computing resources are different.

4. The method of claim 1 , wherein allocating the second bounded amount of computing resources comprises initiating provisioning of a node to provide the second set of computing resources.

5. The method of claim 1 , further comprising providing the first process with a reference to the second process.

6. The method of claim 1 , further comprising:

allocating a channel for communication between the first and second processes.

7. The method of claim 6 , wherein:

the channel is an inter-process communication, IPC, channel; or

the channel is a network channel.

8. The method of claim 1 , wherein the computing resources comprise memory resources, processing resources, communication resources, and/or storage resources.

9. The method of claim 1 , wherein the first process terminates earlier than the second process.

10. The method of claim 1 , further comprising:

receiving a second request from the first process for additional computing resources;

in response to the second request from the first process, allocating a fourth bounded amount of computing resources forming a fourth set of computing resources;

spawning a fourth process from the first process and exclusively assigning the fourth set of computing resources to the fourth process; and

allocating a channel for communication between the second and fourth processes.

11. A method of obtaining computing resources comprising:

determining, by a first process of a computer program, a first amount of computing resources to request;

responsive to the determining by the first process, requesting to spawn a second process from the first process, the request comprising the determined first amount of computing resources to be assigned to the second process;

determining, by the second process, a second amount of computing resources to request; and

responsive to the determining by the second process, requesting to spawn a third process from the second process, the request comprising the determined second amount of computing resources to be assigned to the third process.

12. The method of claim 11 , further comprising:

receiving, by the first process, a reference to the second process.

13. The method of claim 12 , further comprising:

communicating with the second process, by the first process, via a channel from the first to the second process created using the reference to the second process.

14. The method of claim 11 , further comprising:

determining, by the first process, a third amount of computing resources to request;

responsive to the determining, of the third amount of computing resources, requesting to spawn a fourth process from the first process, the request comprising the determined third amount of computing resources to be assigned to the fourth process;

communicating with the fourth process, by the second process, via a channel from the second process to the fourth process.

15. The method of claim 14 , wherein the first and third amounts of computing resources are different.

16. The method of claim 11 , wherein the computing resources assigned to the second and third processes are respectively provided by a first and a second node of a computing system.

17. The method of claim 11 , wherein the first process terminates earlier than the second process.

18. A non-transitory computer-readable medium comprising instructions which, when executed by one or more computers, cause the one or more computers to:

allocate a first bounded amount of computing resources forming a first set of computing resources;

exclusively assign the first set of computing resources to a first process of a computer program;

receive a request from the first process for additional computing resources;

in response to the request from the first process, allocate a second bounded amount of computing resources forming a second set of computing resources;

spawn a second process from the first process and exclusively assign the second set of computing resources to the second process;

receive a request from the second process for additional computing resources;

in response to the request from the second process, allocate a third bounded amount of computing resources forming a third set of computing resources; and

spawn a third process from the second process and exclusively assign the third set of computing resources to the third process.

19. A non-transitory computer-readable medium comprising instructions which, when executed by one or more computers, cause the one or more computers to:

determine, by a first process of a computer program, a first amount of computing resources to request;

responsive to the determining by the first process, request to spawn a second process from the first process, the request comprising the determined first amount of computing resources to be assigned to the second process;

determine, by the second process, a second amount of computing resources to request; and

responsive to the determining by the second process, request to spawn a third process from the second process, the request comprising the determined second amount of computing resources to be assigned to the third process.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2021
From: DOBSON, MATTHEW CARLSON; KAY, JAMES PETER NICHOLAS; MANSOOR, RASHID MOHAMED
To: HADEAN SUPERCOMPUTING LTD
Reel/Frame 057451/0601 →
Priority Claims (2)
GB 1820024 · Dec 7, 2018 · national
EP 19188929 · Jul 29, 2019 · regional
Continuity (1)
Related Publication 20220019475A1 · Jan 20, 2022