Have you ever been browsing your Facebook late at night, sifting through all those baby pictures, wondering why you’re still friends with that kind of racist guy you met at your cousin’s wedding? I think we all have been there one lonely night.
But have you ever been so lonely while browsing Facebook, looking at all those virtual friends who were too busy to hang out with you but are posting pictures from that really cool place you’ve been wanting to go to, that you wondered “what’s Facebook’s carbon footprint? What are they doing to help the environment? It’s 2 a.m. should I get some chocolate milk?”
Well, over a 2 a.m. glass of chocolate milk, Facebook is, in fact, looking to reduce their carbon footprint, cut power costs, and sell your information to advertisers (well, that’s nothing new, really. I need another glass).
Anyways at the ol’ (insanely large) Facebook data center, Facebook is using something called Autoscale which offers them somewhere around a 15 percent increase in power savings by running and loading less servers over more work.
Huh? More work? Calm down, let me explain—I knew sugar at this hour was a bad idea for you.
Let’s start with explaining load balancing. It’s pretty simple, really. I mean, the name pretty much explains it. Load balancing programs delegate workloads across multiple computer platforms which helps prevent overloading on servers. But that’s just the Reader’s Digest version, if you want to learn more about how load balancing works, read this.
I’m sure Facebook is searching for the holy grail of data center efficiency: less cost, more output—and with Autoscale they have just wiggled their way onto another pioneering expedition.
They knew load balancing was key to reducing data center costs, but no one wanted the answer more than Facebook infrastructure software engineer Qiang Wu, who worked closely with Autoscale and made public his team’s findings.
Now, this wouldn’t be very newsworthy if there wasn’t a little bit of innovation involved, right? Yes, Wu examined the current “red robin” approach to load balancing and realized that it just wasn’t enough.
Here’s how severs draw power under the red-robin approach:
Wu realized that this system didn’t take into account Facebook’s off-peak hours when less people (the ones with actual lives) were browsing their pages. He then thought, why not just run a server at 150 watts and idle the unused servers rather than filling every server at a reduced CPU level? Like everything, however, it was easier said than done.
Autoscale has three parts: a custom load balancer, Autoscale controller, and the physical pool of servers.
Autoscale’s job is to adjust the size of the server pool to current conditions (peak vs. off-peak) and ensuring then that each active server is loaded to the medium CPU level, or 150 watts.
To go deeper Wu explains that Autoscale is not as simple as it seems. The hard part is getting it to know when to do what it’s supposed to do.
We want to make an optimal decision that will adapt to the varying workload, including workload surges or drops due to unexpected events. On one hand, we want to maximize the energy-saving opportunity. On the other, we don’t want to over-concentrate the traffic in a way that could affect site performance.
Wu said that around midnight, Autoscale increased Facebook’s power savings by 27 percent, where the average on other systems is anywhere from 10 to 15 percent.
Remember, too, that Facebook is an enormous entity with millions, if not billions, of requests per day. So that 27 percent savings at off-peak hours is quite significant.
I’d say that Autoscale has done its job quite well.
For more information contact