G06F9/5038

Scheduling jobs

Provided are methods, systems, computer program products for scheduling jobs. The method may include receiving a request for allocating resources for a first job, a job comprising information regarding maximum amount of resources required by the job; determining a type of the first job; obtaining at least one backfill of the first job based on the determined type; allocating the maximum amount of resources from system resources to the first job; searching a second job in waiting jobs to be allocated resources, the second job being suitable to be allocated used resources by the first job from the maximum amount of resources allocated to the first job during the at least one backfill; allocating the resources unused by the first job from the maximum amount of resources allocated to the first job to the second job in response to the first job running to the at least one backfill.

Signaling timeout and complete data inputs in cloud workflows
11556376 · 2023-01-17 · ·

There is included a method and apparatus comprising computer code configured to cause a processor or processors to perform obtaining an input of at least one of a task and a workflow, setting a timeout for the input of the at least one of the task and the workflow, determining whether the at least one of the task and the workflow observes a lack of data of the input for a duration equal to the timeout, determining, in response to determining that the at least one of the task and the workflow observed the lack of data of the input for the duration equal to the timeout, an unavailability of further data of the input, applying an update to the at least one of the task and the workflow based on determining the unavailability, and processing the at least one of the task and the workflow.

A Multi-Tenant Real-Time Process Controller for Edge Cloud Environments
20230008176 · 2023-01-12 ·

The present disclosure relates to a method performed by a process control node (210) configured to allocate resources shared by a plurality of tenant applications, wherein each tenant application comprises a selection of non real-time processes and real-time processes, the method comprising receiving a first resource request, from a tenant application, indicative of resources requested to be allocated, by the process control node, for one or more real-time processes of the tenant application, evaluating a scheduling test to determine if the set of processing resources can be allocated from the shared resources by determining if resources requested by the first resource request can be allocated, and if it is determined that the requested resources can be allocated from the shared resources, the method further comprises performing the steps starting the one or more real-time processes of the tenant application within a resource partition of the tenant application, calculating updated resource quotas and priorities for non real-time processes comprised by the tenant application, transmitting a first resource response to the tenant application.

INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND COMPUTER-READABLE RECORDING MEDIUM STORING INFORMATION PROCESSING PROGRAM
20230010895 · 2023-01-12 · ·

An information processing apparatus includes: a memory; and a processor coupled to the memory and configured to: divide a job in units of computing nodes for a plurality of computing nodes; determine execution of scale-out or scale-in on the basis of a load in a case where each of the computing nodes is caused to execute a job obtained by the division; execute, in a case where determining execution of the scale-out, the scale-out according to the division of the job in units of computing nodes; and execute, in a case where determining execution of the scale-in, the scale-in according to the division of the job in units of computing nodes.

Distribution of quantities of an increased workload portion into buckets representing operations

In some examples, a computing system receives an indication of an increased workload portion to be added to a workload of a storage system, the workload comprising buckets of operations of different characteristics. The computing system computes, based on quantities of operations of the different characteristics in the workload, factor values that indicate distribution of operations of the increased workload portion to the buckets of operations of the different characteristics, and distributes, according to the factor values, the operations of the increased workload portion into the buckets of operations of the different characteristics.

DISTRIBUTION OF WORKLOADS IN CLUSTER ENVIRONMENT USING SERVER WARRANTY INFORMATION

Systems and methods take into account the criticality of workloads, the warranty needs of workloads, the warranty available time, and the lifetime of a workload to provide an optimal solution that ensures servers are used to highest extent. The warranty health of servers is computed and categorized as critical, warning, or healthy based on the number of days remaining in warranty. Workloads are tagged as short-term or long-term workloads. Workloads are also classified based on criticality. The quarantine mode for proactive high availability of servers is divided into multiple modes, including a long-time, critical-workload quarantine mode, a critical-workload quarantine mode, and a standard quarantine mode. Servers that are in quarantine mode are assigned new workloads based upon the warranty health, workload term, and workload criticality.

Data storage device and operating method thereof
11573824 · 2023-02-07 · ·

A data storage device includes a shared command queue, a queue controller, a processor, and a memory. The command queue is configured to queue a plurality of jobs transmitted from a plurality of host processors. The queue controller is configured to classify the plurality of jobs into a plurality of levels of jobs according to priority threshold values and assign jobs of the plurality of levels of jobs the processor. The processor is configured to process the jobs assigned by the queue controller. The memory may store data needed to process the job.

Method For Organizing Tasks In The Nodes Of A Computer Cluster, Associated Task Organizer And Cluster
20180004570 · 2018-01-04 · ·

The invention relates to a method for organizing tasks, in at least some nodes of a computer cluster, comprising: First, launching two containers on each of said nodes, a standard container and a priority container, next, for all or part of said nodes with two containers, at each node, while a priority task does not occur, assigning one or more available resources of the node to the standard container thereof in order to execute a standard task, the priority container thereof not executing any task, when a priority task occurs, dynamically switching only a portion of the resources from the standard container thereof to the priority container thereof, such that, the priority task is executed in the priority container with the switched portion of the resources, and the standard task continues to be executed, without being halted, in the standard container with the non-switched portion of the resources.

DISTRIBUTED TASK SYSTEM AND SERVICE PROCESSING METHOD BASED ON INTERNET OF THINGS
20180004568 · 2018-01-04 ·

A distributed task system based on internet of things and a related service processing method are provided. The system can include a trigger for receiving data sent by a smart device or a user in the internet of things, a task scheduling module and a plurality of processing units. The task scheduling module can instantiate a service processing flow according to the data received by the trigger, and can sequentially schedule and start multiple processing units according to the service processing flow. Each processing units can execute a certain stage task of the service processing flow, and send an execution result of the certain stage of the service processing flow back to the task scheduling module. And the task scheduling module can notify the smart device or the user of a final execution result of one processing unit that executes a final stage task of the service processing flow.

METHOD FOR EXECUTING MULTITHREADED INSTRUCTIONS GROUPED INTO BLOCKS
20180011738 · 2018-01-11 ·

A method for executing multithreaded instructions grouped into blocks. The method includes receiving an incoming instruction sequence using a global front end; grouping the instructions to form instruction blocks, wherein the instructions of the instruction blocks are interleaved with multiple threads; scheduling the instructions of the instruction block to execute in accordance with the multiple threads; and tracking execution of the multiple threads to enforce fairness in an execution pipeline.