Doctor Q said:
My intuition was completely backwards. I would have thought that parallel memory controller communication would be faster. No wonder I'm in the software field, not the hardware field!
Yes and no.
While it is true that parallel interfaces can be higher bandwidth (because there are more wires), they also suffer from issues like crosstalk (where one wire's EMI interferes with another's.)
One way around this is to go serial. USB and FireWire did this. Twisted-pair wires with differential signaling (two wires are wound together, one carrying the inverse signal of the other) works well to kill the interference. One pair for transmission and another for receiving. And since modern serial tranceivers are incredibly fast, you still get high bandwidth.
The other way is to use differential signaling and twisted pairs with a parallel bus. This is the approach taken by Ultra-2 and Ultra-3 SCSI busses. This approach ends up doubling the number of wires required, which can make cables more expensive. It also makes connectors very large (unless you use ones with micro-sized connectors, which cost a lot more.) It is also hard to route such huge numbers of wires into a circuit board and keep the entire system reliable.
It's worth noting that DVI video is effectively three serial ports. The TMDS signaling used for each DVI channel is at its core an extremely high-speed twisted-pair serial port. At DVI's maximum pixel-frequency of 165MHz per channel, and 10 transmitted bits per pixel on each channel, this serial port is moving 1.65Gbps! Or in other words, that dual-link DVI port used on a Mac G5 has a maximum bandwidth of almost 10Gbps (spread across 6 channels.) Tom's Hardware Guide has a
review of video cards that describes the guts of DVI in great detail.
macshark said:
Your intuition is correct. FBDIMMs are not faster. The current bus based memory interfaces can only support 2 to 4 DIMMs at high speeds. FBDIMMs simply enable the same amount of data to be carried over smaller number of wires and thus make it possible to attach more memory (i.e. more DIMMs) to the system.
All things being equal, parallel is faster than serial, because there are more wires to carry data.
But all things are not equal. Serial interfaces are easier and cheaper to implement at high speeds. In many cases (like FireWire, DVI and PCI Express) this more than makes up for the fact that you don't have as many signal-carrying wires.
Do you actually know what the memory bandwidth of FBDIMMs are, compared to standard DDR2? I didn't see it in the above-linked article. The mere fact of it being serial does not automatically make it slower.
And, of course, if you've got a lot of channels in use at once, you can interleave your memory across them all and get all the same parallel behavior. It wouldn't suprise me if you start seeing systems with 8 sockets, where performance is maximized by installing 8 matched-size modules.
macshark said:
So FBDIMMs enable larger memory configurations or more bandwidth. But they actually increase the memory latency since the data has to be serialized on the DIMM and deserialized when it reaches the memory controller.
FBDIMMs are a good fit for server configurations which require a lot of memory or a lot of bandwidth, but not a good fit for applications that require low memory access latency.
You assume that these DIMMs will be identical to existing memory, except for the addition of the buffer. Although early product might be built this way, I would be surprised if this doesn't change.
I don't think we're seeing just another rehashing of RDRAM here.
octoberdeath said:
so good for servers... not so good for desktops?
It's anybody's guess right now. I won't be so bold as to claim one way or the other until we start seeing motherboards with these chipsets, so we can run benchmarks and comapre them against existing memory systems.
From the tech brief I read (linked above, thanks, kainjow), it has the potential to be faster than existing memory. It also has the potential to be slower. It will really depend on how this architecture is realized in actual chipsets and motherboards.
The one thing we can be certain of is that it will allow for more than the usual 2-4 sockets that systems have today, allowing for systems with tremendous amounts of RAM. Servers will definitely benefit from this, even if it ends up slower.
Desktop applications? Probably won't matter much, although cheaper motherboards will always appeal to users who have to buy their own hardware. Gamers will be upset if they end up slower, but I'd be surprised if anybody else notices.