Image subunit based guest scheduling
AssigneeRed Hat, Inc.
InventorHuamin Chen
Life of this patent
Estimating the term…
Abstract
Image subunit based guest scheduling is disclosed. For example, a memory stores an image registry, which stores a plurality of reference entries each associated with subunits hosted on each node of a plurality of nodes. A scheduler executing on a processor manages deployment of guests to the plurality of nodes including a first node and a second node, where a first guest is associated with an image file that includes a first subunit and a second subunit. The image registry is queried for at least one node of the plurality of nodes hosting the first subunit and/or the second subunit and the first node is determined to host the first subunit. The first guest is scheduled to the first node based on the first node hosting the first subunit.
Claims13
A system comprising:
- a scheduler managing deployment of guests to a plurality of nodes including a first node and a second node, wherein a first guest is associated with an image file, the image file includes a plurality of layers including a first layer, and the first layer includes a first subunit of a first size and a second subunit of a second size;
- a memory storing an image registry, which stores a plurality of reference entries each associated with subunits hosted on each node of the plurality of nodes, wherein the image registry stores metadata associated with respective identifiers and sizes of each subunit hosted on each of the first node and the second node, wherein the scheduler and the image registry are executed on a third node separated from the plurality of nodes by a network;
- and
- one or more processors on which the scheduler executes to:
- query, from within the third node, the image registry in the third node for at least one node that is across the network in the plurality of nodes and is hosting at least one of the first subunit and the second subunit;
- determine, using the identifiers for the subunits, that the first node hosts the first subunit and the second node hosts the second subunit;
- compare sizes, including the first size and the second size, between the first node and the second node based on the metadata stored in the image registry;
- and
- schedule the first guest to execute on the first node based on the first node hosting the first subunit and on the first size of the first subunit being larger than the second size of the second subunit, wherein
- after completing execution of the first guest, the first node garbage collects the first layer, and the image registry receives updated information that the first subunit is removed from the first node.
A method comprising:
- executing a scheduler to manage deployment of guests to a plurality of nodes including a first node and a second node, wherein a guest is associated with an image file, the image file includes a plurality of layers including a first layer, the first layer includes a first subunit of a first size and a second subunit of a second size, an image registry stores metadata associated with respective identifiers and sizes of each subunit hosted on each of the first node and the second node, and the scheduler and the image registry are executed on a third node separated from the plurality of nodes by a network;
- querying, from within the third node, the image registry in the third node for at least one node that is across the network in a plurality of nodes and is hosting at least one of the first subunit and the second subunit of an image file associated with the guest;
- determining, using the identifiers for the subunits, that the first node hosts the first subunit and the second node hosts the second subunit;
- comparing sizes, including the first size and the second size, between the first node and the second node based on the metadata stored in the image registry;
- and
- scheduling the guest to execute on the first node based on the first node hosting the first subunit and on the first size of the first subunit being larger than the second size of the second subunit, wherein
- after completing execution of the guest, the first node garbage collects the first layer, and the image registry receives updated information that the first subunit is removed from the first node.
A computer-readable non-transitory storage medium storing executable instructions, which when executed by a computer system, cause the computer system to:
- execute a scheduler to manage deployment of guests to a plurality of nodes including a first node and a second node, wherein a guest is associated with an image file, the image file includes a plurality of layers including a first layer, the first layer includes a first subunit of a first size and a second subunit of a second size, an image registry stores metadata associated with respective identifiers and sizes of each subunit hosted on each of the first node and the second nod;
- and the scheduler and the image registry are executed on a third node separated from the plurality of nodes by a network;
- query, from within the third node, the image registry in the third node for at least one node that is across the network in a plurality of nodes and is hosting at least one of the first subunit and the second subunit of an image file associated with the guest;
- determine, using the identifiers for the subunits, that the first node hosts the first subunit and the second node hosts the second subunit;
- compare sizes, including the first size and the second size, between the first node and the second node based on the metadata stored in the image registry;
- and
- schedule the guest to execute on the first node based on the first node hosting the first subunit and on the first size of the first subunit being larger than the second size of the second subunit, wherein
- after completing execution of the guest, the first node garbage collects the first layer, and the image registry receives updated information that the first subunit is removed from the first node.
Dependencies are inferred from the claim text.