PC/104 Linux Minicluster - miniHowTo
coldfire writes: "At LISA2001 there was a neat presentation on a PC104 based mini-parallel computer. It seems that the how-to has now been posted, for the world to behold." From last year or not, this has some great pictures.
It sure stacks up pretty nice, I am just wondering if there is any heat dissapation issues when you have so much processing in so little space... lucky it's not running AMD.
First post.. mandatory w00t
geek page at KY speaks
If you pile up enough processors on this thing, you'll either reach the sky or have more computing power than God at some point. Looks fun though.
What Is PC/104?
PC/104 (IEEE P996.1) was developed to fill the need for an embedded platform, which was compliant with standardized hardware and software of the PC architecture. Mechanically quite different from the PC form factor, PC/104 modules are 3.6 X 3.8 inches in size. A self-stacking bus is implemented with pin-and-socket connectors composed of 64- and 40- contact male/female headers, which replace the card edge connectors used in standard PC hardware. Virtually anything that is available for a standard PC is available in the PC/104 form factor. PC/104 components are designed to be stacked together to create a complete embedded solution. Normally there will be a single CPU board and several peripheral boards connected by the PC/104 (ISA) system bus. Often there will be a PCI bus provided by the CPU board that will accommodate PCI peripheral boards (this standard is called PC/104+). Overall the price point for a highly integrated PC/104 CPU module is lower than for a comparable IBM-compatible PC. However, due to the power dissipation constraints typically found in embedded applications, CPU horsepower is generally lower. For more look at the PC/104 consortium site.
I'd rather you do it wrong, than for me to have to do it at all.
...you could probably turn four of these into table legs!
;)
Of course, while that would save space and money, having to take your table apart every time you needed to fix or swap something would be a PITA.
libertarianswag.com
I know they have some public interest sections of they're site .. but they are a corporation with products and such .. I wonder how they got a .gov address ..
Parallel computing, Literally!
-Jeff
Take a look at this Cluster-in-a-lunchbox
aka BentoBox
Quidquid latine dictum sit altum viditur
In some of the pix, there are two rods on opposite corners. Then in one pic, all four rods are there. But then in some other pix there are two rods in a single side. I think that this is a rod conspiracy. All these pictures are not of the same unit, no sir ree bob. That page was obviously pieced together from multiple units being put together in multiple locations over some period of time. For what nefarious purpose, only Alex Jones would know (I swear, if you look real close in one of the pics, you can see a tiny black helicopter in the reflection of the DMM).
Can we call it "minix"?
Do you even lift?
These aren't the 'roids you're looking for.
also at that site is the price list. At $642 for each of those Pentium II boards (not including RAM), I think I'll stick with buying "jumbo-mini" Beowulf nodes for the time being.
Here's a similar project I did a couple years ago in case anyone's interested. It's a do-it-yourself backplane for those highly integrated full-length single board computers. I was able to make a pretty cost-effective high density cluser using a single case with nine PCs inside - eight single cpu celerons and a dual PII. There was even some room left over for laptop hard drives between the cards. Total rack space: 6U. You could also fit this in a deep 4U chassis.
This strikes me as a good idea for datacenters who wish to offer dedicated systems to their customers. Normally, this is kind of expensive with rackmounts costing at least $1200 for bottom of the line. However, imagine a lot of these little modules.
You could hook them all up to the network, and boot off of some network attached storage, where the customer OS would be located. This way, if a server would fail, all you would have to do is replace the module and voila, the system is up again.
Nevermind the speed issue -- I think there are some PIII PC104 modules that go into the GHz range. But it would be really cool, considering these things are a lot smaller than standard 19" racks. You could triple the storage space of a datacenter by using these things.
Nevermind the heat issues, but it does seem like a cool idea.
"I'll just chip in a bit for RedHat: I actually have that installed on my university machine." - Linus, '95
You probably wouldn't want to run any kind of Windows on a PC/104 system anyway. Consider that the P2/266 processors used in this are pretty damn meaty by embedded standards, and the graphics cards tend to be el-cheapo generic SVGA chipsets...
Most of them will be running some custom software, possibly written on a Unix-style kernel. Often as not, it's something like QNX.
Redhat 7 is right out. Far too big.
you can make the same thing with old- P-II desktops for 1/8th the price of that thing. PC104 cpu board, espically anything above a Pentium level are horribly overpriced. (and rightfully so, as 1/50th of them get sold. compared to regular motherboards
for less money you can make a 4 node P-III 866 cluster in rackmount cases with SCSI Ultra160 drives including the rack with nice smoked glass doors, the rackmount KVM and a rackmount 10/100 switch.... It still doesn't eliminate the "neat-o" factor of the PC-104 design though.
Do not look at laser with remaining good eye.
Not so... WinCE is a perfect candidate for embedded systems. But that's not even the point. Embedded systems are used as device controllers and data collection. There is typically no GUI. And the GUI's that are written are a single app. But when you want a gui app for your computer controlled lathe, why not use WinCE's toolkits and apis?
Redhat 7 is right out. Far too big.
Far too big for what? To fit in ram? Redhat 7.x, Mandrake 8.x, etal... are just Linux. The way I see it, what you get when you go with a RedHat or a Mandrake is a set of matched packages. Everything is compiled, ready to go, using the same optimizations, and dependancies are checked for you. So, why not use RedHat as a base system? You pick and choose what you want to install on your hard drive when designing the system and then when you're done writing your app you pick the components that are required to run it and copy those onto the DiskOnChip that you plug into the finished system. Of course a complete install of RedHat 7.3 is not going to fit on a 128 MB chip - that's not the intended market. You can, however, easilly fit the kernel, utilities, system libs, and gtk+ for linux-fb on a 32 MB chip and have lots of room to spare for your embedded system app.
The problem with WinCE is that if you want to develop for it, you need to jump through all sorts of licencing hoops. QNX isn't quite as bad - at least you can download QNX for non-commercial use to see if you can use the damn thing. Also, QNX uses pretty much a standard Unix API (it's fairly POSIX-y) so it's easier to get your head round if you're used to that environment. If you're used to the Windows API, CE is probably the way to go.
In a project I was involved with recently, non-free software was specifically excluded simply because there would be problems with independent review. With a non-free environment, there's all these NDA's and stuff, whereas if it's GPL'd that doesn't matter. Now, for those "GPL is IP theft" types in management, it was easy to show them that an embedded control system that was completely open could be played about with by other people, but was no damn use without the heinously expensive machinery it controlled.
RedHat is OK for embedded stuff, but Mandrake *requires* a Pentium or better. If you use a 386EX board or some such, you're screwed. In any case, since space is at a premium, starting with one of the "mini" distros is often a good idea (busybox instead of bash and gnu-utils, for example). The environment is often highly unusual, and may need funny drivers in the kernel and stuff, so you're almost as well rolling your own.
But this kind of stuff doesn't seem to make a lot of sense.
To my left as I type is a 4xPII200Mhz AMD Goliath. I did our network admin a favor and took it out of the server room for him. I'm using it as a toy machine to run apps on. It's huge, and compared to my PIII 700Mhz w/ 500Mb of ram laptop: it's just plain slow.
My point is: I'll bet 10-1 I can write a multi-threaded app in JAVA for this beast that could spank the crap out of a distributed app written in c for that cluster. The one exeception would be ultra-low bandwidth apps like Distributed.net. Anything which required more than 1 cross-cpu transaction per second would be dreadfully slow compared to an SMP PC. But I understand the need for clustered computing and it is really cool, so I'll leave this point alone and point out the other obvious thing...
I can see the need to build a cluster if you are doing research/development into clustered computing. But for the cost of this, you could cluster two of those Wal-mart OSless PCs. They would probably be a hell of a lot faster, take up only a couple square feet more room, be much less of a headache to get running, contain a whole lot more memory and disk space, etc...
This is ultra-geekdom coolness but it just doesn't make sense, IMO.
My $0.02 will always be worth more than your â0.02, so