摘要:
A method for hybrid RDMA, the method may include: (i) receiving, by a first computer, a packet that was sent over a network from a second computer; wherein the packet may include data and metadata; (ii) determining, in response to the metadata, whether the data should be (a) directly written to a first application memory of the first computer by a first hardware accelerator of the first computer; or (b) indirectly written to the first application memory; (iii) indirectly writing or indirectly writing in response to the determination.
摘要:
Systems and methods for optimizing operation of a physical device in a virtualized computing environment are provided. The method comprises monitoring instructions issued by an application running on a virtual machine's (VM) operating system, wherein the VM is hosted by a hypervisor providing access to a physical device connected to a virtualized computing environment; wherein a device driver supported by the operating system issues one or more instructions to an emulated device supported by the hypervisor to control the physical device according to the issued instructions, wherein the emulated device's registers are implemented in memory of the hypervisor and the instructions issued by the device driver are stored in said registers, wherein the hypervisor handles the instructions, in response to learning that the instructions are stored in said registers.
摘要:
A computer-implemented system and method for protecting a memory are provided. The system includes a memory section with privileged and non-privileged sections, a host gateway (HG) to generate a capability credential, a device controller (DC) to append the credential to data transmitted to the memory, and at least one IO device enabled to do direct memory access (DMA) transactions with the memory.
摘要:
A computer program product is provided. The product including a computer readable storage medium including computer readable program code for controlling access to computer memory. the computer readable program code including first instructions for communicating work queue elements with an application layer and with a verb layer, wherein the application layer and the verb layer each may request a completion notification to determine whether a work queue elements with an application layer and with a verb layer, wherein the application layer and the verb layer each may request a completion notification to determine whether a work queue element has been completed, and second instructions for indicating completion of the work queue elemens in response to the layer requesting completion notification, wherein both the application layer and the verb layer are capable of checking if at least one of the work queue elements is completed, independently of each other, such that the application layer does not interface with the verb layer to determine completion status of the work queue elements; wherein communicating work queue elements includes communicating a consumer work request comprising an application request bit, adapted to indicate an application request for completion notification, and a verb request bit, adapted to indicate a verb request for completion notification; wherein if the application request bit is set, then a completion queue element is provided that indicates completion of the communicated consumer work request and if the verb request bit is set, then a status field of the communicated work queue element is updated to indicate completion of the communicated work queue element; wherein the application layer queries the completion queue element to find out if the communicated consumer work request is completed and the verb layer queries the status field of the communicated work queue element to find out if the communicated work queue element is completed, and wherein the work queue elements are stored in a work queue and the completion queue elements are stored in a completion queue such that the work queue and the completion queue elements are located in different address spaces, each independently accessible to the application layer and the verb layer.
摘要:
A method for generating a storage policy, the method includes: receiving a storage system target function; and generating, by a machine learning entity, the storage policy in response to: (a) a set of file-related storage operation requests, (b) a state of the storage system before responding to the set of file-related storage operation requests, and (c) the storage system target function. A method for evaluating a storage policy, the method includes: simulating an application of the storage policy by the storage system during a first period, in response to a set of file-related storage operation requests that was provided to the storage system during the first period, to provide a simulation result; wherein the first period starts before the simulating.
摘要:
An RNIC implementation that performs direct data placement to memory where all segments of a particular connection are aligned, or moves data through reassembly buffers where all segments of a particular connection are non-aligned. The type of connection that cuts-through without accessing the reassembly buffers is referred to as a “Fast” connection because it is highly likely to be aligned, while the other type is referred to as a “Slow” connection. When a consumer establishes a connection, it specifies a connection type. The connection type can change from Fast to Slow and back. The invention reduces memory bandwidth, latency, error recovery using TCP retransmit and provides for a “graceful recovery” from an empty receive queue. The implementation also may conduct CRC validation for a majority of inbound DDP segments in the Fast connection before sending a TCP acknowledgement (Ack) confirming segment reception.
摘要:
An RNIC implementation that performs direct data placement to memory where all segments of a particular connection are aligned, or moves data through reassembly buffers where all segments of a particular connection are non-aligned. The type of connection that cuts-through without accessing the reassembly buffers is referred to as a “Fast” connection because it is highly likely to be aligned, while the other type is referred to as a “Slow” connection. When a consumer establishes a connection, it specifies a connection type. The connection type can change from Fast to Slow and back. The invention reduces memory bandwidth, latency, error recovery using TCP retransmit and provides for a “graceful recovery” from an empty receive queue. The implementation also may conduct CRC validation for a majority of inbound DDP segments in the Fast connection before sending a TCP acknowledgement (Ack) confirming segment reception.
摘要:
A method for receiving data in a network acceleration architecture for use with TCP (transport control protocol), iSCSI (Internet Small Computer System Interface) and/or RDMA (Remote Direct Memory Access) over TCP, including providing a hardware acceleration engine, called a streamer, adapted for communication with and processing data from a consumer application in a system that supports TCP, iSCSI and RDMA over TCP, providing a software protocol processor adapted for carrying out TCP implementation, the software control processor being called a TCE (TCP Control Engine), wherein the streamer and the TCE are adapted to operate asynchronously and independently of one another, and transmitting a TCP segment with the streamer.
摘要:
A method and system for providing a datamover interface that interfaces with an iSCSI (Internet Small Computer System Interface) driver and with an iSER (iSCSI Extensions for RDMA (Remote Direct Memory Access)) datamover and an iSCSI datamover.
摘要:
A method and system for registering a SCSI (Small Computer System Interface) buffer memory by RDMA (Remote Direct Memory Access) ATP (Address Translation and Protection) Fast Memory Registration.