Abstract: A system and method of dynamically controlling a reservation of resources within a cluster environment to maximize a response time are disclosed. The method embodiment of the invention includes receiving from a requestor a request for a reservation of resources in the cluster environment, reserving a first group of resources, evaluating resources within the cluster environment to determine if the response time can be improved and if the response time can be improved, then canceling the reservation for the first group of resources and reserving a second group of resources to process the request at the improved response time.
Abstract: Example implementations relate to a role-based autoscaling approach for scaling of nodes of a stateful application in a large scale virtual data processing (LSVDP) environment. Information is received regarding a role performed by the nodes of a virtual cluster of an LSVDP environment on which a stateful application is or will be deployed. Role-based autoscaling policies are maintained defining conditions under which the roles are to be scaled. A policy for a first role upon which a second role is dependent specifies a condition for scaling out the first role by a first step and a second step by which the second role is to be scaled out in tandem. When load information for the first role meets the condition, nodes in the virtual cluster that perform the first role are increased by the first step and nodes that perform the second role are increased by the second step.
Type:
Grant
Filed:
June 28, 2023
Date of Patent:
October 22, 2024
Assignee:
Hewlett Packard Enterprise Development LP
Inventors:
Xiongbing Ou, Lakshminarayanan Gunaseelan, Joel Baxter, Swami Viswanathan
Abstract: A container specification is received. The container specification includes a definition of an image. The image definition specifies the running of one or more prestart runtime commands. The image definition is inspected to identify whether the image definition includes specifying the running of one or more prestart runtime commands. The image is started on a host system, wherein in response to identifying that the image definition includes running one or more prestart runtime commands, the starting of the image includes running the one or more prestart runtime commands prior to the container entering a running state.
Type:
Grant
Filed:
March 15, 2021
Date of Patent:
September 17, 2024
Assignee:
International Business Machines Corporation
Inventors:
Zach Taylor, Randy A. Rendahl, Stephen Paul Ridgill, II, Aditya Mandhare
Abstract: Inadvertent data swaps can be prevented by measuring volume of transactions in distributed computing environment to determine locations for potential data swaps; and managing a correlation between a thread identification (ID) and transaction header (ID) for transactions in the distributed computing environment. In some embodiments, the prevention of data swaps can further include performing a data transmission interruption to avoid data swaps at the locations for potential data swaps. When the thread identification (ID) and transaction header (ID) do not match the potential for data swaps can be high.
Type:
Grant
Filed:
November 4, 2021
Date of Patent:
August 20, 2024
Assignee:
INTERNATIONAL BUSINESS MACHINES CORPORATION
Abstract: A server includes a hardware platform, a hypervisor platform, and at least one virtual machine operating as an independent guest computing device. The hypervisor includes a memory facilitator, at least two hardware emulators, a toolstack and an emulator manager. The memory facilitator provides memory for a virtual machine, with the memory having state data associated therewith at a current location within the virtual machine. The at least one hardware emulator provides at least one set of hardware resources for the virtual machine, with the at least one set of hardware resources having state data associated therewith at the current location within the virtual machine. The toolstack controls the hypervisor including generation of a start state data transfer request. The emulator manager coordinates transfer of the respective state data from the current location to a different location, and tracks progress of the transfer of the respective state data to the different location.
Abstract: A data processing device is provided that includes a plurality of hardware data processing nodes, wherein each hardware data processing node performs a task, and a hardware thread scheduler including a plurality of hardware task schedulers configured to control execution of a respective task on a respective hardware data processing node of the plurality of hardware data processing nodes, and a proxy hardware task scheduler coupled to a data processing node external to the data processing device, wherein the proxy hardware task scheduler is configured to control execution of a task by the external data processing device, wherein the hardware thread scheduler is configurable to execute a thread of tasks, the tasks including the task controlled by the proxy hardware task scheduler and a first task controlled by a first hardware task scheduler of the plurality of hardware task schedulers.
Abstract: A telemetry service can receive telemetry collection requirements that are expressed as an “intent” that defines how telemetry is to be collected. A telemetry intent compiler can receive the telemetry intent and translate the high level intent into abstract telemetry configuration parameters that provide a generic description of desired telemetry data. The telemetry service can determine, from the telemetry intent, a set of devices from which to collect telemetry data. For each device, the telemetry service can determine capabilities of the device with respect to telemetry data collection. The capabilities may include a telemetry protocol supported by the device. The telemetry service can create a protocol specific device configuration based on the abstract telemetry configuration parameters and the telemetry protocol supported by the device. Devices in a network system that support a particular telemetry protocol can be allocated to instances of a telemetry collector that supports the telemetry protocol.
Abstract: Techniques are disclosed relating to dispatching compute work from a compute stream. In some embodiments, a graphics processor executes instructions of compute kernels. Workload parser circuitry may determine, for distribution to the graphics processor circuitry, a set of workgroups from a compute kernel that includes workgroups organized in multiple dimensions, including a first number of workgroups in a first dimension and a second number of workgroups in a second dimension. This may include determining multiple sub-kernels for the compute kernel, wherein a first sub-kernel includes, in the first dimension, a limited number of workgroups that is smaller than the first number of workgroups. The parser circuitry may iterate through workgroups in both the first and second dimensions to generate the set of workgroups, proceeding through the first sub-kernel before iterating through any of the other sub-kernels. Disclosed techniques may provide desirable shapes for batches of workgroups.
Type:
Grant
Filed:
September 11, 2020
Date of Patent:
June 25, 2024
Assignee:
Apple Inc.
Inventors:
Andrew M. Havlir, Ajay Simha Modugala, Karl D. Mann
Abstract: The embodiments herein describe a virtualization framework for cache coherent accelerators where the framework incorporates a layered approach for accelerators in their interactions between a cache coherent protocol layer and the functions performed by the accelerator. In one embodiment, the virtualization framework includes a first layer containing the different instances of accelerator functions (AFs), a second layer containing accelerator function engines (AFE) in each of the AFs, and a third layer containing accelerator function threads (AFTs) in each of the AFEs. Partitioning the hardware circuitry using multiple layers in the virtualization framework allows the accelerator to be quickly re-provisioned in response to requests made by guest operation systems or virtual machines executing in a host. Further, using the layers to partition the hardware permits the host to re-provision sub-portions of the accelerator while the remaining portions of the accelerator continue to operate as normal.
Abstract: Systems and methods are provided for offloading a task from a central processor in a radio access network (RAN) server to one or more heterogeneous accelerators. For example, a task associated with one or more operational partitions (or a service application) associated with processing data traffic in the RAN is dynamically allocated for offloading from the central processor based on workload status information. One or more accelerators are dynamically allocated for executing the task, where the accelerators may be heterogeneous and my not comprise pre-programming for executing the task. The disclosed technology further enables generating specific application programs for execution on the respective heterogeneous accelerators based on a single set of program instructions.
Abstract: Disclosed system specifies, based on measurement results of communication times taken for accessing a plurality of external databases, relation between the communication times taken for accessing the plurality of external databases, calculates, when accepting an instruction to execute processing using at least one of the plurality of external databases, a processing load when accessing the at least one of the external databases, based on the relation between the communication times, and controls an access to data included in the at least one of the external databases according to the calculated processing load.
Abstract: A system and method of dynamically controlling a reservation of resources within a cluster environment to maximize a response time are disclosed. The method embodiment of the invention includes receiving from a requestor a request for a reservation of resources in the cluster environment, reserving a first group of resources, evaluating resources within the cluster environment to determine if the response time can be improved and if the response time can be improved, then canceling the reservation for the first group of resources and reserving a second group of resources to process the request at the improved response time.
Abstract: At least one processing device comprises a processor and a memory coupled to the processor. The at least one processing device is configured to establish one or more groups of synchronization objects in a storage system based at least in part on object type, and for each of the one or more groups, to insert entries into a corresponding object type queue for respective objects of the group, to execute a monitor thread for the group, the monitor thread being configured to scan the entries of the corresponding object type queue, and responsive to at least one of the scanned entries meeting one or more designated conditions, to take at least one automated action for its associated object. The synchronization objects illustratively comprise respective locks, or other objects. The at least one processing device illustratively comprises at least a subset of a plurality of processing cores of the storage system.
Abstract: Some embodiments are directed to a logging within a software application executed over an assembly of information processing devices. More particularly, some embodiments relate to a method allowing process logging in the case of a software application operating with several processes and/or threads.
Abstract: Client application (112) submits request (118) to resource status service (110) for resource status data (“data”) regarding one or more computing resources (108) provided in a service provider network (102). The resource status service submits requests to the resources for the data. The resource status service provides a reply to the client application that includes any data received from the resources within a specified time. If all requested data was not received from the resources within the specified time the resource status service can also provide, in the reply, an identifier (“ID”) that identifies the request and can be utilized to identify and retrieve additional status data received at a later time. The client application can also submit additional requests for the status data, and may include the ID, may wait for additional data to be pushed to it, or may check a queue for the status data.
Abstract: An arithmetic processor performs arithmetic processing, and a synchronization processor, including first registers, performs synchronization processing that includes a plurality of processing stages to be processed stepwise. The arithmetic processor sends, to the synchronization processor, setting information to be used in a predetermined processing stage of the synchronization processing, and instruct the synchronization processor to execute the predetermined processing stage for the arithmetic processing. Each of the first registers includes a setting information management area to manage the setting information received from the arithmetic processor, and a destination status area to store a usage state of each of destination registers which are used in a next processing stage following the predetermined processing stage.
Abstract: An output rule specified via a distributed system execution request data structure for a requested calculation is determined, and a current rule is initialized to the output rule. A rule lookup table data structure is queried to determine a set of matching rules, corresponding to the current rule. The best matching rule is selected. A logical dependency graph (LDG) data structure is generated by adding LDG nodes and LDG edges corresponding to the best matching rule, precedent rules of the best matching rule, and precedent rules of each precedent rule. An execution complexity gauge value and a set of distributed worker processes are determined. The LDG data structure is divided into a set of subgraphs. Each worker process is initialized with the subgraph assigned to it. Execution of the requested calculation is coordinated and a computation result of the LDG node corresponding to the output rule is obtained.
Abstract: Systems and methods are provided for managing dynamic controls over access to computer resources and, even more particularly, for evaluating and re-evaluating dynamic conditions and changes associated with user sessions. The systems and methods are configured to automatically make a determination as to whether new or additional authentication credentials are required for a user that is already authorized for accessing resources in a user session, in response to triggering events such as the identification of a new or changed condition associated with the user session.
Abstract: Task/resources are randomly assigned a number of times and a score for each solution of the random assignment is calculated. Using machine learning and artificial intelligence, a subset of the solutions is selected. Assignment of task/resource within the subset may be randomly changed, e.g., a task/resource assignment between two entities, a task/resource within the selected subset may be replaced with another task/resource (without swapping), etc. The additional solutions form a super solution with the selected subset and the score associated with the additional solutions are calculated. The process of selection of assignments, random changes to the assignment and calculating the scores associated with the new solutions is repeated a number of times until a certain condition is met, e.g., a number of iterations, time out, improvement between two iterations is less than a certain threshold, etc. Once the certain condition is satisfied, a solution is selected.
Abstract: A system to facilitate infrastructure management is described. The system includes one or more processors and a non-transitory machine-readable medium storing instructions that, when executed, cause the one or more processors to execute an infrastructure management controller to receive a request to provide infrastructure management services and generate a mapping between at least one instance of the infrastructure management controller and one or more resource instances at one or more on-premise infrastructure controller instances to provide the cloud based infrastructure management services, wherein the request includes one or more configuration parameters.
Type:
Grant
Filed:
December 9, 2019
Date of Patent:
September 12, 2023
Assignee:
Hewlett Packard Enterprise Development LP
Inventors:
Subhajit Dasgupta, Charles E. Fowler, Michelle Frolik, Charles Greenidge, Jerry Harrow, Sandesh V. Madhyastha, Clifford A. McCarthy, Abhay Padlia, Rajeev Pandey, Jonathan M. Sauer, Geoffery Schunicht, Latha Srinivasan, Gary L. Thunquest