This is what 864GB of RAM looks like now
37signals.com
37signals.com
They have lots of cores and are very NUMA.
NUMA is 90's tech from Sequent.
From: http://www.theregister.co.uk/2010/04/21/redhat_rhel6_beta_1/
The big HP NUMA boxes are Superdome and Superdome 2, and those have global memory access, though access to the local memory is faster than the remote memory; the requisite non-uniform memory access speeds.
Last I checked, the current Superdome and Superdome 2 series maxed out around two and four terabytes of physical memory.
If the current four terabyte maximum memory configurations and possibly the architectural 50-bit addressing aren't enough and you're willing and able to buy that much physical memory, then HP would probably interested in chatting with you.
No RHEL on Itanium, though.
RHEL 6 = Red Hat Enterprise Linux NUMA = Non-Uniform Memory Access
I would have thought TB and RAM were easier than RHEL and NUMA.
This sounds more like Reddit's problem where some architectural simplifications might net a giant win versus piling yet more gunk on top (Reddit is still perceptibly doing random IO for every comment in a thread during page load, or perhaps some insanely slow sorting, I have NFC how they haven't fixed this yet).
They ended up splitting the memory between a few machines as it became obvious that the applications being used (Adobe CS stuff) wasn't going to use all that RAM in their use case, and other machines needed it more.
The details will be interesting, but that description sounds like a headache waiting to happen.
The CPU is organized that way and it works very well and that caching scheme is implemented directly on the metal. Any decent software engineer should be able to design a working implementation with an architecture that is clean.
That's more RAM than our entire system had.
You've got $12K? Good for you. Here's a cookie.
You've scaled out a system onto 64 nodes? That's something worth discussing on HN.
Who are these people who need to be grounded all the time else they build up to component destroying levels of static?
ICs are more robust when they're built into a circuit, but it's still a good idea to use sensible ESD protection when handing electronics, especially if you're paying lots on production systems.
Maybe I'm just incredibly lucky. Then again, I've watched Dell and IBM service techs take apart laptops we had on-site support for without ESD protection, so maybe everyone else is simply paranoid.
This is the correct answer. Either that or every single Apple, Dell or UofT tech ever needs to be fired because I've had frequent repair experience with all of them and not once have they ever worn a wrist strap or mat. In fact, most techs mock the idea in my experience.
I would consider it if I was handling literally hundreds of modules like this, but for regular old desktop PC support it's complete overkill. The time it takes you setup an anti-static mat and wrist strap every time you need to swap something out costs you WAY more overall than the occasional lost module, which rarely if ever happens. If you're really so concerned, set aside $100 to cover any potential dead module. $20 says you'll never use it and you'll make more money because you saved time.
Inexplicable component failures; random errors weeks or even months down the road. These are all caused by ESD. Just because you want to ignore the laws of physics doesn't mean they don't apply to you.
Right, and they still don't use it and mock it as they are being trained.
> It takes only 30 seconds to put one on.
To dig out the mat and wrist strap, fold it out, put the machine on the thing and clip it properly takes longer than 30 seconds, even if you have it around already. On top of that, you have to do it every time you want in and out of the case, on every call or event, every time. That adds up quickly.
> Just because the field engineers are lazy and are ignoring their training doesn't make the risk of ESD any lower than it is.
If ALL field techs without exception don't use it and mock it because in practice the risk is so ridiculously remote that it's not worth dealing with, then yes, it does make it lower than people like you make it out to be. I'm actually going to trust the guy who does it multiple times a day every day for years and years over the guy who insists the risk is greater than has ever been proven.
Either way, why should you care? I'm the one who will supposedly be paying for all these random dead components. I mean it hasn't happened once in years of being a field tech and never once using a strap and neither has it happened to anyone I know and the people I know are mostly techs and never use straps, but who knows what the future will bring?
> Inexplicable component failures; random errors weeks or even months down the road. These are all caused by ESD.
How convenient. We get to blame all potential future failures on ESD too. Nothing is a bad part or wear over time. It was all caused by you touching it without wearing the magic strap.
> Just because you want to ignore the laws of physics doesn't mean they don't apply to you.
Or Apple, Dell or UofT either. I'm just going to have to assume there is a magical anti-static field over Canada then.
The reason why the Dell techs are not using wrist straps is because they are lazy, and they know that even if ESD causes a component failure, some other poor tech will get the follow up service call and just come replace another part, or replace the same part again.
Have you ever wondered why a lot of replacement parts, after being installed without ESD protection, somehow are DOA (dead on arrival)? The factory that manufactures them surely tests them before shipping.
Are you seriously arguing that static charges of several thousand volts can't damage integrated circuits?
I suppose if you're in Arizona, static build up is a much bigger problem.
My first computer, an IBM 7094, had 32k of 36 bit words, about 200K characters. The memory cost about $1M and was the size of a refrigerator.
16GB DDR3 is "only" $100, that would make non-ECC $5400
ah okay, ECC is $175, so 175 * 3 * 18 = $9450
Get serious, all of you.
That said: most read heavy services only need at most 10% of their working set cached, in memory. The hardest problem in caching is figuring out what that set is and how to control consistency. Not how to store it.
So, having this much cache seems to imply that you think you're going to have large amounts of read intensive data to cache.
Or else you intend to cache your entire working set? Either way, you'll have a single point of failure (either in a single server, single datacenter, or single geographic area).
Any large operation can tell you that the problem becomes 90% network and stuff like a CDN become far more important than how fast and big your cache is.
Perhaps a nice technical writeup on your architecture would silence the pundit inside me?
Virtual memory (I assume you actually mean 'does memcached not page data out to disk') would make it much slower. Since memcached is just that - a memory cache - if you're out of memory it just expires the least-recently-used data. In your application, you fetch the key, and if that fails you fetch it from the primary data store (or wherever else you can find it).
You could write a more complex cacheing layer on top of memcached that looked first in memcached, then fetched from solid state storage if it wasn't there. That's kind of what we will be using it for by wrapping Rails around it.
I wonder how that would compare to just setting up an SSD as swap space.
http://duartes.org/gustavo/blog/post/what-your-computer-does... http://h18000.www1.hp.com/products/quickspecs/13379_na/13379...
Is there any point to not bruteforcing it? While you twiddle bits, I can throw money on hardware and get my product out on the market. Then, when times are more stable, I can worry about optimizations.
Also, since I haven't done any twiddling yet, there is likely to be a lot of low hanging fruit. I was going to need that hardware anyway if I was to grow. Now I can have a period of time where my savings allow me to slow down on buying more hardware.
Up to a certain scale what you say is true - but it's not interesting at all. As in, anyone can drive 26 miles but running a Marathon is still impressive. Or anyone can order dinner in a restaurant, but not everyone can cook.
And unless I'm a professional chef, I'd rather not spend time on cooking dinners when I could do something to improve my business.
The point of building something (in a commercial environment) is not to impress, but to ship something.
It's just plain cool for someone that's interested in computer technology. I like to see this type of picture for all of my interests: people's amazing home theaters, people's really nice guitars, etc. Sure, it's just money that pays for this stuff, so it's not necessarily impressive in an intellectual sense. It's just cool.
> Anyone can brute-force it.
Not exactly. It's tough to increase server hardware any faster than polynomially over time, but most networks tend to go through exponential phases of growth when they scale. Also, diminishing returns and bottlenecking can often kill attempts to scale a network by just throwing more of the same hardware at the problem.
http://www.s100computers.com/Hardware%20Folder/CompuPro/RAM%...
At this point, apparently, 864 GB is just a really big server, but not nearly the biggest. If the RAM is only $12,000, then that is way less than most of the employee's cars at Basecamp cost. The cars are just to drive individual employees to and from work etc.
This server is going to handle how many thousands (millions?) of people's business? People will spend $50k on one car. The server probably costs less than that.
Anyway, 864GB of RAM is impressive to look at because most people have never seen that amount of RAM all at once before.
So I would say that knowing how to build and take advantage of surprisingly large amounts of RAM _is_ an impressive and useful skill these days. Probably more useful than one's skill in using very small amounts of RAM.
I was sitting at another workstation and I could hear this ticking from the other room. I got up, walked over, and got to see this machine ticking away for over minute while it booted up. 32MB of RAM ... amazing.
In business, nobody, cares what you can do with "how little [computing] resources". Running a web services is not a circus act.
What matters is how effectively you do what you do, and that is not just a parameter of "using little computing resources". Efficiency includes saving time of your team, saving engineering pay, not evolving your system into a messy architecture, and having peace of mind. When a bucketload of RAM costs 1/5th of a developer's yearly salary, use RAM and not 2-3 developers for a year.
For that same reason, the fact that "anyone can brute-force it" doesn't mean a thing. It's like saying "anyone can save money". Actually it reminds me of this classic quote:
Gonzo: Well, I want to go to Bombay, India and become a movie star.
Fozzie: You don't go to Bombay to become a movie star! You go where we're going: Hollywood.
Gonzo: Sure, if you want to do it the easy way.
~ 13 servers with 4 sticks (64GB) each?
The scale of a memcached cluster doesn't really say anything about the scaling abilities of their underlying stack.
That said I was referring more to their one giant database and self described "russian-doll architecture of nested caching".
Whether it be Rails for BaseCamp or PHP/Facebook stack for Facebook it really says nothing about the database and caching behind it.
A web front may be really great at scaling but it's all up to the database.
A.k.a object orientation? (Maybe an explanation is due here, or do other HNers grok and agree?)
This is a picture of more than a ton of dried marijuana: http://calpotnews.com/wp-content/uploads/2010/09/090410-Corn...
A large amount of one thing in the same place makes for a pretty cool picture. Don't take it so serious.
Now, with that said: 864GB? Pssh. Let's see some terabytes.