[Beowulf] dual-core benefits?

Mark Hahn hahn at physics.mcmaster.ca
Fri Sep 23 06:43:17 PDT 2005


> > is this scalability assuming a slow interconnect like gigabit?
> Yes, gigabit on Pentium 4 cluster.

well, the e1000 is a decent nic, but it is sometimes configured
for too much interrupt mitigation to suit HPC.  even so, it's not 
anywhere close to the domain of performance as a real cluster 
interconnect (~2 us, 400-1800 MB/s).

> > have you considered when it would be appropriate to go to something fast?
> Yes, that is probably sth that we will consider after trying gigabit and two
> network interfaces per mb. 

dual-port has a reputation for not helping much.  it's only a small
boost in bandwidth in the ideal case.

> > on a multiprocessor system, you effectively have a pretty fast, if small,
> > interconnect.  if your code can take advantage of that, then going
> > dual-core could well be a win.  for instance, if your code is limited
> > by short-message, point-to-point latency, then increasing "SMP-ness"
> > should help a lot, especially if you are assuming mere gigabit.
> 
> Well, actually I'm still not sure about this. The CPUs inside the node will
> communicate fast, but then the network will be a bottleneck?

I was careful in what I said, and perhaps not explicit enough.  if your 
code has a lot of short, p-p messages, then the MPI will avoid the use
of the nic on paths within the machine.  (at least myrinet and quadrics do).
that's a significant win, since intra-node is .8us/800MBps for an
older opteron cluster I have, vs 3.5/240 for inter-node.

so if you're only scaling to 8x, and you use dual-dual nodes, half your 
messages will be very fast.  if the inter-node fabric is gigabit, that
means .8/800 vs 30/80.

so just looking at an 8p cluster, assuming only p-p messages uniformly
distributed:
	two 2x2's will see .8/800 on half of all messages, 30/80
	on the rest or 15.4/440 aggregate.

	four 2x1's will see .8/800 on a quarter, 30/80 on the rest,
	or 22.7/260.

this is pretty rough, of course: if you had the right patterns, 
you could do better or worse.  and if you use collectives, you'll
always be limited at least by inter-node performance.

regards, mark hahn.




More information about the Beowulf mailing list