Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Operating Systems Software Cellphones Communications Handhelds Wireless Networking Hardware

Cinder Mobile OS Lets Users Send More Power To Slow Apps 92

alphadogg writes with this excerpt from Network World: "Stanford University researchers are designing an operating system from the ground up to handle the power and security requirements of mobile devices. The Cinder operating system is already working on an Arm chip, and members of the team are working on making it run on the HTC G1 handset, according to Philip Levis, a Stanford assistant professor. Levis spoke about Cinder at the Stanford Computer Forum on Tuesday. If an application isn't running as fast as the user wants, a Cinder-based phone could include a button to boost the energy allocated to that application, Levis said. Cinder also could allow users to download any code and run it safely on their phones in a 'sandbox' mode."
This discussion has been archived. No new comments can be posted.

Cinder Mobile OS Lets Users Send More Power To Slow Apps

Comments Filter:
  • Warning: (Score:5, Funny)

    by Anonymous Coward on Wednesday April 15, 2009 @04:37PM (#27591499)

    If you over-amp a sandboxed app too much, you end up with molten glass.

  • Umm (Score:3, Insightful)

    by Jurily ( 900488 ) <jurily AT gmail DOT com> on Wednesday April 15, 2009 @04:38PM (#27591509)

    include a button to boost the energy allocated to that application

    I thought the chip gets the power, not the application. Am I reading this right?

    • include a button to boost the energy allocated to that application

      I thought the chip gets the power, not the application. Am I reading this right?

      That's what I thought.. And if, by this, they really mean that the process gets a higher priority.. Well, what's special about that? Lots of OSes have had that feature for years.

      • Re: (Score:2, Interesting)

        by Anonymous Coward

        Ah, but OS's traditionally don't limit the processing power available to a task if the processor would otherwise be available - I think the difference here is that scheduler stops a process consuming more than (say) 1/10 of the CPU even if that means the CPU is idle 8/10 of the time; because the user would rather keep 8/10 reserved to make the battery last longer.

        Enegry consumed by an application really means 'enegry consumed by the system as a whole because it is running that particular application.' Clam

    • Re:Umm (Score:5, Funny)

      by jonbryce ( 703250 ) on Wednesday April 15, 2009 @04:43PM (#27591571) Homepage

      Is it like the Turbo button you used to get on ancient desktop computers?

      • Re: (Score:2, Interesting)

        by Anonymous Coward

        Sounds like it, but it's not a bad idea - the processors used in phones are capable of running at a much higher speed. They don't normally because higher speed == more power, even at idle.

        • Now if only someone designed an asynchronous self-clocked tiny CPU that would (by design) use for a computing task the precise amount of energy required, not less, not more...
        • I worked on an embedded system which did this. It run the CPU at a high frequency initially and measured how much time was spent on the idle task. More time idle meant dropping the clock frequency. Less time idle meant increasing it. Most embedded ARMs have a few PLLs and you can switch between them to get different frequencies. Actually most of them let you power down the CPU almost completely in the idle task too, e.g. a sleep instruction. You can put the RAM into self refresh too.

          Actually all desktop OSs

      • Application slow? Pedal faster!
    • Re:Umm (Score:5, Funny)

      by sakdoctor ( 1087155 ) on Wednesday April 15, 2009 @04:43PM (#27591577) Homepage

      Those who don't understand the TURBO BUTTON are condemned to reinvent it, poorly.

    • Re: (Score:3, Insightful)

      by Nutria ( 679911 )

      I thought the chip gets the power, not the application. Am I reading this right?

      Remember that tech "journalists" are usually clueless fools, so reality may be way different than what's in the article.

      I'm thinking more that it might be like the Turbo button that PCs had in the semi-old days, when CPU speeds were in the 5-16MHz range. Of course, I haven't RTFA...

      • Re: (Score:3, Informative)

        by Jurily ( 900488 )

        I'm thinking more that it might be like the Turbo button that PCs had in the semi-old days, when CPU speeds were in the 5-16MHz range.

        The Turbo button slowed the CPU. And it was a good thing, because many applications used CPU speed for timing. You bought a new computer, and suddenly your favorite game ran too fast to be enjoyable.

        • Re: (Score:3, Informative)

          by Nutria ( 679911 )

          The Turbo button slowed the CPU.

          It was a toggle button, so it would slow or speed the CPU depending on it's state when you pushed the button. Of course, few wanted to run in "normal" speed unless they had to.

          Now, it's the opposite. You want to run slowly, a often as you can, to preserve battery charge. But the "turbo button" moniker still applies.

          • Re:Umm (Score:4, Interesting)

            by MBCook ( 132727 ) <foobarsoft@foobarsoft.com> on Wednesday April 15, 2009 @05:46PM (#27592193) Homepage

            Of course, few wanted to run in "normal" speed unless they had to.

            But isn't this the problem with this idea? Users will just hit the "turbo" button all the time because non-instantaneous is too slow. This both defeats the purpose (since everything will run at turbo) and will annoy the user (when "turbo" isn't fast enough).

            Isn't spending 20k cycles at full power and then dropping back to next-to-no-power during idle sometimes more efficient than spending 20k cycles at 20% power (which has to run 5x as long)?

            Wouldn't it simply be better to make a little indicator icon of how much power is being used at a instant (happy battery / busy battery / battery on treadmill / battery playing Sisyphus)? Then users could see which apps use too much power (3D games, audio analysis, lots of stupid animation) and which use little (crossword puzzle) so they could adjust their behavior and/or try to get developers to improve the applications that are needlessly wasteful?

            • by Nutria ( 679911 )

              Users will just hit the "turbo" button all the time because non-instantaneous is too slow. This both defeats the purpose (since everything will run at turbo) and will annoy the user (when "turbo" isn't fast enough).

              IOW, you think the Stanford researchers are placing too much faith in the intelligence of the Great Unwashed?

          • by Jurily ( 900488 )

            It was a toggle button, so it would slow or speed the CPU depending on it's state when you pushed the button. Of course, few wanted to run in "normal" speed unless they had to.

            Not quite. The one I had had a distinct "on" state, which slowed the CPU, and an "off" state, which let the CPU run normally, i.e. fast.

            The users still want to get things done as fast as possible, and they're right, because they're the users. However they can't be bothered to press a battery saver button anymore, and they're right again, because it can be automated.

            The last time I bothered to turn my MP3 player off was last summer, I think.

    • Re:Umm (Score:5, Informative)

      by causality ( 777677 ) on Wednesday April 15, 2009 @04:48PM (#27591623)

      include a button to boost the energy allocated to that application

      I thought the chip gets the power, not the application. Am I reading this right?

      The application is intangible, non-material information in the form of ones and zeroes. It's not possible to apply electrical power to it. Therefore, "more power to slow apps" or "boost the energy allocated to that application" should be understood as an expression meaning that there is more energy given to the chips/hardware that is running the application in question.

      The article is very light on details, but I take it the idea is that more power would translate to higher clock frequencies or higher data throughput and the like. The article also fails to mention whether this mobile OS is capable of multitasking. If it is, then presumably the power settings for a given application would apply to the timeslices during which it is running.

      • by hdon ( 1104251 )

        The article is very light on details, but I take it the idea is that more power would translate to higher clock frequencies or higher data throughput and the like.

        I think an easier approach is for the scheduler to query the battery power before and after each task gets its shot at CPU time. If an application is using more than its power allocation, simply schedule it shorter and/or fewer turns on the CPU.

        The article also fails to mention whether this mobile OS is capable of multitasking. If it is, then presumably the power settings for a given application would apply to the timeslices during which it is running.

        There are two pages to the article, and it's quite clear that it supports some form of multitasking.

    • by Vanders ( 110092 )
      If the CPU clock is under software control then I could see that would be possible create a scheduler that would dynamically alter the clock speed as each process was scheduled.
      • by Jurily ( 900488 )

        If the CPU clock is under software control then I could see that would be possible create a scheduler that would dynamically alter the clock speed as each process was scheduled.

        And how is that news? Even Vista can do that.

        • by Vanders ( 110092 )
          I never said it was. I was just providing an explanation of the mysterious feature mentioned in the article.
  • Geek Phone? (Score:5, Insightful)

    by Manip ( 656104 ) on Wednesday April 15, 2009 @04:43PM (#27591573)

    ... So you know what people say about academics being out-of-touch? ...

    This article is the perfect example of that. The fact that they think any real person will use or understand a "sandbox mode" is just laughable.

    The power boost button is just offloading what the OS should be doing behind the scenes onto the user to rarely get used by most of its users.

    Security is insanely easy to solve on a phone...
    1) Build a Java VM for 3rd party Apps
    2) Limit its API scope
    3) Win.

    • Re: (Score:2, Insightful)

      by cigawoot ( 1242378 )
      Ain't this the apple approach? Build an OS, limit 3d party access to the API. Of course, minus the app store.
      • by Tweenk ( 1274968 )

        More like the Android approach...

      • by Threni ( 635302 )

        Apple's approach is to limit stuff to people prepared to pay well over the odds for hardware. Sure, iPods are popular, but I don't know any non-nerds with a Mac.

        • Apple's approach is to limit stuff to people prepared to pay well over the odds for hardware. Sure, iPods are popular, but I don't know any non-nerds with a Mac.

          The only people I know with a mac are non-nerds ... who got fed up with Windows and wanted something that "just works".

    • The fact that they think any real person will use or understand a "sandbox mode" is just laughable.

      Their intended audience may not have been the average Joe Sixpack. Even if Joe Sixpack was their intended audience, maybe they think any real person who can see their online article has Internet access. Further, maybe they think that any real person who has Internet access can use Google or Wikipedia to find out what is meant by "sandbox". I'd really like to know what is so unreasonable about this.

      I act

    • The power boost button is just offloading what the OS should be doing behind the scenes onto the user to rarely get used by most of its users.

      So is this like the old 386 boxes that had a Turbo button on the front?

      I'm trying to imagine any useful scenario at all. If there's work to do, do it at maximum MHZ. If there's nothing to do, stop and wait for an interrupt. What do you need a button for? Maybe they do not grasp the concept of an event-driven system?

      • by tlhIngan ( 30335 )

        I'm trying to imagine any useful scenario at all. If there's work to do, do it at maximum MHZ. If there's nothing to do, stop and wait for an interrupt. What do you need a button for? Maybe they do not grasp the concept of an event-driven system?

        Except, you may not want to run it at maximum speed. Modern CPUs do what's called "dynamic frequency & voltage scaling" (aka DVFS). When you slow down the CPU, you undervolt the CPU as well, which saves power. If you're processing something, you want to run the

    • About the "sandbox mode", you are laughably out of touch. It's all how you sell it, and implement it.
      For one, you could make it impossible to run anything external without the sandbox mode.
      Second, you sell them a dream where they are free from $fears[] and live in milk and honey because of this thing (that they can't turn off).
      And you got something that sells.

      Nowadays the product is not important. You sell dreams. Or do you see any other reason why people would buy overpriced devices that are poor on featur

    • ... So you know what people say about geeks being arrogant?

      That pose is a perfect example of this. The fact that you think if a person understands what a "sandbox mode" is means they aren't a real person, is just laughable.

      Seriously. All it takes is one good add campaign and a catch slogan, and presto, user-education problem solved. Name 'sandbox mode something catchy and hip, associate the use of it with your brand, and presto, at once you both differentiate yourself from your competitors, and are able to

      • I think the real problem is that users shouldn't have to think about a 'sandbox mode'. If it's more secure and allows the applications they want to run to be run, then it should be the default and everything should be run in the sandbox. If some applications won't work in the sandbox, then most legitimate apps will probably request full rights because the developers can't be bothered working out what access is actually needed, and all the illegitimate apps will request full rights and the user will grant it

      • Yes, indeed. What we need is a non-threatening name that will take the curse of the tech thing. Something suggesting playfulness. Something with the innocence of childhood. Something that kiddies play in.

        I know

        The Sandbox

    • Did you mean 3. ??? 4. Profit ?
    • The power boost button is just offloading what the OS should be doing behind the scenes onto the user to rarely get used by most of its users.

      Except that you didn't read the article, did you? The article describes this in considerably more detail than the slashdot summary, discussing several scenarios in which user involvement in power management makes sense.

      • Except that you didn't read the article, did you? The article describes this in considerably more detail than the slashdot summary, discussing several scenarios in which user involvement in power management makes sense.

        Exactly.

        These Go To Eleven. [http://www.youtube.com/watch?v=d54UU-fPIsY] (1:20)

    • by wasabii ( 693236 )
      Or do what the G1 does... use normal OS security between apps. The G1 just uses a different Unix UID per app. You can already run native code on it (with the caveat that you have to distribute said native code wrapped in Java stuff so the phone can be persuaded to run it.) G1 apps can actually spawn bash. That's how Terminal.apk works. The Terminal app actually has it's own UID, and it just forks() a copy of bash. Of course, that bash is limited to the Terminal UID: app_XX or something. The idea of a UID
    • by mcrbids ( 148650 )

      Security is insanely easy to solve on a phone...
      1) Build a Java VM for 3rd party Apps
      2) Limit its API scope
      3) Win.

      Sure. I wrote a Java VM last week, and it was perfectly secure! Err...

      Saying something idiotic like "Just write a secure VM!" is somewhat akin to "Just build a car that goes 200 miles on a gallon of gas!" or "Just build a supersonic space-plane!" - yeah, they can be done, and maybe even done well. But never for cheap, and never easy.

      But hey, you know what's even harder than writing a secure VM?

    • by lxs ( 131946 )

      "This article is the perfect example of that. The fact that they think any real person will use or understand a "sandbox mode" is just laughable."

      I both understand and welcome a sandbox mode in phones, and I marvel at the technology they use to produce tiny buckets and spades.

  • Correct me if I'm wrong but, they just reinvented 'nice'?

    • Correct me if I'm wrong but, they just reinvented 'nice'?

      If I understand this correctly, it differs from "nice" (and its variants like "renice") in one important way. On a *nix system, you can use nice to run a process at a very low priority. However, if no other processes are contending for CPU time, that low-priority process can still use 100% CPU. Thus, nice is a method of resource allocation but it is not a way to conserve that resource.

      Now, if you could use nice to prevent a process from ever consuming more than X% CPU, then it would be an analogy.

  • Lol sounds they are trying to recreate the gimmick boost buttons used on PCs ages ago.
    • Re: (Score:1, Insightful)

      by Anonymous Coward

      btw: the 'gimmick' turbo button was not actually a gimmick. Some games programmed for early systems depended on the processor maintaining a particular speed (lets call it 'x') in order for it to run at the correct pace.

      So when new computers came out that were faster than 'x' they added a turbo button. No turbo button pressed and the computer goes 'x' speed. With it pressed it can then go full speed.

      Good job!

      • Still a gimmick no matter how you want to paint it... a combination of marketing koolade and running a processor at less than its capable of. Minus the overclocking.
        • I'm not sure you understand his post. Without the turbo button a great many games (and other types of applications) would run so fast as to be completely unusable. Imagine Pacman at 100x the speed for example. By pressing the turbo button and effectively underclocking the CPU you could run those applications much closer to their correct speed.

          • You're saying that people wrote software with event timing based on the fact that the computer it ran on would never be any faster? How sad. I hope they were put down humanely.
            • Yes, it's really sad when early game programmers maximized performance by using careful timing. Most game developers who didn't do this could be sure their game would run fine in turbo mode - even if it ran significantly slower than the precise timing games in non-turbo mode.

  • Battery life? (Score:3, Insightful)

    by jason4567 ( 1531635 ) on Wednesday April 15, 2009 @05:02PM (#27591781)
    It seems to me that running anything at a higher speed will kill the battery life. There are almost no reasons to do this anyway, since things are already fast enough on an iPhone or Android based systems already.
    • Actually, everything that's 'slow' on my G1 (AndroidPhone to you ACs) is about the network. The phone itself can handle 3G data fine. It renders as fast as my old PIII, which si good enough for something I carry in my shirt pocket.

      And I would give this a whirl for the fun of it...

  • RENICE(1) BSD General Commands Manual RENICE(1)

    NAME
    renice - alter priority of running processes ...
    DESCRIPTION
    Renice alters the scheduling priority of one or more running processes. The following who parameters are interpreted as process ID's, process
    group ID's, or user names. Renice'ing a process group causes all processes in the process group to have their scheduling priority altered.

  • nice java (Score:3, Interesting)

    by Doc Ruby ( 173196 ) on Wednesday April 15, 2009 @05:22PM (#27591973) Homepage Journal

    I don't see why these "cinder" features can't be delivered by realtime UI to nice [netadmintools.com] and with a Java sandbox. In other words, Android or any other Linux phoneOS, with a little tweak wiring top [netadmintools.com] to nice, and a Java VM. App running slow, crank out the "nice" level, and it will suck more juice as it runs faster than the other apps left out of the juice rotation. Put the UI in terms of power instead of CPU, and you're groovy.

    • by mevets ( 322601 )

      The article didn't contain much info, but there could be much more to it than that. One avenue is analogous to the "imprecise results" that were fashionable in realtime papers in the early 90s. The idea is that some classes of tasks could operate in a degraded mode, typically less accurate or of lower quality than desired. If the system load was high, and the value of the accuracy of a given task was low, it could be told to lower its quality to reduce system load. In the power variant, the applicati

  • The GNU/Cinder system, based on GNU/HiStar, right?

    Aren't we supposed to add "GNU/" to the beginning of all OS project names that use gcc to compile or release under the GPL?

    • No - the GNU/ refers to the fact the suite of applications that come with the operating system are from the GNU project - that includes all the "standard" applications like a bash shell etc.

    • I think (not certain) that the reason you should prefix GNU to Linux is that Linux typically includes the entire GNU toolset to form an OS. The Linux kernel by itself is just a kernel. The Linux kernel with the GNU toolset is an actual OS, which is what most people are talking about. A program compiled with GCC though is just a program compiled with GCC.

  • ...one could implement the same feature by detecting violent shake or hitting against the wall using accelerometer.
  • I've never used the G1 or android.

    But I know that android is linux based, which makes me wonder, could someone just write an app that would renice processes on a G1?

    Just wondering.
  • Comment removed based on user account deletion
    • Someone took their cynical grumpy pills. :( Yes, the university department saw some niche to explore that was lacking in existing systems.

      1. It's a Research OS. Universities often design new platforms to explore ideas outside the box, without the baggage of a traditional environment. In this case, power management.
      2. There's no mention in the article what software stack would run on top of the OS. What if they ported Android but with a 15% power reduction on what Google shipped?
      3. There's no hint a phone pr

  • I thought it was usually worthwhile to run the CPU at full speed if there's work to do: it uses more power, but computations go faster, too. Conversely, a low clock works with a lower voltage, but will take much longer. I guess it depends on how power usage scales with computational speed. On the one there certainly is a lot of power overhead when running a CPU at low speed vs having it sleeping. On the other hand I dimly remember that the required voltage raises quadratically with the CPU clock. Come to th

  • the unofficial name for a phone based on this OS will be the 'cinderblock'.
  • What would really be great is if they would add this idea to desktop computers. Most of my DOS applications on my 80286 run just fine at the XT-compatible 4.77MHz CPU clock speed, but once in a while I think I'd really benefit if I could crank that up to 12 (or dare I dream, 16?) MHz...

  • So they've included a widget to set the nice level, and it runs java (or similar) apps. News at 11....

In the long run, every program becomes rococco, and then rubble. -- Alan Perlis

Working...