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.
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.
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, 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.
Except, this technology is NOT for computing applications, but for mobile applications - e.g., a phone.
For a phone, you do not want background processing tasks - they force the processor to stay "awake" and drain the battery very quickly. Even a simple task that wakes the CPU up every second will easily cause battery life to diminish from the 2+ weeks standby to a few days. (Take your battery capacity and divide it by the standby time - you'll find you have around 2-3mA to play with, which is just enough to maintain the radio connectivity).
Mobile processors have a technique known as DVFS - dynamic voltage and frequency scaling. The goal is to keep the voltage as low as possible (power consumed is proportional to voltage squared), which may mean you run the CPU at a lower frequency. There's a bit of overhead in switching frequencies, including having to ramp up core voltages and adjusting clocks, waiting for them to stabilize, etc.
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?
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.
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.
Kid-proof tablet..
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.