On 26/02/2009, at 2:48 AM, David Barak wrote:
Doesn't that assume that the communicarion is unidirectional?
... No.
If two hosts are exchanging 1Gbps flows, the traffic across the bus will be 2Gbps, right?
Yes. 1Gbps backplane impact per host. You have two hosts, right? One host per port? That's 1Gbps per port. So, 24 ports = 24Gbps, right? Let's try look at it another way: - A 24 port gig switch can receive at most 24Gbps. - That same switch can transmit at most 24Gbps. You don't get to add transmit and receive together to get 48Gbps. Packets don't go across the backplane once to receive, and then once more to transmit. They go across once, from the receiving port to the transmitting port. (sure, sometimes perhaps packets do go across twice, but not normally)
And of course, this doesn't include any bus-intensive operations like multicast or things which require cpu processing - those can consume a lot more resources than the input rate of the port.
Of course multicast/broadcast consumes more resources than the input rate. That's the point. If you receive multicast or broadcast at 1Gbps, and the multicast needs to go out all the ports, you need to transmit at 24Gbps. That's 24 x the transmit resources (and probably backplane resources, depending on architecture etc. etc.) than a single 1Gbps unicast stream. Of course, with unicast it is only getting to one host. Let's assume we have data at 1Gbps that we need to get to 24 hosts. - If we unicast, we need 24 input ports, and 24 output ports, assuming we only have gig ports (or say 3x10GE, or whatever). - If we multicast, we need 1 input port, and 24 output ports. When you compare the end result, multicast uses significantly less resources, right? In fact, perhaps some bus architectures know about how multicast works, and it consumes *less* resources than doing the same thing with many unicast streams. If the bus does not know about multicast, then the bus would treat it as 24 unicast streams, surely. -- Nathan Ward