Measuring the User For CPU Frequency Scaling
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."
Does this mean that clicking a button multiple times and yelling at my computer will finally make my it go faster? Sweet!
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.
# cat
Damn, my RAM is full of llamas.
Computers changing performance based on our moods? Hmm...i'm thinking android girlfriends are closer than we realize! It would be interesting to see just how much battery power this would save on my rig?
Most of the drain users see today is OS bloat and Virus scan software bloat. Face it, A "fully updated" WinXP SP3 with a fully updated, modern antivirus package needs ~4 times the hardware a base WinXP (or even Win2K SP4) system would want.
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.
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.
No sir I dont like it.
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?
I thought all machines had sensory technology with reacted to the user's activity state. I just look forward to this being used for something besides making the machine malfunction when I need it the most.
Welcome to the Panopticon. Used to be a prison, now it's your home.
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.
A polar bear is a cartesian bear after a coordinate transform.
What a useless study. I can tell you what system I need.
The correct CPU and frequency is currently a 100GHz 16 Core beast with 4TB of RAM. Of course I will NEED a machine that is twice as fast in 18 months.
If I were God, wouldn't I protect my churches from acts of me?
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.
A polar bear is a cartesian bear after a coordinate transform.
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.
My God! It's full of eval()'s.
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.
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.
deleting the extra space after periods so i can stay relevant, yeah.
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.
I'd like a computer that speeds up, every time I smash the keyboard or mouse in anger, you know, like a human would...
That should be easier to implement than my previous suggestion, which was a speech recognition algo that interprets swearing in various languages and can tell the difference in intensity between "Ah crap" and "STUPID F&@#IN' GODDAMNED TABARNAK MOTHERF&*@&#$ OUTLOOK!".
-Billco, Fnarg.com