Fitting A Linux Box On A PCI Card
An Anonymous Coward writes: "Running on Newsforge/Linux.com is a hardware review where Slashdot's Krow took a couple of OmniCluster's Slotservers and and built a cluster configuation inside of a singe host computer (and even had DB2 running on one of the card's inside of the host). Could something like this be the future of computing where for additional processing power you just kept adding additional computers inside of a host?"
I've seen these around for ages, variety of manufacturers, but usually they're priced significantly higher than just buying several cheap PC's, granted you have a fast bus between cards/PC's, unless you have a redundant powersupply, one failure brings your whole cluster down, whereas networked mobos should be tolerant of one system failing. As for future, eh, they've been around long enough, but I expect the use has been rather specialized.
A feeling of having made the same mistake before: Deja Foobar
Does anyone here remember a while back when that "fake" company tried to sell us SETI @ Home PCI cards? I was about to place my order, until the word came to me that they were a fraud. Kind of a funny joke at the time, though. At any rate, here is the old /. story on it:
8 22 6&mode=thread
http://slashdot.org/article.pl?sid=00/07/23/215
It would have been GREAT to have an improvement in CPU speed on a PCI card, as I always have at least two free in every system I own. What I wonder, though, is what instructional speed would the PCI card "CPUs" give us?
Man is born free; and everywhere he is in chains.
I'd just love the idea of having a host PC (or a Beowulf cluster of them ;-) with all the PCI slots filled with G4 7400 boards crushing numbers...
PCI = PCI = PCI = CPU = PCI = PCI ..
I I I I
IDE CPU CPU CPU
I I I
USB PCIs PCIs
I I
IDE
I
USB
I have left out memory controllers, northbridge, etc, and modern fancy chip interconnects because they are just fluff (no, not fluffers, that is another industry). In the above diagram, what is the host CPU? Is there actually such a thing as a host? The PCI bus is arguably the center of a modern PC, with CPUs and controllers hanging off of it.
Modern motherboards are just a restriction on what you can do in reality. Reality is a PCI backplane on a case, maybe with a couple of PCI-PCI bridges. You can then add anything into any PCI card that you want - normal PCI cards, or CPUs (NB, Memory, CPU, etc).
That is why you can configure these cards to use the 'host' IDE drive. It is just a device on every 'computer' within the case...
I can't post a diagram though, because I must use "fewer junk characters". Bloody lameness filter - affects the real users, the people it is meant to trap just work around it. Would you call this a "lame post"?
There has been a project a while ago, which aim was to implement a beowulf of separate StrongArm cards to be plugged in a box, they have even managed to build some prototypes.
http://www.dnaco.net/~kragen/sa-beowulf/
Alas I think the project seems to be dead for some time now.
Follow me here:
A computer used to take up a room.
Then, computers were large cabinets in a computer room.
Now, they are boxes in a computer cabinet in a computer room.
So we can extrapolate the next step for computers is to be cardss in computer box in a computer cabinet in a computer room.
It's a natural (obvious) progression really.
"Karma can only be portioned out by the cosmos." -- Homer Simpson
RF Interference:
I don't think there will be a problem with interference. Check out these computers. They use a similar system, but instead of being on a pidly motherboard, they use the ubiquitous VME format. They really pack in the processors -- 4 G4 PPC's per daughter card, and 4 daughter cards per single 9U VME card, and then 16 9U cards per chassis, and then three chassis. (4*4*16*3=48 TFLOPS) The pitch spacing on PCI is comprable to that on VME.
Also, I wondered about the connector on the tops of these boards. It looks like another PCI card edge. I wonder if this is a duplicate of the host PCI interface (for debug purposes), if it's a new "slot" to connect to the server's internal bus, or if it's a way to connect server cards bypassing the main PCI bus (for better performance).
HIV Crosses Species Barrier... into Muppets
I am actually typing this comment on a Sun Microsystems SUNPCI card.. It's a celeron, I beleive a 466mhz or so, w/ 128m of ram. It has onboard video if you want to use an external monitor or can use the sun's native card if you want to run it windowed, ditto w/ ethernet. I've been using the card for about 3 months now, and other than some instability w/ SunOS 2.6 (which dissapeared in 2.8), I haven't had problems with it.. you can copy/paste between the Sun window and the 'PC' window, which is very helpful.. and though we are running WIN2000 on it (ok.. so shoot me) I don't see any reason why you couldn't run linux on it if you really wanted too.. All-in-all, the card is pretty badass..
//Phizzy
"Most European technology just isn't worth our stealing," -- Former CIA chief James Woolsey, referring to Echelon
don't see these things taking off for most uses because the PCI bus is limited to a measly 133 MB/S. Even newer 64 bit PCI slots found in some servers have insignifigant bandwidth to keep the data flowing fast enough to make full use of these things.
You've heard of Beowolf clusters, right?
Let's imagine I'm running some large routine to model some physical phenomena.. Depending on the problem, it is often possible to split the computational domain into small chunks and then pass only the elements along the interfaces between nodes.. So, how does that impact this discussion? Well, let's assume I can break up an NxM grid onto four subdomains. The communication from each node will consist of N+M elements (not NxM).. Now, let's take a look at our options. I can either purchase 4 machines with gigabit (~1000Mb/s) ethernet, Myranet (~200Mb/s) cards, or maybe I can use ip-over-firewire (~400Mb/s) to communicate between machines.. Gigabit ethernet has some latency problems that are answered by Myranet, but if we just look at the bandwidth issue, then ~1000Mb/s is roughly 125MB/s. That's slower than the 133MB/s you quoted above for a 32bit, 33MHz PCI bus.. Of course there are motherboards out there that support 64bit, 66MHz PCI cards (such as these from TotalImpact)..
You're right that the PCI bus is not as fast as the data io approaches use by IBM, Sun, SGI, etc to feed their processors. BUT, if I'm deciding between one machine sitting in the corner crunching numbers, or 4 machines sitting in the corner talking slowly to each other through an expensive gigabit ethernet switch, guess which system I'm going to look at?
I think the basic form to use is some simplified base system designed to be upgraded to the extreme. No built-in crap on the motherboard to speak of.. just lots of PCI slots. If they could share harddrive and RAM and provide a keyboard/mouse/monitor switching method similar to KVM switches but all in one box it'd be great. So rather than replacing older computers we could just add to them. Maybe perfect something like MOSIX and drop the whole stupid SMP idea. I've always imagined computers would someday be like legos where you could buy a CPU lego, a RAM lego, a harddrive lego, etc and just plug them together in any order to add to a hot system. No reboot and no case to open. If one burned out just toss it and put a new one in.
At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
Can this be the, uh, future?
No, not if it's existed for decades. It's what's referred to as a "mainframe". You know. An expandable number of processor boards running under an operating system that can treat them as any number of single-processor or multiprocessor machines, with the ability to reassign processes between CPUs.
The Unix world has had them for a long time, too. Modern examples include Sun's higher-end servers, which support hot-swappable and hot-pluggable processors and memory.
Doing it with x86 processors and standard x86 OSes like x86 Unixes and Windows is less common but I believe Compaq and maybe Unisys can sell you machines that can do it, too, with one or several instances of the OS running at once.
This hatdware approach is not quite the same as VMWare's server products, which do it via software and don't limit you to one OS per processor or block of processors. It in turn mimics other decades-old mainframe operating environments in approach.
Aside from the nick and the sig, calling 133MB/s 'measly' is absurd. Sure, compared to servers that cost an order of magnitude higher than these do, it is a little slow. But comparted to 100 Mb Ethernet, it is pretty fast. For specific applications it is definately useable.
And RF problems? How about24 CPUs in a 3u package, using a similar concept?
But for a troll, its nicely done. Several detailed replies, even I couldn't resist!
Bleh!