Simplified Server Farm?

BCinSC

Platinum Member
Oct 11, 1999
2,084
0
0
As various hardware continues to shrink and be unified, I don't understand why some manufacturer hasn't streamlined even more. Blade servers are great, but with remote desktop, PXE, SANs, etc, why not redcue further? AMD has the right idea incorporating memory controller onto CPU. Simply add bootable GbE on-chip, negating need for local harddrive, then match with 1-2GB RAM sticks. Northbirdge, Southbridge, etc all goes away. With decent airflow, 8 CPUs would fit nicely on a blade. Ah Utopia.
 

Matthias99

Diamond Member
Oct 7, 2003
8,808
0
0
Ah, thin clients. It's been tried, and it's just not quite there yet. SUN Microsystems has been big on this idea for years, but still haven't made a lot of headway -- developing new hardware and software to do this is difficult and expensive, plus then you start getting bottlenecks in the network and at the server end as well. It doesn't scale as smoothly as you'd like it to as you add more and more clients, so then you end up with lots of servers, and it stops looking quite so good. If the price of desktop computer hardware stops being in free-fall at some point, I suspect this concept will be a lot more popular. But as long as you can build a decently-equipped desktop system for under $500 (and a well-equipped one for under $1000), there's no market for it.

Of course, on the other hand we're rapidly marching towards putting an entire computer system in one piece of silicon, and multi-core CPUs as well... So maybe they'll end up at the same place for entirely different reasons. :)
 

BCinSC

Platinum Member
Oct 11, 1999
2,084
0
0
Nah, I've done the thin-client gig. Hitched up with Citrix way back when (circa NT 3.1 Adv Svr). In my last job, we had a bunch of servers rigged together to process different aspects of the same data and then a bunch more to serve it up in XML. We had them all racked and KVMed, but it was a lot of wiring and a lot of space. Blade servers would have saved us a bunch of floor space, but my idea would save even more.
 

BCinSC

Platinum Member
Oct 11, 1999
2,084
0
0
Original thought was that CPUs could be configured as stand-alone, but board could be designed to allow Dual, Quad or even 8/16 way.


===RAM===.....===RAM===..........===RAM===.....===RAM===...........===RAM===.....===RAM===..........===RAM===.....===RAM===
|.....................|....|.....................|..........|.....................|....|.....................|..........|.....................|....|.....................|..........|.....................|....|.....................|
|.......mch......|....|.......mch......|..........|.......mch......|....|.......mch......|..........|.......mch......|....|.......mch......|..........|.......mch......|....|.......mch......|
|.....CPU1.....|....|.....CPU2.....|..........|.....CPU1.....|....|.....CPU2.....|..........|.....CPU1.....|....|.....CPU2.....|..........|.....CPU1.....|....|.....CPU2.....|
|.......pxe........|....|.......pxe.......|..........|........pxe.......|....|.......pxe........|..........|.......pxe.......|....|........pxe.......|..........|.......pxe........|....|.......pxe.......|
|_________|....|_________|..........|_________|....|_________|..........|_________|....|_________|..........|_________|....|_________|
...............................................................................................embedded GbE switch.......................................................................................
__________....__________.........__________....__________.........__________.....__________.........__________....._________
|.....................|....|.....................|..........|.....................|....|.....................|..........|.....................|....|.....................|..........|.....................|....|.....................|
|.......pxe........|....|.......pxe.......|..........|........pxe.......|....|.......pxe........|..........|.......pxe.......|....|........pxe.......|..........|.......pxe........|....|.......pxe.......|
|.....CPU3.....|....|.....CPU4.....|..........|.....CPU3.....|....|.....CPU4.....|..........|.....CPU3.....|....|.....CPU4.....|..........|.....CPU3.....|....|.....CPU4.....|
|.......mch......|....|.......mch......|..........|.......mch......|....|.......mch......|..........|.......mch......|....|.......mch......|..........|.......mch......|....|.......mch......|
|_________|....|_________|..........|_________|....|_________|..........|_________|....|_________|..........|_________|....|_________|
===RAM===.....===RAM===..........===RAM===.....===RAM===...........===RAM===.....===RAM===..........===RAM===.....===RAM===
 

buleyb

Golden Member
Aug 12, 2002
1,301
0
0
"Good cooling" gets rough when you have enough heat, as heatsinks take space, and making things integrated can kill your yields, making the whole project expensive.

Anyways, once you try to tie in a lot of computing power into on box, you end up changing your market to those that pay better for power/sq-foot.
 

BCinSC

Platinum Member
Oct 11, 1999
2,084
0
0
Am I gonna have to crack out my soldering gun and make this thing myself? :D
 

buleyb

Golden Member
Aug 12, 2002
1,301
0
0
Nothing personal, but I'd like to see you try. Dense systems have a lot of problems to overcome before they are successful. I can point you to some companies that do dense systems for heavy data/speed applications if you want, but they are so out of your pricerange...
 

drag

Elite Member
Jul 4, 2002
8,708
0
0
Thin clients are easy to make(well almost thin clients)

Use linux and X windows.

X windows is a NOT a GUI, it's a network protocol. Any application that runs on X windows can run over a network easily (as long as they aren't something needing 3-d hardware acceleration like quake)

The easiest way is to get the cheapest possible computers. You can put together good clients using 400 dollar PC's with cheapest harddrives possible that would be great. Make them all identical hardware so that you can make administration easiest. If you don't you will have to use something like Kudzu to automaticly configure the hardware at the first bootup, pretty easy.

So for the clients you set up one client, install a very basic X windows setup. (In X windows terminology they are "servers", the main machine that lends it's CPU time to run the apps is a "client", X is kinda old and predates the concepts of internet servers and clients)

You set up xdm (x graphical login manager) to allow people to easily log in to the remote X client (remember the server is the one were people are using, the X client is the thing were the apps run)

Then once you get one machine set up, you use "dd" command to make a image of the harddrive and transfer the image to the other terminal machines and then use the dd command to put image on a new harddrive. Or you can use ghost, which does the same thing, but is $$.

Now that's not technically "thin clients" but that is infinately simplier.

For the Terminal server (or X client) use a nice expensive SMP machine. Put 2 nics in it. One nic goes to the outside world thru a router/firewall, and has no X stuff running on it. The other nic (or several if you have a big farm of clients) is going to the lan full of X clients. Make it a gigabyte nic card, hook it up to a nice switch. Use 100MB/s network in full duplex mode for all the clients to save money.

Now this setup has several advantages.

1. Easy administration. Basicly disposable PC's. You have a image for the harddrive a new PC can be added in minutes, if you use apps like kudzu and extremely modulized kernel, then even computers with different hardware then the original machine can be set up in minutes. (as long as you pick machines with good driver support, such as motherboards with VIa or Intel chipsets).

2. Easy administration, part2. No need for a network-based domain. Since all logins are handled via XDM on the main server, then administration isn't any more complicated then a single PC with a bunch of users on it. Very secure, too, only one machine has access to any other network.

3. Wide base of Linux applications. No need to develop special Thin client apps, everything that runs on X will pretty much run over the network completely transparently. Only apps that require hardware acceleration will be affected. You have things like crossover plugins, which are propriatary apps based on Wine that run all your favorite windows apps on X. (Like IE or Outlook.)

4. Cheap and well tested.

5. The lifetime of the client machines is VERY long. Probably be usefull 5-6 years from now, no problem.

6. Infinately scalable main machine. Using linux you have choice of hardware from Cheapy Athlon XP/MP machines, MAC G5s, Cluster of machines, All the way up to pSeries 32-way Power4+ 1.7ghz Linux servers. Even zSeries mainframes if you want to spend the BIG BUCKS.



If you want to get fancy like me, I am setting up a system were I have a central X client, but am using OpenMosix. That way I can set it up in a cluster enviroment were active proccessing threads from the main machine will be migrated to machines that have lower loads on them. For instance if I have 8 users using Mozilla on the main X client, the various Mozilla apps will migrate their proccesses to idle machines thus effectively making my entire network of x86 machines one gigantic SMP machine.

No one app will run faster then the single fastest proccessor, but if I have a hundred apps running on a network of a hundred machines the load will evenly distribute out to all of them irregardless of were the app originated.

The great thing is that I can use dissimilar hardware, (as long as they are similar family off proccessors, such as the i686-based machines) The cluster will load balance based on what resources are aviable to each machine.

But that is mostly gimmicky nowadays. As network-wide filing systems develope, desktop-based clusters like that will become more and more practicle.(BTW this is NOT a Beowolf cluster, Beowolf is for massive parrellel proccessing and requires specially developed programs, Openmosix is for migrating threads and can use any normal unmodified app.)


However if you want TRUE thin client machines with no drives what-so-ever and want to boot them off of the network you should check out something like Linux terminal project


Thin clients are proven technology, especially were Unix and X terminals are involved, since this unix stuff was originally designed to run in a mainframe/terminal enviroment. Unix itself is very flexible and adaptable, this is why it's the only OS to survive this long in various roles (mainframe, internet server, database server, desktops, etc etc)


What is wrong with thin clients isn't the cost of applications. (traditional Unix stuff is very expensive, but that's why linux is getting so popular), but it's that most people don't considure them or understand them, and PC hardware is stupid cheap.(in the good way)

If you are going to use PC-based hardware, why not make a PC desktop? Because sometimes it's easier and cheaper to use something with a centralized control. No need for super-complex windows AD-style domains and the administrative overhead, costs and unreliablities of PC-based networks and hardware.(realy LDAP-based domains, Novell is better anyways at doing stuff like that. Linux can do LDAP domains, too, if that's what you want.) Of course sometimes it's cheaper to run desktops, and is after all what everybody is familar with.
 

drag

Elite Member
Jul 4, 2002
8,708
0
0
Or to simplify:

----------------------------------------------------------switch----------------------------------------------
|..................|..................|..................|..................|..................|..................|
|..................|..................|..................|..................|..................|..................|
X server.......X server......X server........X server.....X server.......X server........|
..................................................................................................................|
......................................................................................................X client running XDM
..................................................................................................................|
..............................................................................................................router
..................................................................................................................|
............................................................................................................outside world

If you want to share the cpu power of all your machines in a big cluster, use Openmosix Linux kernel and supporting apps.

Not exactly what you wanted but along the same lines.

If you want the actual big server farm, Linux has been there done that.

The most impressive is the IBM 1350 clusters. IBM isn't the only ones doing it, plenty of people are making linux-based blade server, even using commodity-based PC hardware.

The blade servers themselves usually have a central controlling computer. Each node is SMP x86 proccessor with there own memory. The connect thru a backplane or a Ethernet or Myranet connection. Each node is hotswappable, just like the SCSI harddrives from raid 5 servers. If one node fails then you just yank it out and stick in a new one.

My linuxworld magazine has ads for at least a dozen companies making blade servers.

Here is a example of ones aviable from IBM

Also be sure to check out the video aviable.
here is the link to the realplayer version, but they have quicktime and windows media versions aviable, too. http://www.ibm.com//servers/eserver/bladecenter/popup_real_lg.rpm

 

BCinSC

Platinum Member
Oct 11, 1999
2,084
0
0
Saw an interesting commercial yesterday, about what I don't know, but had cool exploding-view animation of 8 CPU system that ironically looked like what I drew.

Thing about my design is that each is an independant "machine" on a chip.
 

martind1

Senior member
Jul 3, 2003
777
0
0
Originally posted by: BCinSC
Am I gonna have to crack out my soldering gun and make this thing myself? :D

maybe you should try to do it. pmaybe you will make some money.