Previous | Next --- Slide 26 of 64
Back to Lecture Thumbnails
pufan

Could we have a concrete example here showing what is overhead, occupancy and network delay?

I have a difficulty understanding what, in real world, is corresponding to Link1, and what to Link 2.

nba16235

@pufan, take the network connection from Pittsburgh to Tokyo for example. The network from Pittsburgh to SF may be link 1, while the network from SF to Tokyo could be link 2 since they are physically far away from each other, which means larger network delay.

acortes

On this slide it states that link 2 (receiver) is larger than link 1 (sender). Why would we want a receiver link to be larger than a sender link? The only time I can think of this model being 'good' is if main memory was the receiver and cores were senders.

BBB

It's probably usually a good idea to have larger receiver links than sender links, since receivers probably receive data from multiple sources. Senders probably broadcast the same data to all of their receivers, so they only need to be able to transmit one "packet" at a time. On the other hands, receivers probably need to receive "packets" from many (N) different senders. To be able to receive all of that data, the receivers need to be able to handle N "packets" at a time.

For example, message passing in Barnes-Hut, where senders broadcast the location of their planets, while receivers must listen to all of their neighbors simultaneously.

As another example, multicore systems often have distributed memory, where each core has fast access to local memory, and slower access to non-local memory (NUMA). Sending data/requests around is cheap, since there is exactly one destination. To receive though, each node must be able to receive requests from several nodes at once.