Index | Recent Threads | Unanswered Threads | Who's Active | Guidelines | Search |
![]() |
World Community Grid Forums
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
No member browsing this thread |
Thread Status: Active Total posts in this thread: 18
|
![]() |
Author |
|
drekidd
Cruncher Joined: Dec 21, 2005 Post Count: 13 Status: Offline Project Badges: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Yes: boinctray.exe, boincmgr.exe, boinc.exe are all running.
Running in memory as in they are listed in the process list and are consuming the aforementioned amount of RAM. I have WCG tasks running too but when suspended they are not currently loaded in memory, just the rosetta process (at this time ofcourse). I think you make a good point: the basics covered in previous posts do not match my scenario, hence my post. |
||
|
Sekerob
Ace Cruncher Joined: Jul 24, 2005 Post Count: 20043 Status: Offline |
Cant help you with minirosetta... that needs answering over at Rosetta@home.
----------------------------------------Maybe brainjam on "'do not run in memory whilst suspended'. The text at WCG is: "Memory Usage: Leave applications in memory while preempted? Yes/Noand at Rosetta: Leave applications in memory while suspended? If the local preferences were cleared, then the web preferences last changes, regardless of project will take effect. I'm stumped why it's not unloading per preferences. Edit: PS: When the OS can, it will offload whole or part of the science app/work unit progress files onto disk space... whole or part remove them from RAM when the process is suspended.
WCG
----------------------------------------Please help to make the Forums an enjoyable experience for All! [Edit 1 times, last edit by Sekerob at Jun 28, 2010 12:36:13 PM] |
||
|
JmBoullier
Former Community Advisor Normandy - France Joined: Jan 26, 2007 Post Count: 3715 Status: Offline Project Badges: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
drekidd,
----------------------------------------Suspending applications (for whatever reasons) allows the operating system (OS) to recover resources used by them for what you are doing. In all cases the application is immediately stopped and will not use any more processor cycles. Regarding RAM usage it depends on the LAIM (Leave Applications In Memory...) setting. If LAIM is OFF the OS will completely kill the application, RAM will be immediately recovered as well as the associated space in the swap file, and therefore when you resume the application will restart fresh from the latest checkpoint, which may be long before where it was when it was suspended (it depends on which application was running). If LAIM is ON (checked) the application is only stopped and the corresponding RAM is eligible for being reused by the OS if needed. In all cases it will still be visible in the list of processes and when the application is resumed it will go on at the next instruction without losing any work. Whether the RAM is really re-used or not depends on if the OS needs it or not. If you have more RAM than needed it will stay there ready for an immediate resume. If the machine is short in RAM the OS will probably re-use it and the OS will have to reload it from the swap file before executing the next instruction of the application. Personally I would advise to uncheck the LAIM box only if the machine is short on swap file and to make sure that your suspend settings don't cause the status to change frequently. Otherwise you will waste application runtime for no real benefit in the first case, and in the latter one you will cause more OS overhead than you will save. Not mentioning that the application will not progress at all if you have LAIM OFF. ![]() |
||
|
Ingleside
Veteran Cruncher Norway Joined: Nov 19, 2005 Post Count: 974 Status: Offline Project Badges: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Hello.. I found that even after setting these values I still, intermittently, get the applications running in memory. Example: as we speak I am clearly using the keyboard (!), BOINC says ALL tasks are suspended (user active), and yet the minirosetta process is running in memory (416MB RAM thank-you) and I checked the client and Rosetta website settings and they are both saying 'do not run in memory whilst suspended'. This has happened with the WCG applications too, but I have not been able to document or reproduce it. I don't have time to chase & investigate this, so this is FYI I guess.. Even if "Leave in memory" is off, BOINC will keep a CPU-task in memory if it haven't checkpointed yet. This is to guard against situations there a task will run for some minutes, be suspended due to user active and removed from memory, for so re-starting at zero again, something that can continue until the task is killed due to 100 times re-start with no progress. Since Rosetta@home can use fairly long time between checkpoints, chances are you'll see this behaviour more frequently with Rosetta@home than with WCG, but not all WCG-projects checkpoints as frequently so it also depends on which WCG-project you're running. In case you're starting to hit the memory-limits on the other hand, it can still remove from memory, even if haven't checkpointed, and even if "Leave in memory" is on. Also, GPU-tasks will always be removed from memory on suspension, except during benchmark. ![]() "I make so many mistakes. But then just think of all the mistakes I don't make, although I might." |
||
|
drekidd
Cruncher Joined: Dec 21, 2005 Post Count: 13 Status: Offline Project Badges: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Thanks, much Ingleside.
That's a revelation and a half! Seem's strange to me that we set an option for the task to write to disc every x seconds, and yet it's still held in memory. by your description, one would think that it wouldn't happen often, but as I write this, I can see my Rosetta task is the current task, and yet again it's running, consuming 70MB of memory (but seemingly 0% CPU as you infer). I think one of the main reason people set options as I have (and why they were created?) is so that when they use their system, they're resources aren't being consumed by process's that should be suspended. I'm thinking a change is needed as Rosetta seems to be running in memory more than it's not, whilst suspended.. But I'll leave that for others to worry about.. Thank you all for your contributions, once again. DHD |
||
|
Sekerob
Ace Cruncher Joined: Jul 24, 2005 Post Count: 20043 Status: Offline |
The write to disk are checkpoints, so when things go bad, the task can recover without much loss. The client itself is not really aware of this, it merely sets a parm (default 60 seconds), to allow a write, but those writes can be even hours apart.
----------------------------------------For clarity 'Run' is when the task is executing i.e. uses CPU time. The OS holds many processes in memory for instant running as else the experience would be of substantial slowness when it had to pull the function/data from disk [W7 and Linux are good at doing this... why else have 4-6-8GB RAM]. As explained the steady state holding [Left in memory when suspended, though not set in the preferences] can be for a number of reasons, to include the instant switching to another task that needs high priority processing to meet the deadline. ** What rosetta@home does I don't know currently... can be discussed there if you wish. ** Maybe not after the first checkpoint, but it would hurt if said checkpoints were hours apart and the switching happens somewhere half way.
WCG
----------------------------------------Please help to make the Forums an enjoyable experience for All! [Edit 1 times, last edit by Sekerob at Jun 29, 2010 2:49:26 PM] |
||
|
Ingleside
Veteran Cruncher Norway Joined: Nov 19, 2005 Post Count: 974 Status: Offline Project Badges: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Thanks, much Ingleside. That's a revelation and a half! Seem's strange to me that we set an option for the task to write to disc every x seconds, and yet it's still held in memory. by your description, one would think that it wouldn't happen often, but as I write this, I can see my Rosetta task is the current task, and yet again it's running, consuming 70MB of memory (but seemingly 0% CPU as you infer). "Tasks checkpoint to disk at most every N seconds" shows the minimum allowed time between checkpoints, but it doesn't mean an application can checkpoint at the point it is. The possibility of checkpoint can be looked as various methods of transport: 1: Taxi: A taxi can more or less stop immediately. 2: Bus: A bus will only stop on a bus-stop, so it will take some time between each possible stop-point. 3: Local train: Will only stop on train-stations, will take some time between each possible stop-point, generally longer time than for bus between possible stops. 4: Express-train: Only stops at large train-stations, ocassionally doesn't stop at all between start and end-stations. A couple BOINC-projects applications can be looked at as "Taxi" as far as checkpointing goes, these can basically checkpoint each second, even it's not recommended to checkpoint so frequently. Many projects, WCG-projects is among these, is either a "Bus" or "local train", so can checkpoint every 1 - 10 minutes. And, a couple projects can be looked as "Express-train", there it's 10 min or longer, possibly 1 hour or longer, between checkpoints. Rosetta@home is in this group. Just like you can't jump-off the express-train between stations, the applications can't checkpoint every minute, even the preference-setting is set to 1 minute. The preference still has it's meaning, since if you're sitting on a bus and there's no other passengers on the bus, the bus doesn't need to stop on every bus-stop, but can continue driving until your bus-stop. This "not stopping on every bus-stop" equals changing the preference from checkpointing every minute to every 10 minutes or something. If you're sitting on the "express-train" on the other hand, changing between 1 and 10 minutes doesn't have any effects. ![]() "I make so many mistakes. But then just think of all the mistakes I don't make, although I might." |
||
|
drekidd
Cruncher Joined: Dec 21, 2005 Post Count: 13 Status: Offline Project Badges: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
:o)
I hear and understand what you're saying, and appreciate the explanation (but I worked out the check-point thing from what was said) but I think we need to always see the bigger picture: users should never need to figure this stuff out. The fact that you're writing this here, to me and a few other users (I doubt everyone who uses BOINC will see this thread as they install, or ever :) ), means that the application settings and information page is not expressing the full description of the functionality. Analogous to a car: no matter which car you drive, by any manufacturer, anywhere in the world, you never end up in a situation where you're car is in motion and your brake doesn't work because of some "undocumented feature".. infact, cars that do break the mould and works against a paradigm (e.g. keyless starts) fully document this, the dealer explains it, and the dashboard/instruments/HUD flashes this information to the user. Clearly, time could and would have been saved all-round if the caveats were documented and presented to the user.. that-said, I believe this checkpoint issue is a separate issue from the first one in this thread (rosetta/other boinc projects using separate settings to WCG, and any other revelations thus far!) Again, I'll leave that for others to think about, and I thank you all (again) for your time and explanation. |
||
|
|
![]() |