Would a PCI adapter card for NUMA memory boards be possible?

MadRat

Lifer
Oct 14, 1999
11,938
264
126
NUMA stands for something like "non-uniform memory architecture". I think that means that we could utilize multiple types of memory would be possible to run on one system using separate memory controllers. The old Wang 386 my parents had when I was growing up had a memory card on a 16-bit ISA slot. I'm sure its possible to run 64-bit memory controllers through the PCI bus, which would be the easiest way to do my idea.

With two main types of consumer memory out there, DDR RAM and RDRAM, I think it would be nice to see both types of memory available on the same board. That is, a universal adapter for the memory could be used, most likely the PCI slot. Why? Well when DDR memory came the norm this past couple of years it left me with a glut of PC133 memory. I'm sure people are feeling the same way with the PC1600 memory now that its slow compared to PC3000 memory! We all hate to waste this memory, so what if you could still use it in your brand spanking new board using a PCI card??

Think about it, the memory card could be produced relatively cheaply to house a memory controller and support for 2-4 sticks of memory depending on the type of slots it would support. All of this "external" memory could be buffered so as to not slow down the system from using higher speed memory in the motherboard. Someone probably is going to say, "Oh, that is absolutely stupid!" With the HAMMER family coming out I think its a great idea for pushing memory past the x86-32's 4GB limit. Heck, someone could probably engineer a 16 slot card since all of the memory would have to be buffered anyhow. With PC133 memory being dumped for next to nothing anymore its pretty easy to find handfuls of 16MB and 32MB sticks. Besides that, we aren't going to be utilizing ATA133's and serialATA's true potential until some serious redesign of hard drives occurs, which means this idea should have real value to everyday users. The way I see it, PC133 is still a heck of alot faster than the hard drive!

The adapters could be made to support just about any memory, I am guessing, as long as the user understands he/she is also limited by the PCI bus for its increase in performance. Its probably every bit as possible to do RDRAM adapters as DDR adapter, too. They'd be rather excellent force multipliers for the people that wanted to upgrade thier old motherboards only to find out they had to replace both RIMMs... ;)

So what do you guys think, is it feasible?
 

Sahakiel

Golden Member
Oct 19, 2001
1,746
0
86
I get the feeling you'll have to contend with the pre-existing memory controller. I don't think it would play nice with its new friend.
Then, if you did figure out some way to disable the existing memory controller, you'll have to find another way to talk to the CPU, your HDD's, and AGP amongst other things.
A more feasible method would be to attempt adapting memory. aka dual channel SDR -> DDR. Problem with that is the cost isn't worth it. Remember those old SIMM stackers? Some stacked 2 or 4 72-pin SIMMS into one mobo slot while others actually took old 30-pin sticks adapted for use with 72-pin sockets. If I remember correctly, the cost of the stacker sometimes outweighed the cost of a single new stick of RAM that had equal or greater capacity.
In the end, you're stuck with a bunch of devaluing keychains. I got a couple 4MB SIMMS, still. Anyone want? :)
 

Buddha Bart

Diamond Member
Oct 11, 1999
3,064
0
0
numa = non-uniform memroy access
Its when a cluster of cpu/memory combinations ("computers") have high-speed links between them, and can literally read to and write from each others memory.

as for the rest of your post. You'd never want your ram on the PCI bus. The extra controller/latency would hurt performance.
Also, PCI bus or its own special expansion format, you'd be adding inches to the trace's, and would make scaling/speed a problem (hell modern chipsets can barely handle 3 dimm's)

It sounds nifty and all but most people don't upgrade, they replace on a x-year cycle. Even two years from now, enough will change that you'd have to re-enginere your new bus/expansioncard system and buy a new motherboard to use it anyway.

bart
 

Peter

Elite Member
Oct 15, 1999
9,640
1
0
Yes it can be done (and it is being done, mainly to provide non-volatile storage in industrial applications) ... but you'd be surprised about how slow that is. Having the memory controller in close proximity to the CPU is the right thing to do, having it in the CPU itself is even better.

NUMA means that with multiple CPUs you get multiple RAM controllers. Any CPU can access any RAM on any other CPU, but to do that, it has to go through the inter-CPU bus.

As I already said in another thread, to make good use of this, operating systems will have to have CPU affinity aware memory allocation tactics, so that the tasks and threads running on a certain CPU will get to use memory that is local to this CPU.

And don't worry, you WILL get more than 4 gigs of memory ...
regards, Peter
 

zephyrprime

Diamond Member
Feb 18, 2001
7,512
2
81
Memory cards for pci buses have been around for a long time. Check out http://www.cenatek.com/store/category.cfm?Category=9. Drives like this have been made for just about every sort of computer bus there ever was. It's quite easy. The reason you never hear about them is that there are few people that need this sort of thing. And Peter is absolutely right with what he's saying. Using this sort of thing as an alternative or extension to main memory is very slow. Although I recall long ago back in the xt and 286 days, such memory controllers used in an EMS system were not uncommon. But there's just no reason to do that anymore since you can just stick in more memory on you MB.
 

MadRat

Lifer
Oct 14, 1999
11,938
264
126
Somebody had a good idea in another thread, make a PCI-compatible CPU expansion card for SMP. They already make a PCI card for Apple G4 processors (See here) that can be used in Linux. A card that had integrated memory and memory controller coupled to a CPU slotket would gain you more in the long run, even if the second processor is only half as fast as the main CPU. Now that would be interesting, a Pentium4 with RDRAM expansion card running in an AMD system.
 

Shalmanese

Platinum Member
Sep 29, 2000
2,157
0
0
There are boards that do that. What they do is pretend to be a ATA controller and that the RAm is a HD. You can then move your swapfile onto that partition and get slightly improved performance. Generally, though, you dont have much use for it. I suppose, if you were doing video editing, you could copy it onto the partition first and THEN copy to your HD so that your CPU/RAM is free for other stuff.