From the Canyon Edge -- :-Dustin

Thursday, July 23, 2009

Slashdot (Power Capping) and What Ubuntu is Doing

I just read this article, referenced by Slashdot: Power Capping the Data Center.

And I thought I'd borrow this video (one of my favorites) from IBM:

I think that we in the Ubuntu Server Community are leading the charge in developing an energy-efficient server class Linux distribution.

It is my hope that by the 10.04 LTS release, the Ubuntu Server is widely recognized as the de facto Green Computing Server Platform.

I would like to highlight a few of the key ways we have improved the energy efficiency of the Ubuntu Server in 9.04.

  • suspend/hibernate/resume
    • In Jaunty, we added pm-utils to the Server seed, and proved that Ubuntu Servers could suspend and hibernate, and be resumed remotely (requires support in the system's BIOS).
  • cpu frequency scaling
    • We also enabled cpu frequency scaling on the Ubuntu Server, defaulting to the on-demand governor. This ensures that Ubuntu Servers run at minimum cpu frequency and power consumption when under-utilized.
  • pwrkap
    • pwrkap is an open source project from the IBM Linux Technology Center which provides an energy use monitor and power capping enforcement tools (just what the Slashdot article is discussing!). We partnered with the LTC, working with Darrick Wong, to deliver this technology as a package in Ubuntu Universe.
  • powerman
    • powerman is another new package in Jaunty. Here, we worked with Arnaud Quette of Eaton to provide in Ubuntu a tool for manipulating Power Distribution Units (PDUs) from a central location--useful for remote operation in data centers and cluster computing.
  • Eucalyptus, EC2
    • Finally, we embarked on a tremendous effort to make the Ubuntu Server a better host and client in virtual and cloud computing environments. Cloud, grid, and utility computing, in a generic sense, provide far more scalable resources at the data center level. And being able to move computing efforts between your data center and someone else's (such as Amazon) also provides some interesting options on the power savings front.

These efforts continue in the development of Karmic 9.10.

9.10 (in progress)
  • powernap
    • PowerNap is a new free software project from Canonical that acts as sort of a "screen saver" for servers. Ubuntu Servers running PowerNap can be configured to take a specific action (like suspending, or hibernating, or powering off) when deemed inactive (no keyboard mouse activity, and none of some list of processes running).
  • powerwake
    • PowerWake is part of the PowerNap project, and provides a command line interface for remotely resuming power napping systems.
  • Ubuntu Enterprise Cloud powered by Eucalyptus
    • Eucalyptus has been enhanced to leverage PowerNap and PowerWake, to maintain a far more energy efficient cloud. Eucalyptus uses PowerNap to suspend, hibernate, or power-off nodes that are not currently running any virtual machines. New VM requests are served from the available capacity of running systems. Eucalyptus will PowerWake sleeping systems only if load requires. With PowerNap, data centers will finally realize the energy savings promised by cloud computing.
  • Condor
    • We are working on packaging Condor for Karmic. Condor is a system that "scavenges" otherwise unused computing cycles, leveraging them for a higher purpose. Think "protein folding" or "SETI@home", except in your data center, for your grid-capable applications. As such, Condor is less about saving power, but more about increasing utilization and efficiency or your computing resources. You could perhaps choose to PowerNap your under utilized hardware and save energy, or instead Condor your systems and task them to other work.
  • mpich2
    • We have also synchronized the mpich2 package from Debian, thanks to some excellent work from a few Debian developers. mpich2 is an extremely important library for high performance, grid computing applications. Whereas Condor is intended for general purpose grid computing, mpich2 is used by developers and users of very specific applications. Like Condor, mpich2 is also about using available computing resources as efficiently as possible.
So what's next? I certainly hope to continue working on energy efficiency in the Ubuntu Server. I have a few ideas about what we could do in 10.04.

10.04 (future)
  • Low Power Architectures
    • I have blogged a couple of times now (here, and here), about running the Ubuntu Server on Dell Mini's. These systems have Intel Atom processors, and run the lpia architecture. I would like to see us work more on this, and perhaps partner with the vendors on an Ubuntu Server product for these architectures.
    • Beyond that, ARM is a fascinating architecture, and will have a tremendous effect on the way we think about computing power. ARM based servers, with solid-state disks will soon run on fractions of a watt of power. Some people are excited about laptops that might have 24 hours of battery. I'm excited about Servers that have a 24 hour built-in battery backup, consume 1% of the power of their predecessors, and can fit in nooks and crannies in every room of your house.



  1. Dustin,
    this is good stuff. A couple of comments.

    How do we make going green with servers a more prominant feature when choosing server hardware...especially offsite server hardware that I am contracting for? Are there hosting providers which pro-rate your service terms based on your server's power consumption? Does Amazon's EC2 expose power consumption? As things get more cloudly and people and companies rely more and more on contracting for infrastructure...are the right incentives exposed so that customers of those services choose the greener solution?

    The other comment...ARM and LPIA as servers. I think that's a very specific workload you have in mind there..simple file/print/web server activity. I think NAS appliances are already converging into that sort of thing as a consumer option. I think NAS appliances ive seen are running linux on ARM or MIPS already. Is Canonical looking to partner with appliance vendors to provide an OS aimed at NAS cubes?


  2. Hi Jef, thanks for the comments.

    I hope server vendors really start taking energy efficiency serious. For one thing, I'm having trouble tracking down rackable servers that support S3 (suspend-to-ram). For x86 hardware, I think that's really sad, in my opinion. If one of the vendors *does* start producing such systems, I think we should vote with our wallets, and with our blogs, and support such a move.

    As for hosts that pro-rate based on power consumption, I don't know of any. Heck, I think you might be on to an interesting business model ;-) My hosting provider ( sells carbon offsets. That's the "greenest" thing I know about (and not at all what you're asking).

    I don't know much about Amazon's EC2 hardware situation. I have heard that they have a lot of IBM and Dell hardware, up to 8-cpu systems, mostly running CentOS (for Xen).

    It is my *hope* that Amazon will consider Ubuntu + KVM + PowerNap, perhaps some time in the future. But if not Amazon, then providers like Amazon. Wikipedia, for instance, runs Ubuntu Servers. I would think a non-profit such as the Wikimedia Foundation would be interested in saving power. Or perhaps people who are already interested in such things. Maybe we should reach out to Al Gore and the Obama Administration ;-)

    As for ARM and LPIA servers... I consider these devices essentially as powerful as virtual machines. Sure, file/print/web would fit nicely there. But more generically, I'd say most things you're willing to do in a VM, you could probably accomplish on an ARM or LPIA server.

    Given that the architecture itself is different, I think interpreted applications (Shell, Python, Perl, PHP, Ruby, etc) or maybe even Java (?) will probably migrate to these systems more quickly than traditional (and more performant) C applications.

    As for Canonical's partnerships, I couldn't say much more than what you'd find on our list of officially recognized partners ;-)



  3. While the discussion over whose bare metal hypervisor production solution people are going to spend money on is a noteworthy topic..I'll give you a free pass on the Ubuntu Server salespitch to Amazon(this time) and save that discussion for a more expansive forum...and I'll just focus on powernap as a technology.

    There's a bottomline benefit here in powernap for people running iron for utility computing, that's clear. And it makes sense for it to be integrated with Eucalyptus. I would imagine that VMWare is going to implement the same functionality as well once customers see the cost benefits of it. But.. if you can't find servers that can do S3, then certainly the Amazon's of the world or anyone running a private grid is also going to have trouble. Without S3 support on server hardware are the potential benefits to running powernap functionality as part of a cloud management solution greatly impacted? Is the software capability leading ahead of the hardware capability here? What's the tech refresh rate for utility iron? Can we expect servers purchased to day to be rotated out in 2 years? Four years? Are we talking about a 4 year timeline to see S3 capable servers become the dominant server hardware?

    Forget the economies of Amazon where people are already being charged directly for services consumed. That's the easier questions. The harder question is how to expose the true energy costs to users for cost-less services, how much power do Google server farms waste idling? How much energy is used( or carbon produced) for each google search I do...each tweet executed. Web services is primarily free lunch world, where energy costs are not passed on to the userbase...destroying the most effective incentive to see things go greener. Somehow we are going to have to find a way to put public pressure on service companies who are buying the iron. Do you know if UbuntuOne using S3 capable iron?


  4. Low-powered servers are great stuff. I'm using a Linutop as a household file server - it's got an AMD Geode 400MHz, a flash disk, no fans, uses 12W and runs Ubuntu 8.04 (preinstalled). I wonder how it'd do with a later version. I may try a later version if I ever expand the 1GB flash disk ;-)

  5. Jef-

    So I don't have answers to all of your questions.

    But the one I'm most capable of answering is about how useful PowerNap is without S3.

    And I think that answer is "still very useful". PowerNap doesn't really care what action it takes when it realizes the conditions are right for a "powernap".

    In fact, you can write your own script to do whatever you want and copy it or link it to /etc/powernap/action. This could send an email, or change you cpu-frequency governor, or powerdown the whole data center, or run a backup script, or whatever.

    And if this script doesn't exist, PowerNap will try to Suspend, then Hibernate, and then Poweroff. While I haven't found as much hardware supporting Suspend, all of the hardware I've tested does support Hibernate.

    Hibernate is fairly compelling in its own right. The power savings is even greater than Suspend, state is still maintained, but resuming takes more like 30-60 seconds (rather than 5-10 seconds). In some use cases, this delay is probably okay.

    As you said, I think the software may be slightly ahead of the server class hardware (though in sync with laptops and desktops). I think (hope) people will start asking their server vendors for S3 capable servers.

    As for UbuntuOne, according to:
    the data is stored in Amazon EC2 on S3 storage. So yes, they are using S3, albeit a completely different type of S3 :-) The hardware they're using, I'm sure, is the same hardware available in the rest of the Amazon EC2 cloud.


  6. I knew you were going to throw in the other S3 just to make sure everyone is nice and confused.

    I think it would be useful if you did a follow up after a month or so of home server powernap usage to see if you could quantify the power savings you experience.


  7. ACPI S3 Suspend-to-RAM:

    Amazon S3 Storage:

    Both called S3, absolutely nothing to do with one another.


  8. Hi,
    This article is great.i’ll put this article to my bookmarking page.thx for post man i’m following you.



Please do not use blog comments for support requests! Blog comments do not scale well to this effect.

Instead, please use Launchpad for Bugs and StackExchange for Questions.