Ask Bjorn Hansen: how to do your server arch... if you're 15

scrottie on 2007-03-22T21:44:54

Normally I don't like to flame, especially people I like, but I make exception for the point of emphathesis (yes, I am the problem with the Internet).

In response to http://develooper.com/talks/Real-World-Scalability-LA-PM-2007-r9.pdf ...

Ask has absolutley no idea what "real world scability" is. Here we have another case of a kid born in the 80s who didn't bother to study history before declaring a one of doing things to be the way of doing things.

Kids these days... driving economy cars with 4 cylindar, 1.4L engines with nothing custom but a loud muffler that makes them sound fast, and they think they are fast. They clone some of the superficial elements of a sports car but completely miss the point. So it is with Linux.

We build these massive data centers, mostly by accident, and we think we're hot shit. We mount the things in racks, but that's the only thing we do right.

Let me let you in on a little secret: "scalable" in the context of computing hardware has traditionally meant something very different. See, you used to buy a bunch of compute nodes and some interconnect hardware and cables and wind up with one computer that had vast amounts of RAMs and thousands of CPUs. You can buy SGI, Sun, Cray (and recently, HP or Alpha) machines and get one computer (spread across physical chases) with thousands of processors, terabytes of RAM, and petabytes of storage.

My father would tear down an engine so that the pisons were laying on the ground, and he'd overbore the cylindars, shave the piston heads, put in high lifting cams, and put it a blower on the thing, maybe, and eek mid to high 300s of horsepower out of a stock big block V8s. My generation has some concept of horse power and weight, and we know how to read a power curve graph. But our kids just drive stupid in four bangers and crash a lot. Sure, there are a few kids who do understand -- my point is when you put a bit of knowledge into the collective, it eventually dies of bitrot -- apparently within two generations it's completely dead. And such has already happened with "scalability".

As you're sitting there re-inventing the wheels of caching, partitioning, replication, and creating "Service Oriented Architecture", remember that your god damn mother fucking fathers solved the problem in a much more general, far less stupid way years ago. And the only reason you're not using it is you think you're hot shit running Linux.

Myth: High end server machines are just overpriced computers with funny processor architectures.

Reality: High end server machines have huge amounts of L3 cache (IBM POWER machines have 36megs of L3) and insane amounts of I/O just for the purpose of clustering machines (so that you can get one huge machine with thousands of processors and terabytes of RAM) (the SGI Altrix, their low-end x86 machine, does 96 gigabytes/second of "interconnect" I/O).

The priceses of these machines are not unreasonable for what you do get; the only question is whether your particular application calls for this hardware or not.

It's crap like this that hurts open source... when they just don't "get it". Either it makes us look like asses to people who *know* high availability and clustering, or else we wind up an open source solution in production that performs badly.

Ask's article is just bad all over... it's like I hired my 15 year old neighbor to design enterprise crap. Of course, I can't single out Ask... the whole "new Internet economy" threw out past wisdom and started from scratch. Even Linux threw out a very thoughtful implementation and replaced it with something arbitrary and ad hoc. MySQL threw out referential integrity and thrashed about for years before rediscovering it. (Seriously though, OpenMOSIX for Linux *does* do clustering, but if you buy a Linux machine from SGI or Cray, you'll get something that does interconnect I/O *before* the PCI bus, not on it.)

Here, read a little bit...

http://www.sgi.com/products/servers/altix/4000/

-scott


contact info

awwaiid on 2007-03-23T04:58:41

Heya... slowass and weehours seem to be gone... how do I get ahold of you?

lies

link on 2007-03-23T09:45:31

Maybe the problem is that Sun told us we needed their expensive stuff but we realised we didn't as we could replace it with a linux box under somebodies desk. Then we assumed we didn't need their really really expensive stuff as we could replace it with 5 linux boxes in a server room. Anyhow, everybody knows for really important stuff you should used tandem or stratus.

It's not about a single car

brian_d_foy on 2007-03-23T16:12:36

No matter how well a single bus runs, you still need a lot of them to service a city. :)

Darn right!

jordan on 2007-03-23T18:25:52

Yeah, that Altavista sure showed that upstart Google how to do Scaleable Internet Applications[TM] right.

Altavista always rightly insisted on massive, high I/O throughput servers and avoided the trendy thousands-of-small-cheap-systems that Google tried to use.

Re:Darn right!

sigzero on 2007-03-24T16:49:36

I don't think you get the article. : )

Re:Darn right!

scrottie on 2007-03-29T07:28:52


Hey fartnocker.

I'm sorry, I'm fuzzy on your conclusion... mine was that we're re-inventing wheels, these problems have been solved in a more general way already, and high end server equipment does offer something (high speed interconnects) that's sometimes useful, and is not simply overpriced off-the-shelf hardware.

You seem to be arguing by changing the topic and then leaving me with only an implied conclusion. Do you disagree with my my premises? Any of the logical arguments I've constructed? The conclusions I've arrived at? Or is the fact that using HPC gear doesn't automatically ensure business success somehow germane? More likely, I'm guessing that coming out of left field usually leaves your openents reeling as they try to regain footing on the unexpectedly changed turf. If that's the case, piss off. Write an essay in your own blog about how (just guessing at your entirely alluded to conclusion) HPC is entirely useless because it's ineffective in assuring business success. The same argument could be used to topple some languages people keep using and otherwise do some pretty effective, on-par technical journalism.

Here are some tips for usefully and constructively discussing things:

http://use.perl.org/user/scrottie/journal/31900

You may also not be aware of the fact that I'm not a nice person. Bare that in mind as I comment that I hate writing these sort of "fuck off" posts, but I feel obligated to in order to fend off the mongolian hoardes of stupid that roam the Internet. I resent you for wasting my time trying to guess at the meaning of your irrelavent post, and I resent you for forcing a situation where I have to point out the utter stupidity of it for fear of your response seeming somehow valid or acceptable in form or ettiquite. While I sincerely hope I never encounter you again, my knowledge of your ilk warns me otherwise.

-scott

Re:Darn right!

jordan on 2007-04-02T02:04:18

I don't care if you're nice or not. I know your kind, too, people who can throw around enough insults and seem prickly enough that nobody will argue with them and so they "win".

You insult Ask unfairly and I make fun of you. Get used to it, it's the Internet.

Ask points out that scaleability today is about lots of cheap servers (what he calls Horizontal Scaling), Google is a great example of using this approach to build something on a scale that our "fucking fathers" couldn't dream of doing with all their beefy servers. That's my point.

Nobody said HPC was irrelevant. Weather, simulations, research all benefit from HPC, but when people want to be scaleable for web applications, which is what Ask's presentation clearly focused on, lots of cheap servers appears to be the way to go.

Re:Darn right!

Aristotle on 2007-04-02T14:21:28

This is “worse is better,” ain’t it?

(Which is a stupid saying; a properly qualified version would be “worse along some axis is better along some other, more important one” – but that’s not anywhere near as catchy. So I suppose worse is better even when it comes to the very saying itself…)

Re:Darn right!

jordan on 2007-04-02T16:30:37

I don't think it really is captured by "Worse is Better".

I think of "Worse is Better" as being an 80% solution that will be hugely popular and thus be better than a 100% solution that will not be adopted.

When Richard Gabriel formulated "Worse is Better" it was referrring to Unix/C when compared to Lisp-Machines. The Unix/C were worse in most ways, according to Gabriel, when compared to Lisp-Machines, but were better in that they were available, where Lisp Machines weren't.

Come to think of it, you might be right. Why were Unix/C available where Lisp Machines were not? Cost. Same here. Many big HPC machines would be prohibitively expensive when compared to even twice as many cheaper, more generic systems.

Scott has no idea what he's talking about ...

ask on 2008-04-20T10:17:26

Hi Scott,

I just came across this.

It must be hard for you to be so stuck in some previous universe where what you are talking about makes sense!

As Jordan said - web scalability is about horizontal scaling. The nature of web applications is so perfectly suited for it. If you do it any other way you are simply an idiot.

You are completely missing how these applications are scaled. It's not about reinventing the wheel - it's a new kind of wheel where you don't need "fast interconnects" (for example). Save that money and use them on CPU and memory! It's a new kind of wheel where you don't need to replace The Server with a new faster one everytime you run out of capacity.

Sure there are applications where writing your application to be scaled vertically is so much easier that it's worth the $4M computer. But those applications are getting rarer. As a hunt: Go to the list of super computers and how many of those systems are horizontal now (and they are all for research, weather simulations, etc - all the kind of things Jordan says you might still want One Big Expensive Box for!)

Anyway, now it's a year later - maybe you've come to your senses now, in which case

And don't worry about being a typical rude "internet person" trying to insult me. Either you are right in which case I'm happy to be educated or you are wrong and then you are really just making yourself look like a fool. :-)

If you want to give this new stuff that the rest of us has been doing for more than a decade a second try then there's a new version of my talk up at http://develooper.com/talks/ (and copied already on scribd etc I believe).

    - ask