G06F9/544

Queue Allocation in Machine Learning Accelerators
20220114440 · 2022-04-14 ·

This disclosure generally provides solutions for improving the performance of a custom-built, packet-switched, TPU accelerator-side communication network. Specifically a set of solutions to improve the flow-control behavior by tuning the packet buffer queues in the on-chip router in the distributed training supercomputer network are described.

Apparatus, system, and method for lockless resource reclamation in single writer multiple reader technologies

A disclosed method may include (1) maintaining a set of fleeting contexts that represent a lockless data structure at different moments in time, (2) determining an oldest context within the set of fleeting contexts, (3) identifying, within a discard list of the oldest context, a reference to an object stored in shared memory, and then (4) reclaiming, in the shared memory, a memory location occupied by the object whose reference was identified within the discard list of the oldest context. Various other apparatuses, systems, and methods are also disclosed.

Automated Cloud Provider Creation and Synchronization in an Embedded Container Architecture
20220100776 · 2022-03-31 ·

A SSMA (Storage System Management Application) automates creation of a cloud provider on a cloud repository. The SSMA instructs a CTS (Cloud Tethering Subsystem) to create the cloud provider, which causes the CTS to establish a secure connection to the cloud repository. The cloud repository creates the cloud provider and returns identifying information. The CTS then tests the connection to verify that the cloud provider is reachable at the cloud repository. The SSMA also instruct a solution enabler to install the cloud provider in the storage system embedded operating system. The SSMA also implements a cloud provider synchronization verification process, which enables the SSMA to determine if there are any differences between lists of cloud providers maintained by the CTS and the embedded operating system. If any differences are detected, the SSMA automates the process of installing the correct set of cloud providers in the storage system embedded operating system.

PREFETCHING FROM INDIRECT BUFFERS AT A PROCESSING UNIT

In response to executing a specified command packet, a processing unit prefetches commands stored at an indirect buffer a command queue for execution, prior to executing a command that initiates execution of the commands stored at the indirect buffer. By prefetching the data prior to executing the indirect buffer execution command, the processing unit reduces delays in processing the commands stored at the indirect buffer.

METHODS AND APPARATUS FOR THREAD-LEVEL EXECUTION IN NON-KERNEL SPACE

Methods and apparatus for split memory allocations in non-kernel space. Many modern networking technologies use asymmetric transmit and/or receive resource. Various aspects described herein split memory resources for transmit and receive, configuring each for their respective hardware optimizations. For example, a receive data paths that support batch processing and packet aggregation may be allocated large memory objects (32 KB) that can route data packets on a per-flow basis. In contrast, transmit data paths that support multiple concurrent network connections may be allocated small memory objects (2 KB) that can route data packets one at a time.

COMPUTING DEVICE COMPATIBLE ENCRYPTION AND DECRYPTION
20220083675 · 2022-03-17 · ·

A method and apparatus encrypting data for use by an application includes receiving a first clear data in a security application running concurrently with the application. The security application encrypts the first clear data to generate a first encrypted package and distributes the encrypted package for use by the application or by other applications running concurrently with the application. The security application also receives and decrypts encrypted packages from the application or one of the other applications to provide clear data for use by the application. The security application may be implemented as a data entry utility that can be accessed directly by the application.

METHOD AND APPARATUS FOR INTER-PROCESS COMMUNICATION, AND COMPUTER DEVICE
20220091911 · 2022-03-24 ·

A method for inter-process communication, a related apparatus for implementing the method, a computer device, and the like are provided. The method may be applied to an intelligent terminal, a self-driving device, and the like. The method mainly includes: A communication engine running at a hardware layer or a high-level software layer provides a context switching instruction, and when a caller running in a user mode calls a callee, context switching is directly implemented by calling the context switching instruction without trapping into a kernel mode. Therefore, kernel intervention in context switching is avoided to some extent, and an execution time of inter-process communication IPC is shortened.

Side-channel protection

In various examples there is a computing device in communication with at least one other computing device via a communications network. The computing device has a memory and a central processing unit having a trusted execution environment comprising trusted regions of the memory. The computing device has an operating system configured to create a memory mapping between a virtual address space of the memory and a memory of the at least one other computing device and to provide details of the memory mapping to the trusted execution environment. The trusted execution environment is configured to execute an application which is able to communicate with the other computing device directly using the memory mapping provided by the operating system.

Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks
11281575 · 2022-03-22 · ·

A system is provided to receive a request to write a sector of data to a non-volatile storage device, wherein the request is associated with a physical address in the non-volatile storage device at which the sector of data is to be written. The system identifies, based on the physical address, a channel buffer to which the sector of data is to be transmitted, and stores the sector of data in the channel buffer. Responsive to determining that the channel buffer stores other sectors, the system writes the sector of data and the other sectors of data to the non-volatile storage device based on the physical address.

Data backup and recovery management using allocated data blocks
11836052 · 2023-12-05 · ·

A data backup and recovery method and system using allocated data blocks include identifying a first snapshot associated with a virtual machine; accessing changed block tracking data associated with data changes occurred in the virtual machine, the data changes corresponding to a set of changed data blocks; accessing block allocation status data associated with the set of changed data blocks; identifying one or more allocated data blocks from the set of changed data blocks that are associated with allocated status based on the block allocation status data; and storing the one or more allocated data blocks to a storage device.