G06F9/505

Managing processing system efficiency

Methods, systems, and computer storage media storing instructions for managing processing system efficiency. One of the methods includes obtaining data splitting a plurality of general-purpose processing units in a processing system into a high-priority domain and a low-priority domain, wherein the general-purpose processing units in the high-priority domain are assigned to perform one or more tasks comprising one or more high-priority tasks, and the general-purpose processing units in the low-priority domain are assigned to perform one or more low-priority tasks; and during runtime of the processing system, obtaining memory usage measurements that characterize usage of system memory by the high-priority domain and the low-priority domain; and adjusting, based on the memory usage measurements, a configuration of (i) the high-priority domain, (ii) the low-priority domain, or (iii) both to adjust utilization of the system memory by the general-purpose processing units.

CONTAINER-BASED CLOUD SERVICE PROVIDING SYSTEM AND METHOD THEREFOR

A container-based cloud service providing system of the present disclosure includes an access server network-connected to a plurality of user terminals through a web socket; an in-memory duster having an area allocated in a cloud and storing an authentication key and event data based on a container; a server module providing a cloud service to the user terminal; a manager module managing the server module; and a database. The server module includes a security module having a container structure and performing authentication of the user terminal; a data storage module having a container structure and periodically storing the event data stored in the in-memory cluster in the database; and a service module providing the cloud service by using the event data.

Methods and systems for seamless virtual machine changing for software applications

A method and a system to perform the method are disclosed, the method includes receiving, by a virtualization server communicatively coupled with a client device, a request to provide a virtual machine (VM) to a client device, accessing a profile associated with the client device, instantiating a VM on the virtualization server, wherein the VM is a linked clone VM of a base VM, wherein the linked clone VM has (1) a read-only access to a shared range of a persistent memory associated with the base VM, wherein the shared range of the persistent memory is determined in view of the profile associated with the client device and stores at least one application installed on the virtualization server, (2) a write access to a private range of the persistent memory, wherein the private range is associated with the VM, and providing the VM to the client device.

Redistribution of processing groups between server nodes based on hardware resource utilization
11704160 · 2023-07-18 · ·

At least one processor is configured to obtain measurement information comprising an indication of an amount of utilization of a hardware resource of a first server node by a plurality of processing groups and to determine that the amount of utilization of the hardware resource is above a threshold amount of utilization. The at least one processor is further configured to select a given processing group for redistribution based at least in part on the determination that the amount of utilization of the hardware resource is above the threshold amount and on an amount of utilization of the hardware resource by the given processing group. The at least one processor is further configured to determine that a second server node comprises enough available capacity of the hardware resource and to redistribute the given processing group to the second server node based at least in part on the determination.

Persistently available container services through resurrection of user jobs in new compute container instances designated as lead instances

A method makes container services persistently available. A computing device receives a request for implementation of a user job in a container environment, and assigns the user job to a compute runner agent of a plurality of compute runner agents to execute the user job. Each compute runner agent is associated with a compute container instance having a unique compute container identifier corresponding to the user job. A computing device assigns the user job to a balancer task to monitor progress of the user job, and assigns the user job to a storage agent to store artifacts associated with running the user job. A computing device receives a notification from the balancer task describing whether the runner agent is correctly running the user job. In response to the runner agent incorrectly running the user job, a computing device resurrects the user job in a new compute container instance.

MACHINE LEARNING WORKLOAD ORCHESTRATION IN HETEROGENEOUS CLUSTERS

Systems and methods are described herein to orchestrate the execution of an application, such as a machine learning or artificial intelligence application, using distributed compute clusters with heterogeneous compute resources. A discovery subsystem may identify the different compute resources of each compute cluster. The application is divided into a plurality of workloads with each workload associated with resource demands corresponding to the compute resources of one of the compute clusters. Adaptive modeling allows for hyperparameters to be defined for each workload based on the compute resources associated with the compute cluster to which each respective workload is assigned and the associated dataset.

TASK SCHEDULING METHOD FOR AUTOMATED MACHINE LEARNING
20230015759 · 2023-01-19 · ·

A method for scheduling a task for AutoML (Automated Machine Learning) by a terminal, includes: setting a ratio of 1) a first task requiring a plurality of arithmetic devices and 2) a second task requiring one arithmetic device, in a cluster connected with the terminal; allocating a third task for the AutoML on the basis of the set ratio; receiving a request for allocation of a session from a user; inspecting whether the session is allocable on the basis of the ratio of the second task; and allocating the session to the arithmetic device associated with the second task on the basis of the ratio of the second task when the session is allocable.

MAPPING TELEMETRY DATA TO STATES FOR EFFICIENT RESOURCE ALLOCATION
20230017085 · 2023-01-19 ·

Techniques described herein relate to a method for resource allocation using fingerprint representations of telemetry data. The method may include receiving, at a resource allocation device, a request to execute a workload; obtaining, by the resource allocation device, telemetry data associated with the workload; identifying, by the resource allocation device, a breakpoint based on the telemetry data; identifying, by the resource allocation device, a workload segment using the breakpoint; generating, by the resource allocation device, a fingerprint representation using the workload segment; performing, by the resource allocation device, a search in a fingerprint catalog using the fingerprint representation to identify a similar fingerprint; obtaining, by the resource allocation device, a resource allocation policy associated with the similar fingerprint; and performing, by the resource allocation device, a resource policy application action based on the resource allocation policy.

Executing a Quantum Logic Circuit on Multiple Processing Nodes

In a general aspect, a quantum logic circuit is executed on multiple processing nodes in a computing system that includes quantum computing resources. In some aspects, methods of operating the computing system may include obtaining a computer program that includes a quantum logic circuit. The methods may include obtaining hardware resource metadata specifying properties of processing nodes in the computing system. The processing nodes include at least a subset of the quantum computing resources, and the hardware resource metadata includes error rate information and availability information for the respective processing nodes. The methods may include generating execution tasks configured to execute the quantum logic circuit on the processing nodes based on the hardware resource metadata; dispatching the execution tasks to the processing nodes; receiving output data generated by the processing nodes; and producing an output of the computer program based on the output data.

Efficiently Maintaining a Globally Uniform-in-Time Execution Schedule for a Dynamically Changing Set of Periodic Workload Instances
20230020580 · 2023-01-19 ·

An algorithm for efficiently maintaining a globally uniform-in-time execution schedule for a dynamically changing set of periodic workload instances is provided. At a high level, the algorithm operates by gradually adjusting execution start times in the schedule until they converge to a globally uniform state. In certain embodiments, the algorithm exhibits the property of “quick convergence,” which means that regardless of the number of periodic workload instances added or removed, the execution start times for all workload instances in the schedule will typically converge to a globally uniform state within a single cycle length from the time of the addition/removal event(s) (subject to a tunable “aggressiveness” parameter).