摘要:
A method is provided for creating and managing tables for routing packets through an environment that includes multiple hosts and shared PCI switches and adapters. A Destination Identification (DID) field in the PBA is appended to a transaction packet dispatched through the PCI switches, wherein a particular DID is associated with a particular host or system image, and thus identifies the physical or virtual end point of its packet. In one embodiment, packets are routed through PCI switches in a distributed computer system comprising multiple root nodes, wherein each root node includes one or more hosts. The embodiment includes the step of creating a table or like data structure in a specified one of the switches. When a particular host of one of the root nodes becomes connected to the specified switch, a PCI Configuration Master (PCM), residing in one of the root nodes, is operated to enter a destination identifier or DID into the table. The DID is then appended as an address component, to packets directed through the specified switch from the particular host to one of the adapters. The destination identifier is also used to determine that a PCI packet, routed through the specified switch from one of the adapters, is intended for the particular root node.
摘要:
A number of improvements in network adapters that offload protocol processing from the host processor are provided. Specifically, an improved mechanism for handling receipt of data packets in a system utilizing an offload network adapter. The offload network adapter may include logic that permits the offload network adapter to delay notification of data reception to the host system in different ways. The advantage of delaying the notice of data packet reception to the host system is the potential for aggregation of several data packets, which can arrive immediately after the first one, for example, in a single notification. Given a stream with continuous data packet arrival, a value may be set, either statically or dynamically, for notification delay and this value may be configurable for the host system per communication socket.
摘要:
A mechanism for bottleneck avoidance is provided in an intelligent adapter. The mechanism allows the adapter to be used such that host/adapter system throughput is optimized. The bottleneck avoidance mechanism of the present invention determines when the adapter becomes a bottleneck. If certain conditions exist, then new connections are refused so that the adapter can process packets for existing connections. If certain other conditions exist, the adapter may migrate workload to the host processor for processing. These conditions may be determined by comparing memory usage or central processing unit usage to predetermined thresholds. Alternatively, the conditions may be determined by comparing adapter response time to host response time.
摘要:
Method and system for address routing in a distributed computing system, such as a distributed computing system that uses PCI Express protocol to communicate over an I/O fabric. A destination identifier is provided to identify a physical or virtual host or end point. When a physical or virtual host or end point receives a PCI data packet it compares a list of source identifiers with destination identifiers to determine if a source identifier included in the transaction packet is associated with a destination identifier included in the transaction packet to determine if the transaction packet has a valid association. If the transaction packet has a valid association, it is routed to the target device. The present invention enables each host that attaches to PCI bridges or switches and shares a set of common PCI devices to have its own PCI 64-bit address space and enables the routing of PCI transaction packets between multiple hosts and adapters, through a PCI switched-fabric bus using a destination identifier.
摘要:
A method is directed to use of a master root node, in a distributed computer system provided with multiple root nodes, to control the configuration of routings through an I/O switched-fabric. One of the root nodes is designated as the master root node or PCI Configuration Manager (PCM), and is operable to carry out the configuration while each of the other root nodes remains in a quiescent or inactive state. In one useful embodiment pertaining to a system of the above type, that includes multiple root nodes, PCI switches, and PCI adapters available for sharing by different root nodes, a method is provided wherein the master root node is operated to configure routings through the PCI switches. Respective routings are configured between respective root nodes and the PCI adapters, wherein each of the configured routings corresponds to only one of the root nodes. A particular root node is enabled to access each of the PCI adapters that are included in any configured routing that corresponds to the particular root node. At the same time, the master root node writes into a particular root node only the configured routings that correspond to the particular root node. Thus, the particular root node is prevented from accessing an adapter that is not included in its corresponding routings.
摘要:
A method and apparatus is provided for routing error messages in a distributed computer system comprising multiple root nodes, and further comprising one or more PCI switches and one or more I/O adapters, wherein each root node includes one or more system images. In one useful embodiment, a method is provided for routing I/O error messages to root nodes respectively associated with the errors contained in the messages. The method includes detecting occurrence of an error at a specified one of the adapters, wherein the error affects one of the system images, and generating an error message at the specified adapter. The method further comprises routing the error message from the specified adapter to the particular root node that includes the affected system image. The error message is then selectively processed at the particular root node, in order to identify the affected system image. Usefully, the step of routing the error message includes using a bus/device/function number associated with the error, together with a routing table located in one of the PCI switches, to route the error message to the correct root node and system image.
摘要:
A number of improvements in network adapters that offload protocol processing from the host processor are provided. Specifically, mechanisms for handling memory management and optimization within a system utilizing an offload network adapter are provided. The memory management mechanism permits both buffered sending and receiving of data as well as zero-copy sending and receiving of data. In addition, the memory management mechanism permits grouping of DMA buffers that can be shared among specified connections based on any number of attributes. The memory management mechanism further permits partial send and receive buffer operation, delaying of DMA requests so that they may be communicated to the host system in bulk, and expedited transfer of data to the host system.
摘要:
A method, apparatus, and computer instructions for transferring data objects. A request for a data object is received at a communication adapter. A determination is made as to whether the data object is stored in a memory in the communication adapter in response to receiving the request. The data object is transferred from the memory to a receiver of the data object through the communication adapter in which transfer of the data across a bus connecting the communication adapter to the data processing system is unnecessary in response to the data object being present in the memory.
摘要:
A computer-implemented method, apparatus, and computer program product are disclosed in a data processing environment that includes host computer systems that are coupled to adapters utilizing a switched fabric for routing packets between the host computer systems and the adapters. A unique destination identifier is assigned to one of the host computer systems. A portion of a standard format packet destination address is selected. Within a particular packet, the portion is set equal to the unique identifier that is assigned to the host computer system. The particular packet is then routed through the fabric to the host computer system using the unique destination identifier.
摘要:
A PCI control manager provides address translation protection tables in switches in a PCI fabric. The PCI control manager discovers the fabric and provides a virtual tree for each root complex. A system administrator may then remove endpoints that do not communicate with the root complex to configure the PCI fabric. The PCI control manager then provides updated ATPT tables to the switches. When a host or adapter is added, the master PCM goes through the discovery process and the ATPT tables and adapter routing tables are modified to reflect the change in configuration. The master PCM can query the ATPT tables and adapter routing tables to determine what is in the configuration. The master PCM can also destroy entries in the ATPT tables and adapter routing tables when a device is removed from the configuration and those entries are no longer valid.