next up previous contents
Next: Multiprocessor interconnection network Up: System Interconnects Previous: Node bus

Network interface modules

 

Source files: src/MemSys/smnet.c

Header files: incl/MemSys/net.h

The SMNET (Shared Memory-NETwork) interfaces in RSIM are the modules that connect each node's local bus to the interconnection network. The primary functions of the SMNET are as follows:

The main procedure for sending packets to the network is SmnetSend. This event handles communication between the bus and the network interface. Upon receiving a new message, SmnetSend schedules an appropriate event to insert the new message into the request or reply network as appropriate. The events that provide this interface have the body functions ReqSendSemaWait and ReplySendSemaWait for the request network and reply network, respectively. These events ensure that there is sufficient space in the network interface buffers before creating the packets and initiating communication.

In addition to sending messages, the Smnet module handles receiving messages through the ReqRcvSemaWait and ReplyRcvSemaWait events. These events wait on semaphores associated with the network output ports to receive messages. (Semaphores are discussed in Section 8.2.) As soon as a message is received, it is forwarded to the appropriate bus port, according to whether it is a request or a reply. The bus will actually deliver the message to the caches or the directory.



Vijay Sadananda Pai
Thu Aug 7 14:18:56 CDT 1997