A method of transmitting messages between a plurality of servers (150a, 150b), each server having a local memory (153, 163) and processor (151, 161), comprising: connecting each of said plurality of servers (150a, 150b) to a switch using PCI Express, said switch comprising a plurality of non-transparent bridges (140a, 140b), one of said non-transparent bridges (140a, 140b) used to connect to a respective one of said plurality of servers (150a, 150b), characterized by further comprising: configuring each of said non-transparent bridges (140a, 140b) to allow said network switch to access at least a portion of said local memory (153, 163) of said server (150a, 150b) connected to said non-transparent bridge (140a, 140b); building a look up table in said network switch associating a destination address with one of said plurality of non-transparent bridges (140a, 140b); creating a message in said local memory in a first server, said message having a destination address; using said network switch to read said destination address in said message by accessing said local memory of said first server using a first non-transparent bridge associated with said first server; determining the destination server by looking up said destination address in said look up table; using said network switch to read said message by accessing said local memory of said first server using said first non-transparent bridge; and copying said message to local memory of said destination server by accessing said local memory of said destination server by using a second non-transparent bridge associated with said destination server. connecting each of said plurality of servers (150a, 150b) to a switch using PCI Express, said switch comprising a plurality of non-transparent bridges (140a, 140b), one of said non-transparent bridges (140a, 140b) used to connect to a respective one of said plurality of servers (150a, 150b), characterized by further comprising: configuring each of said non-transparent bridges (140a, 140b) to allow said network switch to access at least a portion of said local memory (153, 163) of said server (150a, 150b) connected to said non-transparent bridge (140a, 140b); building a look up table in said network switch associating a destination address with one of said plurality of non-transparent bridges (140a, 140b); creating a message in said local memory in a first server, said message having a destination address; using said network switch to read said destination address in said message by accessing said local memory of said first server using a first non-transparent bridge associated with said first server; determining the destination server by looking up said destination address in said look up table; using said network switch to read said message by accessing said local memory of said first server using said first non-transparent bridge; and copying said message to local memory of said destination server by accessing said local memory of said destination server by using a second non-transparent bridge associated with said destination server. configuring each of said non-transparent bridges (140a, 140b) to allow said network switch to access at least a portion of said local memory (153, 163) of said server (150a, 150b) connected to said non-transparent bridge (140a, 140b); building a look up table in said network switch associating a destination address with one of said plurality of non-transparent bridges (140a, 140b); creating a message in said local memory in a first server, said message having a destination address; using said network switch to read said destination address in said message by accessing said local memory of said first server using a first non-transparent bridge associated with said first server; determining the destination server by looking up said destination address in said look up table; using said network switch to read said message by accessing said local memory of said first server using said first non-transparent bridge; and copying said message to local memory of said destination server by accessing said local memory of said destination server by using a second non-transparent bridge associated with said destination server.