22
Host
Processor
o:
stall SPARC on
L:
set presence
bit at time
Rx+ L
after
injection
in Tx loop
g:delay LANai
o: stall SPARC on
∆
Processor
message reception
message send
LANai
network
Host Processor
LANai network
Processor
Delay Queue
Rx Queue
Figure 2.2:
Varying LogGP Parameters
This figure describes our methodology for individually varying each of the LogGP parameters. The
interaction between the host processor, the network processor (LANai) and the network is shown for
communication between two nodes.
layer is not thread-safe and requires polling to receive messages. Polls are automatically inserted
when sending messages, however.
In addition to requests and replies, messages are typed as short or long. Short messages
are up to 6 words in length, with one word consumed as a function handler. Long messages contain
a function pointer, two words for function arguments and a block of data up to 4KB long. Short and
long messages are orthogonal to requests and replies. Thus, a short or long message may be sent in
response to either type of request. A library function performs the packetization for direct memory-
copy requests longer than 4KB. Note that in the GAM specification [30] there is not an arbitrarily
long reply bulk-transfer function; replies in the Myrinet apparatus are limited to 4KB.
Varying the LogGP Parameters
The key experimental innovation is to build adjustments into the communication layer so
that it can emulate a system with arbitrary latency, overhead, gap and Gap. Our technique is depicted
in Figure 2.2 which illustrates the interaction of the host processor, the LANai (network interface
processor) and the network for communication between two nodes. The next sections describe how
we varied each parameter in detail.
Overhead
The majority of the overhead is the time spent writing the message into the network
interface or reading it from the interface. Thus, varying the overhead,
p
, is straightforward. For
each message send and before each message reception, the operation is modified to loop for a specific