Round Robin Scheduling Not Power-Efficient 141
Via_Patrino writes "While having to distribute load between several servers, round robin, or any other technique that balances load equally, is the most common approach because of its simplicity. But a recent study shows that trying to accumulate load on some servers can improve energy efficiency because the other servers will be mostly unused during off-peak periods and then able to make better use of power saving methods. Specially, where load involves lots of concurrent power-consuming TCP connections, which was the case in the study, a new load-balancing algorithm resulted in an overall 30% power savings. Here's the paper (PDF)."
Logical conclusion (Score:5, Insightful)
Re:Logical conclusion (Score:5, Insightful)
Of course, if you use Amazon EC2, this is all moot, as they can shift load around to have their cluster run at peak efficiency.
Re: (Score:2)
Re: (Score:2, Insightful)
Re:Logical conclusion (Score:4, Funny)
Re:Logical conclusion (Score:4)
Get over yourself. Use the right tool for the job.
Re: (Score:2)
Re: (Score:2)
As always with Slashdot, a car example: I can't tow anything with my Corvette, nor is it that fuel efficient, but it still works.
Re: (Score:2)
They talk about 30% savings in these applications, but also give 59bn kWh as the figure for total power usage for all data centers, the majority of which probably wouldn't benefit from tweaks suited to persistent connections.
Re: (Score:2)
What this means is someone needs to architect an intelligent loading system. Ideally, it would manage the load on your base load servers (that are on all the time), and when those servers reach 85-95% of capacity (numbers from my ass) other servers should be brought out of low power/sleep mode to start serving.
Of course, if you use Amazon EC2, this is all moot, as they can shift load around to have their cluster run at peak efficiency.
The most insightful part of your post was "(numbers from my ass)"...
No... just kidding... really... actually, seeing that in the middle of an intelligent post gave me my laugh today! Thanks!!!
So... on to a serious reply, I think certain BladeCenter configurations were designed to do this. I also find that on various single box SMP solutions from IBM, a noticeable amount of power is saved when the server is not under load. My power usage will vary as much as 150 watts on my Netfinity M10 7000 (4Way SMP
Re: (Score:2)
Re: (Score:2, Informative)
Re: (Score:2, Informative)
Re: (Score:1, Insightful)
You have a load that varies, the peak load requires 10 servers to keep performance acceptable (where the definition of acceptable can vary according to redundancy requirements, etc). But the usual load is 20% of the peak.
With round robin each server would be running at 20% load in the usual case. From a power perspective it might be better to have 2 servers running at 100% and 8 servers idle, or 4 servers at 50% an
Re:Logical conclusion (Score:5, Interesting)
I'm waiting for the first company to put a data center a few hundred feet under water, where the water temp is low. You'd be surrounded by the worlds biggest heat sink. The environmentalists would have a hissy fit but that's never stopped industry before, and of course you could argue that you are saving electricty on cooling.
Re: (Score:1)
Regular data center - tech drives to work, replaces hard drive.
Underwater data center - tech drives to end of the pier where he gets into his 1-man submarine and dives to -100ft.
Now I ask you this: Does State Farm have submarine insurance?
Re: (Score:2)
Screw you, environmentalists!
Re: (Score:2)
Your comment assumes that losing power to the facility is a catastrophe. I say it's not, if it's unmanned.
Yeah, your cooling setup is unpowered, but so are your heat sources.
I bet you could put a set of stilts into the ground, and build a computing environment wrapped around the stilts. Lower the equipment into the water when it's running, and ra
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
2: Use some of the electricity to power your data center, and the rest to power other thermodynamically impossible projects.
3: Profit!! (no hidden step needed here, just an impossible one)
Re: (Score:2)
Re: (Score:2)
The environmentalists would have a hissy fit
Only the stupid ones. Either undersea or in the middle of a city, you're adding heat energy to the planet. The main question is whether you want to spend even more heat energy to relocate some of the excess to a more convenient location.
Put another way, "server electricity" is better than "server electricity plus air conditioning electricity".
Now, an easier sell might be to move data centers into less urban, possibly even rural settings. Think about it: no urban heat island to contend with. Usuall
Re: (Score:2, Insightful)
"Only the stupid ones."
So your logic is that, 'since we're using all this energy, what we need to do is heat up the oceans, instead of the atmosphere, because it takes less electricity to do that, thus making us use 5% less energy making us 5% more environmentally friendly'
the difference is huge though, if we heat up the atmosphere, it radiates into space (if it didn't LA would be about 6000 degrees Fahrenheit at noon)
If we heat up the oceans, less CO2 and less
Re: (Score:3)
Citations for the idea that the ocean holds heat while the air radiates it harmlessly?
Re: (Score:2)
Well, water is a far better thermal conductor than air. Without any evidence to the contrary, my first guess would be (due to being educated in physics and chemistry) that the ocean would shed heat better than the atmosphere.
Again, do you have any citations that would explain why the unintuitive opposite would be true? I'm not claiming that you guys are wrong, but I'd need to read about it before accepting your statements as fact.
Re: (Score:2)
Stick a thermometer in containers of the same volume of water and air. Heat up the containers to the same temperature. Let them sit. Which do you think will cool off first?
Maybe I have to hint to you that the density makes a big difference? Think about heating up a large solid metal plug of the same volume to the same temperature as the water and air. If you chose a temperature where you wouldn't stick your finger into that water, how long do yo
Re: (Score:2)
Oh, you should have just said so! When you get to college, they'll teach you about advanced concepts like "specific heat" which explain why it takes a hell of a lot more heat to raise water the same number of degrees as air.
Hang in there and study hard, kid. One day you'll understand why things obvious to high school students aren't obvious at all to more educated folk.
Re: (Score:2)
An epic fail for you. Go back to kindergarten.
Re: (Score:2)
Your experiments are dumb and irrelevant. Here are some non-hypothetical numbers:
Mass of the atmosphere [wikipedia.org]: 5.15*10^18kg
Mass of the oceans [hypertextbook.com]: 1.4*10^21kg
So, the oceans are about 250 times more massive than the atmosphere. It also takes about 4 times as much energy to raise a mass of liquid water by one degree as the same mass of air. Ergo, it takes about 1,000 times as much heat to raise the Earth's water temperature as its air. This is neglecting that the heat of fusion of water is about 80 times tha
Re: (Score:2)
A volume of water at STP holds more energy than the same volume of air at STP. Which is what this whole thread boils down to.
Here's what you said earlier: "Citations for the idea that the ocean holds heat while the air radiates it harmlessly?"
Here's what you say now, "It also takes about 4 times as much energy to raise a mass of liquid water by one degree as the same mass of air."
Epic, epic FAIL. You can't even troll correctly.
Re: (Score:2)
If we're putting the hot water back in the oceans directly, we create 'heat islands' it takes 4x as much energy to cool water by 1 degree, so for ever 4 degrees you cool the 'air' you're 'heating' the water by 1 degree. if the temperature is 110F and you have the air set to 70F that means your water is going up 10 degrees. if Everyone in LA does this then for a 5-10 mile Island off the coast of LA is going to go up By 10-20 degrees, depending on how well that w
Re: (Score:2)
Re: (Score:2)
Obviously it's the same person who moderated it. But guess what? Just because you don't like science or lessening your ignorance, doesn't mean things will mag
Re: (Score:2)
the former WTC IIRC was using seawater to cool the building.. you don't need to build underwater, which would be impractically expensive compared to cheaply piping cold water in and piping hot water out.
and yes environmentalists are against this for a lot of reasons (one is that warm water doesn't let oxygen or CO2 in our out the way cold water does, has to do with total available surface area)... but that really h
Re: (Score:3, Informative)
Like this guy? (Score:2)
Here's a homebrew prototype [thebuehls.com]. Wonder if it has sprung a leak yet?
Re: (Score:2)
Re: (Score:2)
Re: (Score:2, Interesting)
Apply a connection limit slightly below the performance hockeystick in your load balancers / content switches and you will get maximum power utilization with minimum performance impact.
One other way I see customers getting maxim utilization out of their servers is by using dynamic resource schedule and vmware esx to move virtual servers around behind a load balancer. At
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Equity or efficiency? (Score:5, Interesting)
This problem shows up in many places.
The the AC says (Score:2)
OTOH I think the kind of study summarized by the Yahoo link gives science a bad name in human rights circles. In this case they treated a necessity as if it were a luxury where efficiency could become the paramount consideration. So we now know about a bit of human nature within an either/or false dichotomy (which is not very useful), plus we have the nasty suggestion that feeding everyone simply won't do from an efficiency
Re: (Score:2)
Now if there was research showing that people would rather throw food away than give it as an unfair surplus to some of the orphans, THAT would be news.
Another Scheduling Flamewar (Score:5, Funny)
Re: (Score:1)
Re: (Score:2)
Which candidate should be praying to which diety for good traffic for the moving van to the White House
Re:Another Scheduling Flamewar (Score:5, Funny)
I don't think that we should go down this road again - why don't we talk about religion or politics, instead?
Can we just stick to politics? Why spoil a perfectly good Friday with a vi vs emacs debate?
Re: (Score:2)
Overloading the intarweb (Score:1)
Managed power supplies... (Score:5, Insightful)
If the load on your boxes is below a threshold, remove one of them from the load balance list, wait for connections to end, or migrate the processes off to another machine, and switch it off. When the load is above a certain threshold, you power on an additional node, configure it for whichever service and add it to the load balancer.
Oh come on people, you call yourselves engineers? It really isn't that difficult.
Re:Managed power supplies... (Score:5, Insightful)
Sure, that's not too difficult to do. But it does add complexity. And it does mean your system can't respond to increased load as quickly, as you have to wait for your additional boxes to boot up. If the increased load is predictable, you can anticipate, but that adds more complexity. It doesn't save you on capital costs as you still have to size your power and A/C systems for peak load. Powering the boxes on and off may shorten their lives or reduce their reliability. The question isn't whether it can be done; it's whether it's worth it.
Re: (Score:2)
Shutdown Shortens Life? (Score:2)
Re: (Score:2)
Would love to see any information that can debunk so we can hit the equipment manufacturers up for damages...
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
If you understand complexity in the first place (Score:2)
Re: (Score:2)
it would be silly to have all your boxen running at 5% load because of a dumb load balancing scheme. Energy wasteful to say the least.
LoB
Re: (Score:2)
I mean of course this means you're not using windows... but from personal experience, when i switched one of my computers from windows to FreeBSD (and this was in 1996) i was saving over $5 a month in electric
Re: (Score:2)
Re: (Score:3, Informative)
I am starting to think I didn't miss much by not going to a big name computer science school.
Re: (Score:2)
Re: (Score:2)
You're right, it isn't very hard to understand. Fortunately for them, there's more to it than just understanding that simple fact. Say you want to bring in a system like this.. what are the optimum values for server load to balance speed and energy efficiency? What are the costs involved with bringing hardware on and offline all the time?
They are performing research to gain further insight and data accumulation, something that takes much more than just "oh sure, I know power consumption != load."
Aikon-
Re: (Score:3, Insightful)
You'd be surprised how much of engineering is taking "obvious" ideas and banging your head against them for months/years trying to get all the details to work out right.
RR is not load-balancing! (Score:2)
Load balancing is where you actually check the load and then make an informed decision about where to allocate the work.
OK, rant over. Now back to your scheduled programming.
Re: (Score:2)
Re: (Score:2)
A Round Robin balancing could put ten fat people in one elevator, and ten midgets in another, should they arrive in the correct order. That gives you one elevator crashing, and the other working fine. That's not balancing.
IT discovers boiler scheduling (Score:5, Interesting)
Operators of multiple steam boilers have been dealing with this problem for a century. The number of boilers fired up is adjusted with demand, with the need for some demand prediction because it takes time to get steam up. This was done manually for decades; now it's often automated.
The same thing applies to multiple HVAC compressors. Usually there's a long-term round-robin switch so that the order of compressor start is rotated on a daily or weekly basis to equalize wear.
More and more, IT is becoming like stationary engineering.
Re: (Score:3, Interesting)
Re:IT discovers boiler scheduling (Score:4, Insightful)
Which, alas, won't stop someone from patenting it with respect to servers. Even if it's already been done with computers too.
Incidentally, I've seen descriptions of currently available HVAC control systems for office buildings which takes into account the season, the direction the building faces, the thermal mass of the building, demand, etc, and even learns some of these parameters while running, rather than forcing the installer to calculate them. But every office building I've worked in has had crappy systems which amount to running the compressors on a timer and using individually controlled dampers to provide even cooling (poorly). It seems that we have the technology, but not the will (or the capital) to use them.
Re: (Score:2)
Re: (Score:2)
That's exactly my point. There exist (at least on paper; maybe they're vaporware) systems which DO use more than that for controlling the system. But
Re: (Score:2)
Re: (Score:2)
It just seems too obvious for there to not be a solution to this in computing already, let alone it requiring a study to come to this conclusion.
This being so suggests there's more to the story than the summary itself suggests; but to test that I'd have to follow all the li
The real question is what "fully loaded" means (Score:3, Insightful)
The only thing that makes this hard is a metric of what "fully loaded" means for a server. With generators and boilers, you have a single number which represents output, and you know what the capacity of each unit is, so you know when to start up the next unit. Computer servers are more difficult to characterize.
So you have to measure some values of server load, convert that to a single number, and use it for load measurement purposes. Then it all works just like boiler scheduling.
You don't even nee
Pound, haproxy (Score:4, Insightful)
Some kind of loadavg-based, or even response-time, feedback mechanism would be great! Pound has that (I believe), but since Pound requires downtime for every configuration change, we want to move away from it ASAP.
Re: (Score:3, Informative)
Re: (Score:2)
Re: (Score:2)
News, cluster not efficient. (Score:2)
A cluster of computers doing a job is less efficient that a single server doing the same job. Adding to that having a cluster creates more points of failure, and more overhead communicating between those statements.
If you have the option to run the DB & the application on the same server, try to do so.
Very cool, but obvious now that we see it (Score:5, Insightful)
Assuming your system scales smoothly, i.e. gets proportionally slower as the system load starts to exceed processing capacity. For example, a process will always take 100ms as long as there is CPU time to spare, but once the CPU gets to 100% utilization, you have to start time slicing more processes, that 100ms starts to be 150ms. The load balancer can spin up a new server an start bring down the processing times.
This is an obvious solution to an obvious problem, but until now, we've just never had to examine it.
Redundant systems ar not supposed to be efficient. (Score:1)
Redundant systems are redundantly redundant..That's why they are robust.
This message brought to you by the Department of Redundancy Department.
Well, duh... (Score:2, Funny)
Wow, you meen Green Data Centers? (Score:1)
BigIP (Score:3, Interesting)
It's new because it's smarter (Score:3, Insightful)
More smarts, I think.
Does your setup allocate ZERO connections to certain servers over some length time, which are set up to reduce energy use upon such zero connections? If not, this looks like it might help.
They're claiming real-world energy efficiency gains, so it looks like it's an improvement somehow.
I would assume it's because this now adds dynamic adjustment, which could be based on total system-stack metrics of peak_load_capability, energy_minimization, acceptable_response_time, etc. Somet
Re: (Score:2)
Does your setup allocate ZERO connections to certain servers over some length time, which are set up to reduce energy use upon such zero connections? If not, this looks like it might help.
F5's BigIP, the load balancer in question, doesn't specifically allocate ZERO connections, your right about that. Although F5 does allow for allot of flexibility in load balancing, you can separate out traffic, ie http and https to go to two separate servers. This could approximate your zero connections. When your talking zero connections though, as this algorithm suggest, whats the latency? I can't help think taking time for the load balancer to establish sessions (most likely in the thousands) on the fl
Re: (Score:2)
I'm thinking that this is more like:
(1)(a) "allocate all connections to servers $EnergyEfficient_1 thru $EnergyEfficient_9 (in a particular order due to their decreasing "EnergyStar rating") as long as their average load is less than 80%"
(b) "meanwhile, PowerMonsterServers are in [no-op, CPUhalt, powerd'ed down, spindown, standy, Wake-on-LAN] mode, thus saving total energy over having all of these machines idle at 15% load and consuming 100W each "
(c) "then if total systems load >95% and avg. respo
Scientific discoveries 2.0 (Score:2)
Could apply to CPUs as well (Score:3, Insightful)
It would take some targeted software design to take advantage of this, but I think we could be looking at a moores law style increase in power...
Soccer moms and scheduling. (Score:3, Interesting)
A. Spread the kids among all the cars, and drive all the cars (14 cars)
or
B. Fill up a car, and send off. Repeat until done. (6 cars)
What is more energy efficient?
Soccer moms have solved this without statistical analysis or engine torque curves.
Re: (Score:3, Interesting)
Car analogy? Check.
Soccer Moms? Check. Check. (no mention of how many are single though)
But... a lot of soccer moms don't care. They're busy with their other kids and errands too (each server runs more than just apache), so they want the flexibility of driving their own car. Show me a website where the hardware is designed to be energy efficient, and I'll see a site that can't handle a good slashdotting.
Re:Soccer moms and scheduling. (Score:4, Interesting)
First off, you're assuming a standard car with 1 adult driver and 4 passengers; instead, you should be using an SUV with a capacity of 6-8, including driver.
(Result: 4-5 vehicles)
Next, you have to consider that not all parents will attend every game. The primary reason that soccer moms drive SUVs is that they must occasionally transport several of their child's teammates to a game (or, worse, to practice!) when their turn comes up in the rotation. Therefore, you only need enough SUVs to cover the number of child passengers, and the number of adults will follow.
(Result: 2-3 vehicles)
However, you might recall that the other reason that soccer moms drive SUVs is that they often have additional children that have not yet reach sports playing age, and must be transported along with the parent, in a car seat (which, in the case of a standard car, would reduce passenger capacity by at least 20% by rendering the back center seat useless.) Assume that approximately 1 in 3 soccer moms have an additional child to transport, and the child adds to the overall passenger count.
(Result: 3-4 vehicles)
Finally, realizing that the overloaded schedule and priorities of child + parent create scheduling conflicts, it is impossible to get optimal performance. At least 1 child per SUV will be late, leaving a seat empty and requiring another parent with car to tranport them.
(Result: 6-8 vehicles)
The result is a range of possible values, but your initial calculation of 6 vehicles is optimistic at best.
New Slashdot Headline Needed (Score:3, Informative)
"Round Robin Scheduling Not Power-Efficient when using Windows Live Messenger"
RTFA, in the abstract, "In this paper, we characterize unique properties, performance, and power models of connection servers, based on a real data trace collected from the deployed Windows Live Messenger."
The research itself appears pretty solid. I'd be interested if they publish a followup paper where the model was based off of a variety of applications which utilize round-robin, not just one.
Cooling.current == Server.current (Score:3, Interesting)
Re: (Score:2)