G06F9/505

Cascading job scheduling in guests
11526382 · 2022-12-13 · ·

Cascading job scheduling in guests is disclosed. For example, first, second, third, and fourth nodes, each execute respective first, second, third, and fourth pluralities of guests each of which executes respective first, second, third, and fourth pluralities of jobs. A scheduler executes on a processor to receive a current capacity update of the first node. A respective quantity of jobs executing on each of the first, second, third, and fourth nodes is tracked. A first, second, third, and fourth estimated capacity of the respective first, second, third, and fourth nodes is calculated. The first, second, third, and fourth nodes are ranked in a list based on the respective estimated capacities. A request to execute a job is received. The first, second, and third nodes are selected as a schedulable set based on the list. A schedulable set notice and the job are sent to the first node to be executed.

Method for executing task by scheduling device, and computer device and storage medium

A method for executing a task by a scheduling device, belonging to the technical field of electronics. The method includes: acquiring a target algorithm corresponding to a target task to be executed; acquiring an execution environment condition for a target algorithm, and current execution environment information of various execution devices; in the execution devices, determining a target execution device of which the execution environment information satisfies the execution environment condition; and sending a control message for executing the target task to the target execution device.

Systems and methods configured for balancing workload among multiple computing systems

A computer-implemented method for balancing workload among one or more locations is disclosed. The method may comprise: receiving data associated with a workload forecast for a first location and a second location, the data comprising a number of orders expected to be received for the first and second locations for a predetermined period of time; determining a first set of ratios of workload forecast for the locations relative to a first sum of the workload forecast for the first and second locations, the first set of ratios comprising at least a first forecast ratio for the first location and a second forecast ratio for the second location; receiving electronic orders for the predetermined period of time, the electronic orders comprising one or more groups of items and being assigned to one of the locations; and reassigning a first subset of electronic orders for the first location to the second location.

Resource allocation tool

A method includes receiving a plurality of data processing requests and generating a primary processing stack indicating a queue for processing the first data. The primary processing stack comprises a plurality of layers. Each layer comprises a plurality of slices, wherein each slice represents a portion of the first data of at least one data processing request. The plurality of slices are arranged within each layer based at least on the priority indicator corresponding to the first data that each slice represents. The method further includes receiving resource information about a plurality of servers, assigning each slice of the primary processing stack to one of the servers, and sending processing instructions comprising an identification of each slice of the primary processing stack assigned to the respective server.

System and method for automatically scaling a cluster based on metrics being monitored

In accordance with an embodiment, described herein is a system and method for use in a distributed computing environment, for automatically scaling a cluster based on metrics being monitored. A cluster that comprises a plurality of nodes or brokers and supports one or more colocated partitions across the nodes, can be associated with an exporter process and alert manager that monitors metrics associated with the cluster. Various metrics can be associated with user-configured alerts that trigger or otherwise indicate the cluster should be scaled. When a particular alert is raised, a callback handler associated with the cluster, for example an operator, can automatically bring up one or more new nodes, that are added to the cluster, and then reassign a selection of existing colocated partitions to the new nodes/brokers, such that computational load can be distributed within the newly-scaled cluster environment.

System and method for optimizing technology stack architecture

A system is configured for determining a technology stack in a software application to perform a work project. The system receives and evaluates the work based on its characteristics. A plurality of technology stacks is generated by implementing different combinations of technology stack components. The technology stack components include application servers and webservers. Each of the technology stacks is simulated performing the work project. Based on the simulation results of each technology stack, a performance of each technology stack is evaluated. The system identifies a first technology stack performing at a level higher than a performance threshold and at a highest performance level among the plurality of technology stacks. The system deploys the first technology stack in the software application to perform the work project.

Method, electronic device and computer program product for running application
11526376 · 2022-12-13 · ·

Embodiments of the present disclosure relate to a method for running an application, an electronic device, and a computer program product. The method includes determining, based on historical data associated with running of the application, a target time period and a computing resource to be used for running the application within the target time period, a load rate associated with the computing resource being higher than a threshold load rate in the target time period. The method further includes determining an interruption tolerance of the application based on a type of the application, determining costs for running the application by a plurality of types of virtual machines and determining a target type from the plurality of types based on the costs and the computing resource, to cause the application to be run by a virtual machine of the target type.

Systems and methods to leverage unused compute resource for machine learning tasks

Systems and methods relating to leveraging inactive computing resources are discussed. An example system may include one or more computing nodes having an active state and an inactive state, one or more processors, and a memory. The memory may contain instructions therein that, when executed, cause the one or more processors to identify a task to be performed by the one or more computing nodes based upon a received request. The instructions may further cause the one or more processors to create one or more sub-tasks based upon the task and schedule the one or more sub-tasks for execution on the one or more computing nodes during the inactive state. The instructions may further cause the one or more processors to collate the one or more sub-tasks into a completed task, and generate a completed task notification based upon the completed task.

Network-level garbage collection in an on-demand code execution system

Systems and methods are described for management of garbage collection processes in an on-demand code execution system. An on-demand code execution system may execute user-submitted code on virtual machine instances. As each virtual machine instance executes code, garbage (e.g., memory that is allocated and then not properly de-allocated) may accumulate and may reduce the computing resources that the virtual machine instance makes available for allocation to further code executions. A garbage collection schedule manager may be used to generate a system-wide garbage collection schedule and manage garbage collection processes in accordance with the schedule. The garbage collection schedule manager may schedule garbage collection processes at times when demand for computing resources is forecasted to be low, and may coordinate scheduling of garbage collection processes across multiple virtual machine instances and host computing devices to prevent garbage collection processes from impacting code execution performance.

Dynamic Computational Resource Allocation

A method for performing a distributed computation on a computing system using computational resources dynamically allocated using a computational resource manager includes storing information specifying quantities of computational resources associated with respective ones of a number of program portions of the program, where the program portions perform successive transformations of data and each program portion uses computational resources granted by the computational resource manager enabling computation associated with that program portion to be performed in the computing system, requesting a first quantity of computational resources associated with a first program portion of the number of program portions from the computational resource manager, receiving a second quantity of computational resources from the computational resource manager, less than the requested first quantity of computational resources, performing computation associated with the first portion of the program using the second quantity of computational resources, while performing the computation associated with the first portion of the program using the second quantity of computational resources, receiving an additional quantity of computational resources from the computational resource manager, and performing an additional computation associated with the first portion of the program using the additional quantity of computational resources while performing the computation associated with the first portion using the second quantity of computational resources.