[geeks] Fwd: [IP] Interesting speculation on the tech behind gmail

Brian Dunbar brian.dunbar at plexus.com
Tue Apr 6 23:07:34 CDT 2004


This seemed 'Geeks List' worthy.

Begin forwarded message:

> From: Dave Farber <dave at farber.net>
> Date: April 6, 2004 3:31:35 AM CDT
> To: ip at v2.listbox.com
> Subject: [IP] Interesting speculation on the tech behind gmail
> Reply-To: dave at farber.net
>
>
> Delivered-To: dfarber+ at ux13.sp.cs.cmu.edu
> Date: Tue, 06 Apr 2004 13:56:09 +0530
> From: Suresh Ramasubramanian <suresh at hserus.net>
> Subject: Interesting speculation on the tech behind gmail
> To: Dave Farber <dave at farber.net>
>
> http://blog.topix.net/archives/000016.html
>
> April 04, 2004
> The Secret Source of Google's Power
> Much is being written about Gmail, Google's new free webmail system. 
> There's something deeper to learn about Google from this product than 
> the initial reaction to the product features, however. Ignore for a 
> moment the observations about Google leapfrogging their competitors 
> with more user value and a new feature or two. Or Google diversifying 
> away from search into other applications; they've been doing that for 
> a while. Or the privacy red herring.
>
> No, the story is about seemingly incremental features that are 
> actually massively expensive for others to match, and the platform 
> that Google is building which makes it cheaper and easier for them to 
> develop and run web-scale applications than anyone else.
>
> I've written before about Google's snippet service, which required 
> that they store the entire web in RAM. All so they could generate a 
> slightly better page excerpt than other search engines.
>
> Google has taken the last 10 years of systems software research out of 
> university labs, and built their own proprietary, production quality 
> system. What is this platform that Google is building? It's a 
> distributed computing platform that can manage web-scale datasets on 
> 100,000 node server clusters. It includes a petabyte, distributed, 
> fault tolerant filesystem, distributed RPC code, probably network 
> shared memory and process migration. And a datacenter management 
> system which lets a handful of ops engineers effectively run 100,000 
> servers. Any of these projects could be the sole focus of a startup.
>
> Speculation: Gmail's Architecture and Economics
>
> Let's make some guesses about how one might build a Gmail.
>
> Hotmail has 60 million users. Gmail's design should be comparable, and 
> should scale to 100 million users. It will only have to support a 
> couple of million in the first year though.
>
> The most obvious challenge is the storage. You can't lose people's 
> email, and you don't want to ever be down, so data has to be 
> replicated. RAID is no good; when a disk fails, a human needs to 
> replace the bad disk, or there is risk of data loss if more disks 
> fail. One imagines the old ENIAC technician running up and down the 
> isles of Google's data center with a shopping cart full of spare disk 
> drives instead of vacuum tubes. RAID also requires more expensive 
> hardware -- at least the hot swap drive trays. And RAID doesn't handle 
> high availability at the server level anyway.
>
> No. Google has 100,000 servers. [nytimes] If a server/disk dies, they 
> leave it dead in the rack, to be reclaimed/replaced later. Hardware 
> failures need to be instantly routed around by software.
>
> Google has built their own distributed, fault-tolerant, petabyte 
> filesystem, the Google Filesystem. This is ideal for the job. Say GFS 
> replicates user email in three places; if a disk or a server dies, GFS 
> can automatically make a new copy from one of the remaining two. 
> Compress the email for a 3:1 storage win, then store user's email in 
> three locations, and their raw storage need is approximately 
> equivalent to the user's mail size.
>
> The Gmail servers wouldn't be top-heavy with lots of disk. They need 
> the CPU for indexing and page view serving anyway. No fancy RAID card 
> or hot-swap trays, just 1-2 disks per 1U server.
>
> It's straightforward to spreadsheet out the economics of the service, 
> taking into account average storage per user, cost of the servers, and 
> monetization per user per year. Google apparently puts the operational 
> cost of storage at $2 per gigabyte. My napkin math comes up with 
> numbers in the same ballpark. I would assume the yearly monetized 
> value of a webmail user to be in the $1-10 range.
>
> Cheap Hardware
>
> Here's an anecdote to illustrate how far Google's cultural approach to 
> hardware cost is different from the norm, and what it means as a 
> component of their competitive advantage.
>
> In a previous job I specified 40 moderately-priced servers to run a 
> new internet search site we were developing. The ops team overrode me; 
> they wanted 6 more expensive servers, since they said it would be 
> easier to manage 6 machines than 40.
>
> What this does is raise the cost of a CPU second. We had engineers 
> that could imagine algorithms that would give marginally better search 
> results, but if the algorithm was 10 times slower than the current 
> code, ops would have to add 10X the number of machines to the 
> datacenter. If you've already got $20 million invested in a modest 
> collection of Suns, going 10X to run some fancier code is not an 
> option.
>
> Google has 100,000 servers.
>
> Any sane ops person would rather go with a fancy $5000 server than a 
> bare $500 motherboard plus disks sitting exposed on a tray. But that's 
> a 10X difference to the cost of a CPU cycle. And this frees up the 
> algorithm designers to invent better stuff.
>
> Without cheap CPU cycles, the coders won't even consider algorithms 
> that the Google guys are deploying. They're just too expensive to run.
>
> Google doesn't deploy bare motherboards on exposed trays anymore; 
> they're on at least the fourth iteration of their cheap hardware 
> platform. Google now has an institutional competence building and 
> maintaining servers that cost a lot less than the servers everyone 
> else is using. And they do it with fewer people.
>
> Think of the little internal factory they must have to deploy servers, 
> and the level of automation needed to run that many boxes. Either 
> network boot or a production line to pre-install disk images. Servers 
> that self-configure on boot to determine their network config and load 
> the latest rev of the software they'll be running. Normal datacenter 
> ops practices don't scale to what Google has.
> What are all those OS Researchers doing at Google?
>
> Rob Pike has gone to Google. Yes, that Rob Pike -- the OS researcher, 
> the member of the original Unix team from Bell Labs. This guy isn't 
> just some labs hood ornament; he writes code, lots of it. Big chunks 
> of whole new operating systems like Plan 9.
>
> Look at the depth of the research background of the Google employees 
> in OS, networking, and distributed systems. Compiler Optimization. 
> Thread migration. Distributed shared memory.
>
> I'm a sucker for cool OS research. Browsing papers from Google 
> employees about distributed systems, thread migration, network shared 
> memory, GFS, makes me feel like a kid in Tomorrowland wondering when 
> we're going to Mars. Wouldn't it be great, as an engineer, to have 
> production versions of all this great research.
>
> Google engineers do!
>
> Competitive Advantage
>
> Google is a company that has built a single very large, custom 
> computer. It's running their own cluster operating system. They make 
> their big computer even bigger and faster each month, while lowering 
> the cost of CPU cycles. It's looking more like a general purpose 
> platform than a cluster optimized for a single application.
>
> While competitors are targeting the individual applications Google has 
> deployed, Google is building a massive, general purpose computing 
> platform for web-scale programming.
>
> This computer is running the world's top search engine, a social 
> networking service, a shopping price comparison engine, a new email 
> service, and a local search/yellow pages engine. What will they do 
> next with the world's biggest computer and most advanced operating 
> system?
>
> Posted by skrenta at April 4, 2004 02:11 PM | TrackBack



More information about the geeks mailing list