Follow Slashdot blog updates by subscribing to our blog RSS feed


Forgot your password?
Power Input Devices Portables Hardware Technology

Measuring the User For CPU Frequency Scaling 190

An anonymous reader writes "The Empathic Systems Project a Northwestern University demonstrate up to 50% power savings by controlling CPU frequency scaling based upon the end user. They measure the user with eye trackers, galvanic skin response, and force sensors to find a CPU frequency that the user is satisfied with. They are currently studying user activity and system performance on mobile architectures, specifically the Android G1 phone."
This discussion has been archived. No new comments can be posted.

Measuring the User For CPU Frequency Scaling

Comments Filter:
  • Overhead? (Score:5, Insightful)

    by bcmm ( 768152 ) on Wednesday May 13, 2009 @05:56PM (#27944679)
    I cannot imagine that, in the near future, a mobile device will draw more power by just using full processor speed than it would by having to power all those sensors and interpret their data.
  • by Anonymous Coward on Wednesday May 13, 2009 @05:58PM (#27944705)

    No, it just means that not clicking a button multiple times and yelling will make it go slower.

  • Waste of Time (Score:3, Insightful)

    by sexconker ( 1179573 ) on Wednesday May 13, 2009 @06:04PM (#27944789)

    So if I walk away from my machine to let it process a job, it'll go slower?

    If this is to save power, then reducing speed when an intensive task is performed is retarded, since you'll waste energy (having to run the task proportionately longer).

    If we're only taking into account saving power when idle/mostly idle, then basing this off of metrics from the user is a waste of effort. Just test your apps and see what a user feels is "fast" for certain tasks, then attach those target times to those tasks, and let the CPU try to hit that target.

    You'll waste less energy monitoring a user's behavior and galvanic boner response, and you won't annoy the user when your system behaves inconsistently.

    If you want, you can let users specify whether or not they want to emphasize battery life or performance, or turn the feature off entirely and let shit work as it should.

    The trick would be getting this shit implemented at level low enough that each app would be able to specify target times and specific tasks. Of course, if you're the fuckers worried about battery life, you're the one designing the hardware/platform, so you've got control.

  • by silas_moeckel ( 234313 ) <silas&dsminc-corp,com> on Wednesday May 13, 2009 @06:05PM (#27944805) Homepage

    This is simple all OS/App developers need to be given a 3 year old PC to test on. They need the big honking system to code/compile on.

  • Hmm... (Score:5, Insightful)

    by fuzzyfuzzyfungus ( 1223518 ) on Wednesday May 13, 2009 @06:06PM (#27944817) Journal
    Any word on how this compares to the current recieved wisdom of "when you have a job, do it as fast as possible, then go to sleep"?

    I don't want to be "that guy on the internet who says it can't possibly work from the comfort of his armchair"; and I'm all for new and interesting sensor integration schemes; but this strikes me as the sort of problem that is already mostly solved with far simpler techniques.

    We can already rank processes by priority, via nice or similar, and we already know a decent amount about user psychology(people hate waiting and find unresponsive interfaces enormously frustrating), and determining "what combination of speed states across time will execute this sequence of instructions with the lowest energy cost, subject to the desireability of having the results sooner rather than later?" is a solvable problem.

    Can we really learn individual quirks, not covered by general rules, or is this basically a system that underclocks your phone until just before the point where your head explodes?
  • Way I read it (Score:5, Insightful)

    by Moraelin ( 679338 ) on Wednesday May 13, 2009 @06:17PM (#27944941) Journal

    Way I read it, it'll just make sure it goes just fast enough to want to make you scream for real anyway. I doubt that faking screaming alone will take care of the other variables they mention. But being genuinely stressed, probably will. And they'll underclock the computer until they start seeing what they consider an acceptable level of stress, regardless of whether you're actually screaming or not.

    I seriously wonder who comes up with that kind of ideas. If the user seems to actually be enjoying his experience at the computer for a change, by all means, let's start degrading his/her experience until he starts showing some stress.

    And it's good 'cause you can save a few watts! At the expense of probably reducing the user's life expectancy a little due to a constant baseline of stress, not just make him enjoy that life less. But it's teh green!

    How much self-hate does someone need to actually want to punish themselves to save the planet? I guess we'll soon know.

  • by Moraelin ( 679338 ) on Wednesday May 13, 2009 @06:34PM (#27945103) Journal

    Actually, I'd say that's just the start of the problems. The next problem will be that half of anything you install nowadays, will want to preload itself or parts of itself in your tray, or install some services, or God knows what else.

    And I'm not even talking proper spyware. E.g., even when I install OOo, the first thing I have to do is deactivate its preloading itself. 'Cause obviously they thought my RAM is there just so they can willy-wave about loading faster than MS Office, instead of fixing their brain-dead code to actually be fast. (Though apparently in the last release they actually did get around to optimizing a bit for a change.)

    E.g., I install Sun's Java, 'course, it has to keep something in the tray just to make sure it can pester me to download the latest release I don't even want.

    E.g., I install my old Audigy 4's software after moving it to another computer, and I promptly remember what I hated about its software in the first place. By default it installs a brain-dead bloated skinned second toolbar, so to speak, just in case I'm too stupid to launch its control pannels normally. And so it can get in my way when I accidentally move the mouse to its edge. It also installs stuff like its own CD/DVD detector (and launcher of the apropriate program for it), for no obvious reason, since Windows already does a perfectly good job there. It also blesses my computer with a bloated, slow loading splash screen, 'cause obviously doubling my computer's startup time is perfectly ok if it lets them shove in my face again that it runs an Audigy. Obviously my time and RAM are there just so they can advertise to me. Etc.

    I'm not even singling out OOo or Java there, mind you. Lots of others do the same.

    And then come the games, with their retarded DRM drivers and whatnot.

    My point is that it used to be a time when you actually had to get virused or click on spyware to get half a gigabyte of your RAM full with crap. Increasingly in the last decade, you don't even need to do that. Just installing perfectly legit software can make your computer swap, if you're not savvy enough to find that crap in the registry and disable its auto-loading. Sometimes twice, because some are smart enough to re-enable themselves.

  • by cskrat ( 921721 ) on Wednesday May 13, 2009 @06:35PM (#27945109)

    Nobody said anything about overclocking. And yes, underclocking does have limits imposed by the system's processor and BIOS. AMD and Intel already have features on all their product lines to allow for dynamic clock adjustments to reduce power consumption. AMD's cool and quiet feature will even lower the CPU voltage at lower clock frequencies to further reduce power consumption.

    These guys aren't talking about new processor designs (though I'm sure some engineers at AMD and Intel read /. and will find this research), they're looking for ways to better implement the power saving features that are already present in modern CPUs.

  • Re:Excellent (Score:4, Insightful)

    by jpmorgan ( 517966 ) on Wednesday May 13, 2009 @06:38PM (#27945147) Homepage

    You might be surprised, but a lot of commercial HPC sales are already based on flops/watt.

    Lots of companies make extensive use of computational models these days, but have offices in older buildings that don't have sufficient power infrastructure. When your power supply maxes out at 50kW, flops/watt becomes more important than straight flops.

  • by rickb928 ( 945187 ) on Wednesday May 13, 2009 @07:03PM (#27945389) Homepage Journal
    They measure the user with eye trackers, galvanic skin response, and force sensors to find a CPU frequency that the user is satisfied with. They are currently studying user activity and system performance on mobile architectures, specifically the Android G1 phone."

    Yeah, so that's why my G1 keeps asking me to turn it over, so the camera can track my eyes. Perhaps they should try tracking the acclerometers so they see them max out when the battery goes dead and I heave it one more time into the trash, only to pick it out again and recharge. Yeah, that's sure scientific. Good work there.

    Or maybe they are working with the other Android phone on the market that has a user-facing camera.

    For a phone, you do not want background processing tasks - they force the processor to stay "awake" and drain the battery very quickly

    Yup. Stop calling my G1 a phone. It's a handheld. Phones have reasonable battery life. There. Carry on.
  • Rent costs (Score:4, Insightful)

    by tepples ( 727027 ) <tepples@gmail.BOHRcom minus physicist> on Wednesday May 13, 2009 @07:31PM (#27945643) Homepage Journal

    What about the commuter crowd? Driving that gas hog as much as 100 miles each way, 5 days a week, because they are to damned good to live in the neighborhoods in which they work.

    In a lot of cases, the commuter crowd lives this way because the gas is cheaper than rent near work.

  • Re:Waste of Time (Score:4, Insightful)

    by Chris Burke ( 6130 ) on Wednesday May 13, 2009 @08:21PM (#27946067) Homepage

    The trick though, is to realize when the user really doesn't care for speed, and thus keep the CPU in a lower frequency (e.g., playing music), versus the user is actively doing stuff, and it would be desirable to have it finish as fast as possible (e.g., browsing the web) so while the user ponders, you can put the CPU into a low power state immediately, versus keep it at a slow clock and have the user wait. Also, you have to figure out when the user is doing something that really is requiring a lot of CPU power (playing movies), so you have to bump the speed up and hold it there, and not at the first instance of idleness, drop back down.

    Basically, having this feedback ltes you find out what is going on - is the user not caring, and thus you should pick the slowest speed that'll get things done? Is the user actively engaged in the device, but the usage is bursty, so you should go into a low power state after the processing is done, or is the user doing something that requires processor, and dropping down wastes power due to overhead?

    Everything you say is true, but it makes vastly more sense to determine the amount of processor speed needed by what the device is actually being asked to do rather than trying to glean the user's mood and how that relates to required processor speed. Decoding an mp3 is a low intensity activity, and you don't need to know the user's heart rate or any nonsense like that to know you can afford to turn down the cpu frequency if that's all its being asked to do. Similarly, no matter how emotional the user is getting over the text message they are typing, the processor is still going to be sitting in its idle loop 99% of the time waiting for the next keypress so it's perfectly safe to lower the frequency there too. If they're doing something that requires a lot more processor, well, again this is obvious from the processor's point of view. And while the switches themselves are slow from the processor's point of view, they are too fast to notice from the user's point of view so it's perfectly feasible to switch from one to the other as processor load indicates.

    So given that we already know how* to tune a processor's frequency to match the work being asked of it in a way that minimizes power consumption but never appears "slow" to the user, what exactly does this add? Is it for when someone starts playing a CPU intensive game on their iPhone, but isn't actually playing it? Yeah I'm sure you could save a lot of power by realizing that the user isn't in the same room as the device, so their Quake framerate really dosen't matter. So would an auto-shutoff after two minutes of no user input, and my phone already has that too.

    * It's not like there's some proven ideal algorithm for it, but nevertheless existing devices do a pretty good job and are getting better.

  • Re:Way I read it (Score:3, Insightful)

    by SanityInAnarchy ( 655584 ) <> on Wednesday May 13, 2009 @08:27PM (#27946119) Journal

    Point is, we really shouldn't have to make this choice.

    Electricity is just electricity. It can come from coal or oil, yes. It can also come from a waterfall, or a nuclear reaction, or the wind, or the sun, even geothermal...

    Saving a few watts, multiplied by thousands of people, still isn't going to make a tiny fraction of the difference of, say, replacing a coal plant with a wind farm.

    No, I'm guessing they're mainly focusing on battery life for mobile apps. And I applaud them for that, but I don't know that I like this particular method. I'd rather have it jump right up to full throttle when I need it, without me having to get stressed. And I'd much rather see effort put towards better batteries, and generating electricity from other sources -- like movement, considering how much I might be walking around with a mobile device...

  • by Xyde ( 415798 ) <<slashdot> <at> <>> on Wednesday May 13, 2009 @10:04PM (#27946779)
    Chatlog with friend:

    <Me> why does windows software have splash screens
    <Me> for things like, wireless driver software
    <Me> hmm its been sitting here on the screen, frozen for over a minute now
    <Him> or say, your printer
    <Him> i'm so proud of my printer, and assorted accessories that I enjoy having my computer present a tv-sitcom style credits roll every time it starts up
    <Him> oh here is the funny character who pretends to do work, but always is sleeping on the job
    <Him> oh crazy Canon, you're such a character!
    <Him> oh look here comes ATi and some random taiwanese sound chip that looks like a crab
    <Him> what cute characters, they're why I watch this show
    <Him> what would life be like if i didn't have a tray icon indicating to me when I was pushing on the trackpad
    <Him> that's so handy, I always get confused you know
    <Him> am I pushing on the track pad right now?
    <Him> or is it my crotch?
    <Him> i always mix them up, so handy that there is that little on screen icon there all day showing me
    <Him> oh look, there are a bunch of quick to reach options, even though I'd never configure this more than once in my lifetime
    <Him> good thing there are keyboard shortcuts to get here, woah, you know those scroll bars I assigned when I bought the laptop - I need to change those so frequently that I definitely need a keyboard short cut to get there
    <Him> I didn't order crabs with my soundchip
    <Him> and yet, here it is
    <Him> just like crabs: they always come when you don't want them
    <Me> don't forget the horrible interface
    <Me> for 3D sound
    <Me> with lots of bad gradients
    <Him> this menu it needs more over compressed jpeg
    <Him> and all the configuration options need to be laid out as giant long textual choices
    <Him> with tabs
    <Him> oh and can we put a help in there
    <Him> it doesnt need to say thing other than "this option controls a sound option"
    <Him> that's plenty of information for consumers

  • Re:Rent costs (Score:5, Insightful)

    by adolf ( 21054 ) <> on Thursday May 14, 2009 @12:05AM (#27947499) Journal

    I commute, but I didn't choose to.

    I live in a nice, small city (about 40k) in Ohio. I've lived in the same town my entire life. I worked for a local branch of a slightly regional company. They closed the division I worked for, and moved my job to their home office, 30 miles away.

    They paid hourly for my drive time, and for my gas. The arrangement has changed some now that I drive a company truck instead of my own car, but it's still similar to what it was.

    Now, I like my job. And I like my town. And I'm a homeowner (and also was one when my job moved). I'm not moving to that other city (let's call it Ghettotropolis, complete with burned-out houses, street-walking hookers, and lots of crack), for any amount of money. Where I come from, folks lock their doors sometimes. Where my job moved to, crackheads will smash your car window to get the change out of the ashtray.

    Not. Fucking. Happening.

    So, what to do? Do you propose that I find another job nearer to home? Nevermind that there aren't even any local companies which are in even remotely the same trade.

    I do work from home quite a bit, nowadays, which helps. But still: I haven't CHOSEN to commute. I've only chosen to keep my job. And it's a good job - in a time of cutbacks and layoffs and late bills, this company is having the best couple of years that it's ever seen.

    It isn't always someone's personal decision to be a commuter.

  • by Anonymous Coward on Thursday May 14, 2009 @12:31AM (#27947631)

    I like seeing desktop compositing and media decoding passed off to my GPU, thankyou very much =)

    It's nice that you have a good graphics card, but you're missing the parent's point. The lower the system requirements on your program, the larger potential user base you have available.

    Unless your program is something that any fool would expect to need a powerful computer for (such as shiny-fancy AAA computer games, graphically advanced desktops, high def media playback, and so on), you should make it tight enough to run on computers like that example 2003 P4 setup. Of course, you can make more intensive features optional, like how Windows XP lets you enable or disable different visual effects.

  • Re:Overhead? (Score:3, Insightful)

    by cerberusss ( 660701 ) on Thursday May 14, 2009 @02:38AM (#27948177) Homepage Journal

    I know it's not an embedded ARM system, but this does give an idea of the nearly negligible power savings available by halving your clock speed.

    You got an 8.78% percent power savings. I don't think that's "nearly neglibible". Maybe you're correct in the absolute sense; what's a 2.8 W power savings? Then I'd say it still isn't too bad.

    And yes, I'm the guy that pulls out the wall warts when not at home.

  • Re:Way I read it (Score:2, Insightful)

    by batman567 ( 1554289 ) on Thursday May 14, 2009 @03:54AM (#27948435) Homepage
    i'd rather have my CPU running at 100%, than to have it running at 70%, and the other 30% being used to monitor my eyes, skin and nervous state of being!!! as for saving the planet - i doubt if the savings of 1 million of these "intelligent systems" would undo the unnecessary wastage that ONE solitary BMW X5 V8 (or Merc M class, or any other behemoth SUV)is causing.
  • Re:Way I read it (Score:3, Insightful)

    by daveime ( 1253762 ) on Thursday May 14, 2009 @05:41AM (#27948901)

    Okay I'll bite.

    Yes, I dropped a decimal point somewhere, your are correct on the number of zeros.

    But then you also try to play the numbers game with your "if every person on the planet did XYZ".

    There are an awful lot of people on this planet who don't even HAVE electricity, never mind a mobile device to save those odd Watts.

    A country like US has an average of 11kW per person usage, while Bangladesh has an average of 0.2kW per person usage.

    If we can save 1000W per person

    No, you can't simply scale up the math ad infinitum, multiply it by 6 billion people and still sound credible.

    Realistic goals for energy efficiency require tangible quantities for it to work. Percentages are meaningless when you are talking about devices that require a miniscule fraction of the energy required to power say a 5 liter SUV, or a home temperature control system.

    You want to make a difference ? Ban all car engines above 1.6 liter. Mandate all homes to be fitted / retrofitted with proven insulation technology. Develop realistic alternative energy sources like wind, wave and solar.

    Don't just shut off my screensaver because it consumes 0.001 W more off than it does on. It's like avoiding pissing in the ocean in case it becomes too salty.

  • Re:Rent costs (Score:4, Insightful)

    by kingofwaldos ( 645744 ) on Thursday May 14, 2009 @10:20AM (#27950709)
    What are you talking about? Your post is full of decisions you made. You may not feel you have a choice, but in fact you just don't like the other choice. You job moved to the city, you chose to move with it rather than quit. You already have a house, you chose to stay in it rather than move to "ghettotropolis". I'm not saying that I would choose differently (I commute 30 miles myself), but to say you had no choice is wrong.

"An open mind has but one disadvantage: it collects dirt." -- a saying at RPI