I'm trying to better understand our performance expectations for our various clusters using PCI-X and PCI-e.
The speed specs in the Wikipedia entry for PCI-e seem accurate. PCI-e is described as an assembly of 2.5Gbs (Gigabit per second) channels. Assuming a 10bit byte, that gives 250MBs (mega-bytes per second). The article seems consistent with these numbers. The channels are assembled in x1 x2 x4 x8 x16 or x32 configurations. So our Dell 1950 with an x8 PCI-e card will support 2.5Gbs x 8 = 20Gbs (20 Gigabits per channel). That is, 2 x 10Gbs. In otherwords the PCI-e segment is twice as fast as our 10Gbs ethernet backplane. And, since PCI-e cards can negotiate their speed independently of other cards, we shouldn't see any negative impacts for other cards that might be connected to the same PCI-e segment.
The entry that describes PCI-X is not as clear, at least to me. There is a helpful side bar that list the top speed of PCI-X as 1GBs, that is giga-bytes per second. If we're assuming a 10bit byte, that would mean PCI-X can support 10 giga-bits per second. Is this accurate?
If PCI-X can indeed do 10Gbs, then we should be able to consider 10Gbs cards for our PCI-X hosts as well. PCI-X is a parallel bus and its max performance is impacted by the weakest spec'd card on the bus. If we put a 10Gbs card in those hosts, we should be sure to configure the PCI-X bus to maximize performance.
I need clarification on these specs, and if they are accurate we can adjust our assumptions. If they are not, we may need to adjust Wikipedia. ;)