An InfiniBand.TM. computing node includes a dual port memory configured for
storing data for a CPU and a host channel adapter in a manner that
eliminates contention for access to the dual port memory. The dual port
memory includes first and second memory ports, memory banks for storing
data, and addressing logic configured for assigning first and second
groups of the memory banks to the respective memory ports based on
prescribed assignment information. The host channel adapter is configured
for accessing the dual port memory via the first memory port, and the CPU
is configured for accessing the dual port memory via the second memory
port. The CPU also is configured for providing the prescribed assignment
information to the addressing logic, enabling the host channel adapter to
access the first group of memory banks via the first memory port as the
CPU concurrently accesses the second group of memory banks via the second
memory port. The CPU also dynamically reassigns the memory banks, enabling
the host channel adapter to continue accessing the second group of memory
banks via the first memory port, concurrent with the CPU accessing the
first group of memory banks via the second memory port.
Un noeud de traitement d'InfiniBand.TM. inclut une mémoire de double accès configurée pour stocker des données pour une unité centrale de traitement et un adapteur de canal de centre serveur en quelque sorte qui élimine la controverse pour l'accès à la mémoire de double accès. La mémoire de double accès inclut d'abord et les deuxièmes ports de mémoire, banques de mémoire pour stocker des données, et adresser la logique configurée pour assigner d'abord et les deuxièmes groupes des banques de mémoire aux ports respectifs de mémoire basés sur l'information prescrite de tâche. L'adapteur de canal de centre serveur est configuré pour accéder à la mémoire de double accès par l'intermédiaire du premier port de mémoire, et l'unité centrale de traitement est configurée pour accéder à la mémoire de double accès par l'intermédiaire du deuxième port de mémoire. L'unité centrale de traitement également est configurée pour fournir les informations prescrites de tâche à la logique d'adressage, permettant à l'adapteur de canal de centre serveur d'accéder au premier groupe de banques de mémoire par l'intermédiaire du premier port de mémoire pendant que l'unité centrale de traitement accède concurremment au deuxième groupe de banques de mémoire par l'intermédiaire du deuxième port de mémoire. L'unité centrale de traitement attribue à nouveau également dynamiquement les banques de mémoire, permettant à l'adapteur de canal de centre serveur de continuer d'accéder au deuxième groupe de banques de mémoire par l'intermédiaire du premier port de mémoire, concourant avec l'unité centrale de traitement accédant au premier groupe de banques de mémoire par l'intermédiaire du deuxième port de mémoire.