G06F9/5033

EFFECTIVE AND SCALABLE BUILDING AND PROBING OF HASH TABLES USING MULTIPLE GPUS
20230214225 · 2023-07-06 ·

Described approaches provide for effectively and scalably using multiple GPUs to build and probe hash tables and materialize results of probes. Random memory accesses by the GPUs to build and/or probe a hash table may be distributed across GPUs and executed concurrently using global location identifiers. A global location identifier may be computed from data of an entry and identify a global location for an insertion and/or probe using the entry. The global location identifier may be used by a GPU to determine whether to perform an insertion or probe using an entry and/or where the insertion or probe is to be performed. To coordinate GPUs in materializing results of probing a hash table a global offset to the global output buffer may be maintained in memory accessible to each of the GPUs or the GPUs may compute global offsets using an exclusive sum of the local output buffer sizes.

METHOD AND SYSTEM FOR PERFORMING COMPUTATIONAL OFFLOADS FOR COMPOSED INFORMATION HANDLING SYSTEMS

Techniques described herein relate to a method for performing computational offloads for composed information handling systems. The method includes obtaining, by a system control processor associated with a composed information handling system, a computational offload request associated with a dataset from an application executing on an at least one compute resource set; in response to obtaining the computational offload request: identifying a dataset location associated with the dataset in the composed information handling system; identifying resources of the composed information handling system capable of performing the computational offload request; selecting a resource of the resources to perform the computational offload; and initiating performance of the computational offload request on the selected resource.

Sharing preprocessing, computations, and hardware resources between multiple neural networks
11551095 · 2023-01-10 · ·

A method for training a Neural-Network (NN), the method includes receiving a plurality of NN training tasks, each training task including (i) a respective preprocessing phase that preprocesses data to be provided as input data to the NN, and (ii) a respective computation phase that trains the NN using the preprocessed data. The plurality of NN training tasks is executed, including: (a) a commonality is identified between the input data required by computation phases of two or more of the training tasks, and (b) in response to identifying the commonality, one or more preprocessing phases are executed that produce the input data jointly for the two or more training tasks.

Techniques for increasing the isolation of workloads within a multiprocessor instance
11693708 · 2023-07-04 · ·

In various embodiments, an isolation application determines processor assignment(s) based on a performance cost estimate. The performance cost estimate is associated with an estimated level of cache interference arising from executing a set of workloads on a set of processors. Subsequently, the isolation application configures at least one processor included in the set of processors to execute at least a portion of a first workload that is included in the set of workloads based on the processor assignment(s). Advantageously, because the isolation application generates the processor assignment(s) based on the performance cost estimate, the isolation application can reduce interference in a non-uniform memory access (NUMA) microprocessor instance.

Information processing system and information processing method
11693684 · 2023-07-04 · ·

There are provided an information processing system that operates virtual machines and storage controllers on a processor, and an information processing method executed by the information processing system. A storage controller group capable of taking over processing between the storage controllers arranged in different nodes is provided. The virtual machine is movable between the different nodes by deploy. The virtual machine and the storage controller that processes data input and output by the virtual machine are arranged in the same node. A combination of the virtual machines that cannot be arranged in the same node is defined by a restriction. A management unit arranges one of the virtual machines that cannot be arranged in the same node in the node in which the storage controller included in the storage controller group to which the storage controller used by the other virtual machine belongs is not arranged.

Workload pool hierarchy for a search and indexing system

Resource management includes storing, for multiple workload pools of a data intake and query system, a workload pool hierarchy arranged in multiple workload pool layers. After storing a processing request is assigned a selected subset of workload pools in a second layer of the workload pool hierarchy based on a type of processing request. The processing request is then assigned to an individual workload pool in the selected subset to obtain a selected workload pool. Execution of the processing request is initiated on the selected workload pool.

Transaction tracking for high availability architecture using a tracking token and middleware instance information

Techniques for transaction tracking for a high availability architecture are described herein. An aspect includes receiving a first request from a client, the first request corresponding to a start of a transaction having transaction affinity. Another aspect includes, based on receiving the first request from the client, generating a transaction tracking token. Another aspect includes sending the first request with the transaction tracking token to a gateway. Another aspect includes receiving a first response corresponding to the first request from the gateway, the first response including middleware instance information corresponding to a middleware instance, wherein a plurality of subsequent requests from the client corresponding to the transaction are processed by the middleware instance corresponding to the middleware instance information.

Systems and methods for providing uniform access in a multi-tenant system

Receive, by a central controller engine, a user request to perform one or more operations associated with user data, wherein the user data includes first data and second data. Select, by the central controller engine based on the user request, a first service provider interface (SPI) integrated into a first service, the first SPI being configured to operate on the first data in a first datastore associated with the first service. The first SPI including a first service interface component configured based on a uniform access specification. Obtain, by the first SPI, the first data, the first data being formatted according to a first service data specification. Transform, by the first SPI based on the uniform access specification, the first data, thereby generating transformed first data formatted according to the uniform access specification. Provide, by the first SPI, the transformed first data to a target service.

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.

Determination of memory access patterns of tasks in a multi-core processor

A plurality of processing entities in which a plurality of tasks are executed are maintained. Memory access patterns are determined for each of the plurality of tasks by dividing a memory associated with the plurality of processing entities into a plurality of memory regions, and for each of the plurality of tasks, determining how many memory accesses take place in each of the memory regions, by incrementing a counter associated with each memory region in response to a memory access. Each of the plurality of tasks are allocated among the plurality of processing entities, based on the determined memory access patterns for each of the plurality of tasks.