摘要:
Disclosed is a computer implemented method, computer program product, and apparatus to obtain buffers in a multiprocessor system. A software component receives a call from an I/O device driver for a buffer, the call including at least one parameter, and walks a bucket data structure to a current bucket. The software component then determines whether the current bucket is free, and obtains a buffer list contained with the current bucket. Responsive to a determination that the current bucket is free, the software component determines whether sufficient buffers are obtained based on the parameter. Upon determining there are sufficient buffers obtained, the software component provides the current bucket and a second bucket as a single buffer list to the I/O device driver.
摘要:
Methods, systems, and media are disclosed for adjusting a fast re-transmit threshold (FRT) value for transmitting data streams over a computer system. One embodiment includes receiving, by a sender, a current fast re-transmit threshold value for a packet from a receiver. Further, the method includes decreasing the size of the congestion window of the sender, and re-transmitting the packet to the receiver in network communication with the sender. Further still, the method includes counting, by the sender, a number of dupacks after re-transmitting the packet until arrival, at the sender, of an acknowledgement (ACK) for the packet. Yet further, the method includes determining, based on the size of the congestion window and the counting, a value of the FRT value. If the sender receives the ACK for the packet in less than one round trip time, then this may be a re-ordering problem for re-setting the FRT value.
摘要:
In a first aspect, a first method is provided for creating a media access control (MAC) address for a device. The first method includes the steps of (1) obtaining one or more identifiers; (2) obtaining a first MAC address; and (3) creating at least a second MAC address based on the one or more identifiers and the first MAC address. Numerous other aspects are provided.
摘要:
A method of dynamically changing an allocation of queue pair resources to an operating system image running in virtualized environment receives a notification at the operating system image of a change in allocation of queue pair resources to the operating system image. The method queries a physical network adapter through a hypervisor to obtain a new queue pair resource count that will exist in the virtualized system after the change in allocation. The method performs a hashing operation in the operating system image using the new queue pair resource count to distribute transmit traffic among the queue pair resources that will exist in the virtualized system after the change in allocation.
摘要:
In link aggregation configurations, a data packet may be copied into a buffer space of a first NIC. Load balancing techniques may determine that the packet should be transmitted by a second NIC. The packet exists in memory that the second NIC cannot access. The data packet is copied into memory accessible to the second NIC or the memory location of the packet is registered with the NIC. A copy penalty is incurred if a packet is copied from a first buffer space to a second buffer space. A registration penalty is incurred if the location within the first buffer space is registered with the second NIC. Functionality can be implemented within a link aggregation configuration to register buffer space shared among interconnected NICs. Sharing of buffer space between interconnected NICs allows any one of the NICs to access data within the shared buffer space without incurring a penalty.
摘要:
Mechanisms are disclosed for adjusting a fast re-transmit threshold (FRT) value for transmitting data streams over a computer system. One embodiment includes receiving, by a sender, a current fast re-transmit threshold value for a packet from a receiver. Further, these mechanisms include decreasing the size of the congestion window of the sender, and re-transmitting the packet to the receiver in network communication with the sender. Further still, the mechanisms include counting, by the sender, a number of dupacks after re-transmitting the packet until arrival, at the sender, of an acknowledgement (ACK) for the packet. Yet further, the mechanisms include determining, based on the size of the congestion window and the counting, a value of the FRT value. If the sender receives the ACK for the packet in less than one round trip time, then this may be a re-ordering problem for re-setting the FRT value.
摘要:
Methods and arrangements of data communications are discussed. Embodiments include transformations, code, state machines or other logic to provide data communications. An embodiment may involve receiving from a protocol stack a request for a buffer to hold data. The data may consist of all or part of a payload of a packet. The embodiment may also involve allocating space in a buffer for the data and for a header of a packet. The protocol stack may store the data in a portion of the buffer and hand down the buffer to a network device driver. The embodiment may also involve the network device driver transferring the entire packet from the buffer to a communications adapter in a single direct memory access (DMA) operation.
摘要:
Methods and arrangements of data communications are discussed. Embodiments include transformations, code, state machines or other logic to provide data communications. An embodiment may involve receiving from a protocol stack a request for a buffer to hold data. The data may consist of all or part of a payload of a packet. The embodiment may also involve allocating space in a buffer for the data and for a header of a packet. The protocol stack may store the data in a portion of the buffer and hand down the buffer to a network device driver. The embodiment may also involve the network device driver transferring the entire packet from the buffer to a communications adapter in a single direct memory access (DMA) operation.
摘要:
In a first aspect, a first method is provided for creating a media access control (MAC) address for a device. The first method includes the steps of (1) obtaining one or more identifiers; (2) obtaining a first MAC address; and (3) creating at least a second MAC address based on the one or more identifiers and the first MAC address. Numerous other aspects are provided.
摘要:
A memory registration abstraction layer includes decision logic for dynamic, efficient determination of memory copy versus registration. The exemplary embodiments apply to direct memory access environments. The memory registration abstraction layer also includes tracking logic for monitoring the usage history for certain ranges of memory registration requests. The registration logic chooses to copy memory or map memory based on training and observation of application behavior, taking the more efficient performance path without requiring changes to the application.