Success!

Discussion in 'OT Technology' started by deusexaethera, Mar 15, 2006.

  1. deusexaethera

    deusexaethera OT Supporter

    Joined:
    Jan 27, 2005
    Messages:
    19,712
    Likes Received:
    0
    You may recall a couple of weeks ago I asked around for a program that could let me control CPU access and time allocation for all the processes running on my computer. (Or you may have a life and don't bother to take note of every post I make, either way...) After it became clear that there was no such program, except for a half-baked utility by Tom's Hardware that didn't really fit the bill all that well, I decided to make my own utility if I could. I have done so.

    First and and most importantly, it's pretty. Not World-of-Warcraft pretty, but at least prettier than the Tom's Hardware utility.

    Second, it controls BOTH process priority and CPU masking in realtime, meaning you can reallocate CPU power at whim, and it reapplies those same settings when a process ends and restarts.

    Third, it can save separate scheduler profiles for recall at a later time, so you don't lose your usual settings when you have to make a temporary change.

    Fourth (and here is the feature I had really wanted but nothing else could offer), it provides the ability to set aside certain CPUs as being exclusively-allocated to certain processes. When a process with exclusive CPU access is started, the utility will automatically shift all other processes out of the way, and then redistribute them to the exclusively-allocated CPU when the VIP process quits.

    Also important for a program that idles away in the System Tray, it uses almost no CPU power to do its job. Having it running for almost six hours, I see that it's used only ~5 seconds of CPU time.

    I've already discovered this to be wonderful when using heavy-duty digital mapping software, and I imagine it would make other tasks like movie-rendering more stable without getting in the way of doing other things like web-surfing or instant-messaging. In fact, VIP processes perform even better than I expected when given exclusive CPU access, because the CPU doesn't have to dump the VIP process' code out of its cache memory as often.

    I'll post screenshots when I get time at work. My home computer is single-CPU, and I haven't ordered my dual-core laptop yet. There's no point in posting screenshots of single-CPU access and time allocation.

    EDIT: I don't know what capabilities Fedora, Debian, BSD, UNIX, etc. have. I do know that this program expands upon what Windows provides out of the box, hence the reason for my having spent three weeks developing it and writing a user's guide.
     
    Last edited: Mar 22, 2006
  2. JaJae

    JaJae New Member

    Joined:
    Mar 22, 2004
    Messages:
    5,987
    Likes Received:
    0
    congrats
     
  3. deusexaethera

    deusexaethera OT Supporter

    Joined:
    Jan 27, 2005
    Messages:
    19,712
    Likes Received:
    0
    Screenshots, as promised:

    [​IMG]

    This is the Settings tab, where all the programs that the scheduler has ever encountered are listed along with their preferences for CPU access and process priority. Green boxes allow CPU access, grey boxes deny CPU access, and yellow boxes allow exclusive CPU access. Priority settings are changed via a right-click popup menu, and settings can be deleted altogether by right-clicking on the program name.

    - - -

    [​IMG]

    This is the Processes tab, where all of the programs that the user is currently running are listed. Note that the one program with exclusive access to CPU #1 has caused all the other programs to get bumped out of the way. If this exclusive program weren't running, the other programs would be using both CPUs by default.

    - - -

    [​IMG]

    Since the scheduler has to run constantly in order to automatically change the settings for programs that have just started, it was important to make the scheduler as unobtrusive as possible. I learned how to create tray icons specifically for this project, and you can see the scheduler's icon all the way to the left of the tray. It can be restored to normal mode by double-clicking the icon, and a full menu of options pops up when the icon is right-clicked.

    - - -

    The Windows Vista look is courtesy of WindowBlinds 5.0 by StarDock, Inc.
     
  4. MR.6690

    MR.6690 New Member

    Joined:
    Jan 16, 2006
    Messages:
    7,436
    Likes Received:
    0
    Location:
    Boston
    so, where can we download it?
     
  5. deusexaethera

    deusexaethera OT Supporter

    Joined:
    Jan 27, 2005
    Messages:
    19,712
    Likes Received:
    0
    I haven't figured out how to post it online yet. For all of my desktop programming know-how, I'm atrociously non-web-savvy. Suggestions?
     
  6. twinturboteddy

    twinturboteddy Bling Bling!

    Joined:
    Jul 3, 2000
    Messages:
    1,056
    Likes Received:
    0
    Location:
    San Gabriel, Ca, USA
    Dood,

    You are a certified geek.
    :wavey:
     
  7. Peyomp

    Peyomp New Member

    Joined:
    Jan 11, 2002
    Messages:
    14,017
    Likes Received:
    0
    Can't you do this in process manager?
     
  8. deusexaethera

    deusexaethera OT Supporter

    Joined:
    Jan 27, 2005
    Messages:
    19,712
    Likes Received:
    0
    You mean Task Manager? Yes, you can change the CPU allocation and the process priority (my tool also uses the standard Windows APIs to do its job), but Task Manager doesn't save the settings, and so it doesn't reapply them when you close a program and then open it again later. It also doesn't save whole groups of program settings and allow you to switch between them whenever you like.

    And there is no standard Windows API that will automatically rearrange CPU allocation to give heavyweight programs exclusive access to whatever CPUs you tell it to. My code does all of that rearranging by itself. It wasn't too terribly complicated, but it was fun figuring out how to efficiently calculate which processes needed to be moved and which processes had to be left where they were because they only had 1 CPU to run on to begin with.
     
  9. deusexaethera

    deusexaethera OT Supporter

    Joined:
    Jan 27, 2005
    Messages:
    19,712
    Likes Received:
    0
    (grin) I've been a uncertified geek for a long time now. Thanks for the street cred.
     
  10. Grelmar

    Grelmar New Member

    Joined:
    Jan 25, 2006
    Messages:
    88
    Likes Received:
    0
    Location:
    Calgary, Alberta, Great White North
    Get that online, post it to Digg, and watch the hosting server melt under the load.

    Sweet app.
     
  11. deusexaethera

    deusexaethera OT Supporter

    Joined:
    Jan 27, 2005
    Messages:
    19,712
    Likes Received:
    0
    I'm unfamiliar with Digg. What is it?

    As for the app, I'm still massaging it a bit. Cutting down the memory size, weeding out unneccessary list-refreshes, adding (more) error traps, and the like. I'd hate to have someone DL it and not be able to use it because of some unlikely problem.
     
  12. Grelmar

    Grelmar New Member

    Joined:
    Jan 25, 2006
    Messages:
    88
    Likes Received:
    0
    Location:
    Calgary, Alberta, Great White North
    Digg is a social bookmarking site. the more people like what you do, the closer you get to the front page. You get to the front page, the traffic it generates will whipe out a server as fast as getting slash-dotted.
     
  13. deusexaethera

    deusexaethera OT Supporter

    Joined:
    Jan 27, 2005
    Messages:
    19,712
    Likes Received:
    0
    (imagines seeing his name spelled out in router-overload lights)

    The app is almost ready. I'm trying to add a function to automatically launch/terminate other processes when one program ends. The reason? Those pesky tray icons that programs like Acrobat and MSOffice leave behind after you use them. Oh, and I need to write a user manual. Not terribly long, but tedious anyway.
     
  14. Grelmar

    Grelmar New Member

    Joined:
    Jan 25, 2006
    Messages:
    88
    Likes Received:
    0
    Location:
    Calgary, Alberta, Great White North
    I.M. me. Someone else here mentioned loaning you some server space. I'd be happy to give you a DIGG when you get it ready.

    Just dropped an e-mail to inquire if I can get you some server space to help launch it. No guarantees there, but this looks neat enough that it would be worthwhile to help you get it out in the world.
     
  15. Penguin Man

    Penguin Man Protect Your Digital Liberties

    Joined:
    Apr 27, 2002
    Messages:
    21,696
    Likes Received:
    0
    Location:
    Edmonton, AB
    Open-source it and make it a project on SourceForge. Then other people can contribute to it and make it better, and you have an easy and free place to host it.
     
  16. Grelmar

    Grelmar New Member

    Joined:
    Jan 25, 2006
    Messages:
    88
    Likes Received:
    0
    Location:
    Calgary, Alberta, Great White North
    Agree with Penguin Man.

    But, if you decide to go another route, would be willing to help you with hosting the file. Got a response to that e-mail, and can make hosting available to you.
     
  17. 4W4K3

    4W4K3 New Member

    Joined:
    Dec 31, 2004
    Messages:
    5,108
    Likes Received:
    0
    Location:
    TX
    Sounds awesome, like a re-vamped Task Manager that actually serves a purpose :p Congrats
     
  18. HardTech

    HardTech hungry

    Joined:
    May 5, 2000
    Messages:
    28,103
    Likes Received:
    1
    Location:
    NorCal
    what language did you use to program that in?
     
  19. Supernaut

    Supernaut New Member

    Joined:
    May 20, 2003
    Messages:
    8,047
    Likes Received:
    0
    As an ArcMap user I must have this utility. :eek5:
     
  20. keleko

    keleko yes, he is

    Joined:
    May 22, 2005
    Messages:
    28,741
    Likes Received:
    0
    Location:
    lauderhill, fl
    IN for link

    love to tell all my services and apps to stfu so i can give more to my games
     
  21. Supernaut

    Supernaut New Member

    Joined:
    May 20, 2003
    Messages:
    8,047
    Likes Received:
    0
    Oh and I can spare about 2TB of bandwidth a month for hosting when the time comes.
     
  22. P07r0457

    P07r0457 New Member

    Joined:
    Sep 20, 2004
    Messages:
    28,491
    Likes Received:
    0
    Location:
    Southern Oregon
    doesn't "taskmgr" which is bundled with windows, do the same thing, already?
     
  23. colosodian

    colosodian Next Gen

    Joined:
    Oct 16, 2004
    Messages:
    1,110
    Likes Received:
    0
    Location:
    SF Bay
    looks very well done, unfortunatly I dont have a dual-core cpu to utilize this.
     
  24. keleko

    keleko yes, he is

    Joined:
    May 22, 2005
    Messages:
    28,741
    Likes Received:
    0
    Location:
    lauderhill, fl
    ahhhhh FFS!

    gimmie the file and i'll host it right here at home until you find something better
     
  25. deusexaethera

    deusexaethera OT Supporter

    Joined:
    Jan 27, 2005
    Messages:
    19,712
    Likes Received:
    0
    I'll get it out as soon as I can. I'm still trying to find time to write a user guide. Not that it's that complicated, but I'm a software engineer, so there's a bit of pride and respectability at stake here.

    Speaking of which, I just fixed a bug that made it not recognize multiple instances of programs. (grin) Tends to work better when comparing by Process ID# instead of by filename.
     

Share This Page